diff --git a/Dockerfile b/Dockerfile index bcecba6..96d03bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,7 +39,7 @@ RUN apt update && apt install --yes \ apt purge --auto-remove -y curl && \ rm -rf /var/lib/apt/lists/* && \ rm /etc/apt/sources.list.d/google.list -ADD chrome/local.conf /etc/fonts/local.conf +ADD config/chrome/local.conf /etc/fonts/local.conf # Add user to groups required to run chrome RUN groupadd --system chrome && \ @@ -81,6 +81,9 @@ RUN echo 'wifi=wicd-curses' >> $HOME/.zshenv RUN echo 'keychain $HOME/.ssh/id_rsa >/dev/null 2>&1' >> $HOME/.zshenv RUN echo 'source $HOME/.keychain/$(hostname)-sh' >> $HOME/.zshenv +# Add custom binaries +COPY bin /usr/local + # Remove root ownership of all files under non-root user directory RUN chown -R $USER:$USER $HOME diff --git a/bin/chrome.sh b/bin/chrome.sh new file mode 100755 index 0000000..d57d4c6 --- /dev/null +++ b/bin/chrome.sh @@ -0,0 +1,2 @@ +cd /tmp +nohup google-chrome & diff --git a/chrome/chrome.json b/config/chrome/chrome.json similarity index 100% rename from chrome/chrome.json rename to config/chrome/chrome.json diff --git a/chrome/local.conf b/config/chrome/local.conf similarity index 100% rename from chrome/local.conf rename to config/chrome/local.conf diff --git a/scripts/build.sh b/scripts/build.sh index e4ce45f..134eaaf 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1 +1,3 @@ -docker build -t sabrehagen/development-environment:latest $(realpath $0) \ No newline at end of file +REPO_ROOT=$(dirname $(realpath $0))/.. + +docker build -t sabrehagen/development-environment:latest $REPO_ROOT \ No newline at end of file diff --git a/scripts/chrome.sh b/scripts/chrome.sh deleted file mode 100755 index 627229f..0000000 --- a/scripts/chrome.sh +++ /dev/null @@ -1 +0,0 @@ -sh $(dirname $0)/shell.sh chrome --user-data-dir=/jackson/home/.chrome diff --git a/scripts/exec.sh b/scripts/exec.sh new file mode 100755 index 0000000..3a16ad5 --- /dev/null +++ b/scripts/exec.sh @@ -0,0 +1,4 @@ +docker exec \ + --interactive \ + --tty \ + desktop-environment "$@" diff --git a/scripts/restart.sh b/scripts/restart.sh new file mode 100755 index 0000000..3e47e37 --- /dev/null +++ b/scripts/restart.sh @@ -0,0 +1,4 @@ +REPO_ROOT=$(dirname $(realpath $0))/.. + +sh $REPO_ROOT/stop.sh +sh $REPO_ROOT/start.sh diff --git a/scripts/shell.sh b/scripts/shell.sh index 30f7992..71fa693 100755 --- a/scripts/shell.sh +++ b/scripts/shell.sh @@ -1,4 +1,4 @@ docker exec \ --interactive \ --tty \ - desktop-environment zsh "$@" + desktop-environment "${@-zsh}" diff --git a/scripts/daemon.sh b/scripts/start.sh similarity index 81% rename from scripts/daemon.sh rename to scripts/start.sh index f327f25..647029b 100755 --- a/scripts/daemon.sh +++ b/scripts/start.sh @@ -7,17 +7,17 @@ docker run \ --device /dev/video0 \ --device /dev/usb \ --device /dev/bus/usb \ - --env DBUS_SESSION_BUS_ADDRESS \ --env DISPLAY \ - --env SSH_AUTH_SOCK=/ssh-auth.sock \ + --env SSH_AUTH_SOCK \ --env STEMN_GIT_EMAIL="$(git config --get user.email)" \ --env STEMN_GIT_NAME="$(git config --get user.name)" \ --group-add audio \ --group-add video \ --interactive \ --name desktop-environment \ + --net host \ --rm \ - --security-opt seccomp:$REPO_ROOT/chrome/chrome.json \ + --security-opt seccomp:$REPO_ROOT/config/chrome/chrome.json \ --tty \ --volume /dev/shm:/dev/shm \ --volume /etc/localtime:/etc/localtime:ro \ @@ -25,7 +25,7 @@ docker run \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume $HOME/.ssh:$STEMN_HOME/.ssh \ --volume $HOME:/home \ - --volume $SSH_AUTH_SOCK:/ssh-auth.sock \ + --volume $SSH_AUTH_SOCK:$SSH_AUTH_SOCK \ --volume JACKSON_HOME:/jackson/home \ --workdir /home \ sabrehagen/development-environment:latest