From e0ba25ee0d9cf19d0befc7e7bb6a9b7aa0595aea Mon Sep 17 00:00:00 2001 From: Omer Akhter Date: Sun, 17 Jul 2016 22:46:12 +0800 Subject: [PATCH 1/3] setting timezone --- entrypoint.sh | 7 +++++++ scripts/skype-wrapper | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/entrypoint.sh b/entrypoint.sh index 816de10..88cc205 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -32,6 +32,12 @@ create_user() { chown ${SKYPE_USER}:${SKYPE_USER} -R /home/${SKYPE_USER} } +set_timezone() { + [ -z "$TZ_" ] && return + cp -f /usr/share/zoneinfo/$TZ /etc/localtime + dpkg-reconfigure --frontend noninteractive tzdata +} + grant_access_to_video_devices() { for device in /dev/video* do @@ -62,6 +68,7 @@ case "$1" in ;; skype) create_user + set_timezone grant_access_to_video_devices launch_skype $@ ;; diff --git a/scripts/skype-wrapper b/scripts/skype-wrapper index 4a5fa27..56ae3f7 100755 --- a/scripts/skype-wrapper +++ b/scripts/skype-wrapper @@ -47,6 +47,11 @@ prepare_docker_env_parameters() { ENV_VARS+=" --env=DISPLAY" ENV_VARS+=" --env=XAUTHORITY=${XAUTH}" ENV_VARS+=" --env=TZ=$(date +%Z)" + if [ -f /etc/timezone ]; then + ENV_VARS+=" --env=TZ_=$(cat /etc/timezone)" + else + ENV_VARS+=" --env=TZ_=$( readlink -e /etc/localtime | sed -E 's|.*/([^/][^/]*/[^/][^/]*)|\1|' )" + fi } prepare_docker_volume_parameters() { From 41219372686389b0cd7c0c25ace91773c2ae6b46 Mon Sep 17 00:00:00 2001 From: Omer Akhter Date: Sun, 17 Jul 2016 23:11:14 +0800 Subject: [PATCH 2/3] multiple skype --- scripts/skype-wrapper | 45 +++++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/scripts/skype-wrapper b/scripts/skype-wrapper index 56ae3f7..764d2fa 100755 --- a/scripts/skype-wrapper +++ b/scripts/skype-wrapper @@ -20,24 +20,28 @@ fi; list_commands() { echo "" echo "Launch skype using:" - echo " skype OR " - echo " skype-wrapper skype" + echo " skype [profile-name] OR " + echo " skype-wrapper skype [profile-name]" + echo "" + echo "profile-name allows for multiple skype instances. if no profile-name" + echo "is specified, a default profile will be created/used" echo "" exit 1 } cleanup_stopped_skype_instances(){ echo "Cleaning up stopped skype instances..." - for c in $(${SUDO} docker ps -a -q) - do - image="$(${SUDO} docker inspect -f {{.Config.Image}} ${c})" - if [ "${image}" == "sameersbn/skype:latest" ]; then - running=$(${SUDO} docker inspect -f {{.State.Running}} ${c}) - if [ "${running}" = "true" ]; then - ${SUDO} docker stop "${c}" >/dev/null - fi - ${SUDO} docker rm "${c}" >/dev/null - fi + CMD=( ${SUDO} docker ps + --all --quiet + # remove the exited containers only + # this allows for multiple containers + # for different profiles + --filter=status=exited + --filter=ancestor=sameersbn/skype + ) + # echo CMD: ${CMD[@]} + for c in $( ${CMD[@]} ); do + ${DOCKER[@]} rm "${c}" >/dev/null done } @@ -57,12 +61,25 @@ prepare_docker_env_parameters() { prepare_docker_volume_parameters() { touch ${XAUTH} xauth nlist :0 | sed -e 's/^..../ffff/' | xauth -f ${XAUTH} nmerge - - - VOLUMES+=" --volume=${HOME}/.Skype:/home/${SKYPE_USER}/.Skype" + VOLUMES+=" --volume=${DOWNLOAD_DIR}:/home/${SKYPE_USER}/Downloads" VOLUMES+=" --volume=${XSOCK}:${XSOCK}" VOLUMES+=" --volume=${XAUTH}:${XAUTH}" VOLUMES+=" --volume=/run/user/${USER_UID}/pulse:/run/pulse" + + # assume defualt profile + PROFILE=default + + # use specified profile + [ -n "$1" ] && PROFILE=$1 && shift + echo using skype profile $PROFILE + + PROFILE="${HOME}/.skype/${PROFILE}" + + # create the profile directory if it doesn't exist + [ ! -d "${PROFILE}" ] && mkdir -p ${PROFILE} + + VOLUMES+=" --volume=${PROFILE}:/home/${SKYPE_USER}/.Skype" } prepare_docker_device_parameters() { From 4dd1e5bae499c7d39f833cc06b596e4c6c96935c Mon Sep 17 00:00:00 2001 From: rprots Date: Thu, 11 Aug 2016 09:37:46 +0300 Subject: [PATCH 3/3] Revert "multiple skype" This reverts commit 41219372686389b0cd7c0c25ace91773c2ae6b46. --- scripts/skype-wrapper | 45 ++++++++++++++----------------------------- 1 file changed, 14 insertions(+), 31 deletions(-) diff --git a/scripts/skype-wrapper b/scripts/skype-wrapper index 764d2fa..56ae3f7 100755 --- a/scripts/skype-wrapper +++ b/scripts/skype-wrapper @@ -20,28 +20,24 @@ fi; list_commands() { echo "" echo "Launch skype using:" - echo " skype [profile-name] OR " - echo " skype-wrapper skype [profile-name]" - echo "" - echo "profile-name allows for multiple skype instances. if no profile-name" - echo "is specified, a default profile will be created/used" + echo " skype OR " + echo " skype-wrapper skype" echo "" exit 1 } cleanup_stopped_skype_instances(){ echo "Cleaning up stopped skype instances..." - CMD=( ${SUDO} docker ps - --all --quiet - # remove the exited containers only - # this allows for multiple containers - # for different profiles - --filter=status=exited - --filter=ancestor=sameersbn/skype - ) - # echo CMD: ${CMD[@]} - for c in $( ${CMD[@]} ); do - ${DOCKER[@]} rm "${c}" >/dev/null + for c in $(${SUDO} docker ps -a -q) + do + image="$(${SUDO} docker inspect -f {{.Config.Image}} ${c})" + if [ "${image}" == "sameersbn/skype:latest" ]; then + running=$(${SUDO} docker inspect -f {{.State.Running}} ${c}) + if [ "${running}" = "true" ]; then + ${SUDO} docker stop "${c}" >/dev/null + fi + ${SUDO} docker rm "${c}" >/dev/null + fi done } @@ -61,25 +57,12 @@ prepare_docker_env_parameters() { prepare_docker_volume_parameters() { touch ${XAUTH} xauth nlist :0 | sed -e 's/^..../ffff/' | xauth -f ${XAUTH} nmerge - - + + VOLUMES+=" --volume=${HOME}/.Skype:/home/${SKYPE_USER}/.Skype" VOLUMES+=" --volume=${DOWNLOAD_DIR}:/home/${SKYPE_USER}/Downloads" VOLUMES+=" --volume=${XSOCK}:${XSOCK}" VOLUMES+=" --volume=${XAUTH}:${XAUTH}" VOLUMES+=" --volume=/run/user/${USER_UID}/pulse:/run/pulse" - - # assume defualt profile - PROFILE=default - - # use specified profile - [ -n "$1" ] && PROFILE=$1 && shift - echo using skype profile $PROFILE - - PROFILE="${HOME}/.skype/${PROFILE}" - - # create the profile directory if it doesn't exist - [ ! -d "${PROFILE}" ] && mkdir -p ${PROFILE} - - VOLUMES+=" --volume=${PROFILE}:/home/${SKYPE_USER}/.Skype" } prepare_docker_device_parameters() {