From d1b804ad372cf39e4a71333e84f53e2ab08833ac Mon Sep 17 00:00:00 2001 From: Jackson Delahunt Date: Sat, 12 Jan 2019 20:43:08 +1100 Subject: [PATCH] progress --- .tmuxinator.yaml | 51 +++++++++++++++++++++++++++++++++ Dockerfile | 13 +++++++-- bin/chrome | 1 + bin/chrome.sh | 2 -- config/tmuxinator/.desktop.yaml | 10 +++++++ scripts/bootstrap.sh | 13 ++++++++- scripts/build.sh | 2 +- scripts/start.sh | 3 +- scripts/tmux.sh | 4 +++ 9 files changed, 91 insertions(+), 8 deletions(-) create mode 100644 .tmuxinator.yaml create mode 100755 bin/chrome delete mode 100755 bin/chrome.sh create mode 100644 config/tmuxinator/.desktop.yaml create mode 100755 scripts/tmux.sh diff --git a/.tmuxinator.yaml b/.tmuxinator.yaml new file mode 100644 index 0000000..8eb3b4a --- /dev/null +++ b/.tmuxinator.yaml @@ -0,0 +1,51 @@ +name: dashboard +pre_window: export TERRAFORM_TARGET=localhost; clear +root: /stemn/stemn-backend/infrastructure/development-environment + +windows: + - terminal: + layout: tiled + panes: + - yarn logs + - yarn ctop + - cd ../..; clear; source ~/.zshenv + - s-tui + - jest: + layout: main-vertical + panes: + - yarn tmux:test:watch:attach + - yarn logs:jest + - yarn start:mongo:shell + - pipelines: + layout: even-vertical + panes: + - yarn ctop:pipelines + - yarn logs:pipelines:server + - yarn logs:pipelines:containers + - continuous-integration: + layout: tiled + panes: + - yarn logs:abstruse + - yarn ctop:abstruse + - yarn logs:abstruse:containers + - yarn htop + - ingress: + layout: tiled + panes: + - yarn logs:ingress + - frontend: + layout: even-horizontal + panes: + - yarn tmux:build:frontend:website:attach + - yarn tmux:build:frontend:desktop:electron:attach + - yarn tmux:build:frontend:desktop:renderer:attach + - storage: + layout: even-vertical + panes: + - yarn logs:mongodb + - yarn logs:redis + - kubernetes: + layout: even-horizontal + panes: + - yarn tmux:kubebox:attach + - yarn logs:kubernetes diff --git a/Dockerfile b/Dockerfile index 822f505..9f96817 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,8 +58,7 @@ RUN rm /usr/local/bin/sudo # Install operating system utilities RUN apt install --yes \ sudo \ - vcsh \ - wicd-curses + vcsh # Enable password-less sudo for user RUN echo "$USER ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers @@ -73,8 +72,16 @@ RUN git clone https://github.com/sabrehagen/dotfiles-tmux RUN git clone https://github.com/sabrehagen/dotfiles-vcsh RUN git clone https://github.com/sabrehagen/dotfiles-zsh +# Add program configurations +COPY config/tmuxinator/.desktop.yaml $HOME/.tmuxinator/desktop.yaml + # Add custom binaries -COPY bin /usr/local +COPY bin /usr/local/bin + +# Extend existing shell configuration +RUN echo 'cd $HOME/repositories/stemn/stemn-backend' >> $HOME/.zshenv +RUN echo 'export $STEMN_TMUX_SESSION=desktop-environment' >> $HOME/.zshenv +RUN echo 'tmux new-session -d -s $STEMN_TMUX_SESSION tmuxinator desktop' >> $HOME/.zshenv # Remove root ownership of all files under non-root user directory RUN chown -R $USER:$USER $HOME diff --git a/bin/chrome b/bin/chrome new file mode 100755 index 0000000..177dd40 --- /dev/null +++ b/bin/chrome @@ -0,0 +1 @@ +nohup google-chrome >/dev/null & diff --git a/bin/chrome.sh b/bin/chrome.sh deleted file mode 100755 index d57d4c6..0000000 --- a/bin/chrome.sh +++ /dev/null @@ -1,2 +0,0 @@ -cd /tmp -nohup google-chrome & diff --git a/config/tmuxinator/.desktop.yaml b/config/tmuxinator/.desktop.yaml new file mode 100644 index 0000000..097daa7 --- /dev/null +++ b/config/tmuxinator/.desktop.yaml @@ -0,0 +1,10 @@ +name: dashboard +pre_window: clear +root: /jackson/home + +windows: + - terminal: + layout: main-vertical + panes: + - zsh + - zsh diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index f466bfb..568c608 100755 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -1 +1,12 @@ -docker push sabrehagen/development-environment:latest \ No newline at end of file +# Enable password-less sudo for user +echo "$USER ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers + +JACKSON_HOME=/jackson/home +JACKSON_CONFIG_CHROME=$JACKSON_HOME/.config/google-chrome + +docker run \ + --rm \ + --user root \ + --volume $JACKSON_CONFIG_CHROME:$JACKSON_CONFIG_CHROME \ + sabrehagen/desktop-environment:latest \ + chown -R stemn:stemn $JACKSON_CONFIG_CHROME diff --git a/scripts/build.sh b/scripts/build.sh index 134eaaf..d0edfe0 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,3 +1,3 @@ REPO_ROOT=$(dirname $(realpath $0))/.. -docker build -t sabrehagen/development-environment:latest $REPO_ROOT \ No newline at end of file +docker build -t sabrehagen/desktop-environment:latest $REPO_ROOT diff --git a/scripts/start.sh b/scripts/start.sh index a94ec8f..e7b8528 100755 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -32,6 +32,7 @@ docker run \ --volume $HOME/Pictures:$JACKSON_HOME/Pictures \ --volume $HOME/Videos:$JACKSON_HOME/Videos \ --volume ${SSH_AUTH_SOCK-$HOME/.ssh/auth.sock}:$JACKSON_HOME/.ssh/auth.sock \ + --volume JACKSON_CHROME:$JACKSON_HOME/.config/google-chrome \ --volume JACKSON_HOME:$JACKSON_HOME \ --workdir $JACKSON_HOME \ - sabrehagen/development-environment:latest + sabrehagen/desktop-environment:latest diff --git a/scripts/tmux.sh b/scripts/tmux.sh new file mode 100755 index 0000000..71fa693 --- /dev/null +++ b/scripts/tmux.sh @@ -0,0 +1,4 @@ +docker exec \ + --interactive \ + --tty \ + desktop-environment "${@-zsh}"