desktop-environment/scripts/start.sh
Jackson Delahunt 22a7371679 sshdd
2019-02-19 19:53:40 +11:00

65 lines
3.3 KiB
Bash
Executable file

REPO_ROOT=$(dirname $(realpath $0))/..
# Export desktop environment shell configuration
export $($REPO_ROOT/scripts/environment.sh)
docker run \
--cap-add SYS_PTRACE \
--detach \
--device /dev/dri \
--device /dev/snd \
--device /dev/usb \
--device /dev/video0 \
--device /dev/bus/usb \
--env DBUS_SESSION_BUS_ADDRESS \
--env DISPLAY=${DISPLAY-:0} \
--env XAUTHORITY \
--group-add audio \
--group-add docker \
--group-add video \
--hostname $DESKTOP_ENVIRONMENT_CONTAINER-$HOSTNAME \
--interactive \
--name $DESKTOP_ENVIRONMENT_CONTAINER \
--rm \
--security-opt seccomp:$REPO_ROOT/config/chrome/chrome.json \
--tty \
--volume /dev/shm:/dev/shm \
--volume /etc/localtime:/etc/localtime:ro \
--volume /tmp/.X11-unix:/tmp/.X11-unix \
--volume /var/run/dbus:/var/run/dbus \
--volume /var/lib/docker:/var/lib/docker \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume $DESKTOP_ENVIRONMENT_HOME/.config/alacritty:$DESKTOP_ENVIRONMENT_HOME/.config/alacritty \
--volume $DESKTOP_ENVIRONMENT_HOME/Documents:$DESKTOP_ENVIRONMENT_HOME/Documents \
--volume $DESKTOP_ENVIRONMENT_HOME/Downloads:$DESKTOP_ENVIRONMENT_HOME/Downloads \
--volume $DESKTOP_ENVIRONMENT_HOME/Music:$DESKTOP_ENVIRONMENT_HOME/Music \
--volume $DESKTOP_ENVIRONMENT_HOME/notes:$DESKTOP_ENVIRONMENT_HOME/notes \
--volume $DESKTOP_ENVIRONMENT_HOME/Pictures:$DESKTOP_ENVIRONMENT_HOME/Pictures \
--volume $DESKTOP_ENVIRONMENT_HOME/Videos:$DESKTOP_ENVIRONMENT_HOME/Videos \
--volume DESKTOP_ENVIRONMENT_CACHE_CERTIFICATES:$DESKTOP_ENVIRONMENT_CACHE_CERTIFICATES \
--volume DESKTOP_ENVIRONMENT_CACHE_CHROME:$DESKTOP_ENVIRONMENT_CACHE_CHROME \
--volume DESKTOP_ENVIRONMENT_CACHE_CODE:$DESKTOP_ENVIRONMENT_CACHE_CODE \
--volume DESKTOP_ENVIRONMENT_CACHE_JUMP:$DESKTOP_ENVIRONMENT_CACHE_JUMP \
--volume DESKTOP_ENVIRONMENT_CACHE_SSH:$DESKTOP_ENVIRONMENT_CACHE_SSH \
--volume DESKTOP_ENVIRONMENT_CACHE_STEMN:$DESKTOP_ENVIRONMENT_CACHE_STEMN \
--volume DESKTOP_ENVIRONMENT_CACHE_YARN:$DESKTOP_ENVIRONMENT_CACHE_YARN \
--volume DESKTOP_ENVIRONMENT_CACHE_ZOOM:$DESKTOP_ENVIRONMENT_CACHE_ZOOM \
--volume DESKTOP_ENVIRONMENT_CACHE_ZSH:$DESKTOP_ENVIRONMENT_CACHE_ZSH \
--volume DESKTOP_ENVIRONMENT_CONFIG_CHROME:$DESKTOP_ENVIRONMENT_CONFIG_CHROME \
--volume DESKTOP_ENVIRONMENT_CONFIG_CODE:$DESKTOP_ENVIRONMENT_CONFIG_CODE \
--volume DESKTOP_ENVIRONMENT_CONFIG_GITHUB:$DESKTOP_ENVIRONMENT_CONFIG_GITHUB \
--volume DESKTOP_ENVIRONMENT_CONFIG_MUSIKCUBE:$DESKTOP_ENVIRONMENT_CONFIG_MUSIKCUBE \
--volume DESKTOP_ENVIRONMENT_CONFIG_ZOOM:$DESKTOP_ENVIRONMENT_CONFIG_ZOOM \
--volume DESKTOP_ENVIRONMENT_HOME:$DESKTOP_ENVIRONMENT_HOME \
--volume DESKTOP_ENVIRONMENT_REPOSITORIES:$DESKTOP_ENVIRONMENT_REPOSITORIES \
--workdir $DESKTOP_ENVIRONMENT_HOME \
$DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER:latest
# Wait until the desktop environment container is running before proceeding
until docker inspect $DESKTOP_ENVIRONMENT_CONTAINER | grep Status | grep -m 1 running >/dev/null; do sleep 1; done
# Start desktop services
docker exec $DESKTOP_ENVIRONMENT_CONTAINER s6-svc -u /run/s6/services/keychain
docker exec $DESKTOP_ENVIRONMENT_CONTAINER s6-svc -u /run/s6/services/rescuetime
docker exec $DESKTOP_ENVIRONMENT_CONTAINER s6-svc -u /run/s6/services/sshd
docker exec $DESKTOP_ENVIRONMENT_CONTAINER s6-svc -u /run/s6/services/tmux