From 215f951382713172f839b8508b9fd854031066e6 Mon Sep 17 00:00:00 2001 From: Jackson Delahunt Date: Tue, 10 Dec 2019 21:40:24 +1100 Subject: [PATCH] workings --- .../containers/elementary/Dockerfile | 19 ++++++ infrastructure/containers/package.json | 1 + .../docker-compose/stacks/elementary.yaml | 59 +++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 infrastructure/containers/elementary/Dockerfile create mode 100644 infrastructure/docker-compose/stacks/elementary.yaml diff --git a/infrastructure/containers/elementary/Dockerfile b/infrastructure/containers/elementary/Dockerfile new file mode 100644 index 0000000..7bf4f4b --- /dev/null +++ b/infrastructure/containers/elementary/Dockerfile @@ -0,0 +1,19 @@ +FROM cloudnativecomputer/desktop:latest + +# Install elementary desktop environment +RUN sudo touch /etc/apt/sources.list.d/elementary.list && \ + echo 'deb http://ppa.launchpad.net/elementary-os/os-patches/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list.d/elementary.list && \ + echo 'deb-src http://ppa.launchpad.net/elementary-os/os-patches/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list.d/elementary.list && \ + echo 'deb http://ppa.launchpad.net/elementary-os/stable/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list.d/elementary.list && \ + echo 'deb-src http://ppa.launchpad.net/elementary-os/stable/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list.d/elementary.list && \ + sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6C8769CEDC20F5E66C3B7D37BF36996C4E1F8A59 && \ + sudo apt-get update -qq && \ + sudo apt-get dist-upgrade -qq && \ + sudo apt-get remove -qq gdm3 && \ + sudo apt-get install -qq --no-install-recommends elementary-sdk && \ + echo /usr/sbin/lightdm | sudo tee /etc/X11/default-display-manager && \ + sudo apt-get autoremove -qq && \ + sudo apt-get autoclean + +# Start the application in vnc +CMD /launcher-vnc.sh "zsh -c startx" diff --git a/infrastructure/containers/package.json b/infrastructure/containers/package.json index 1730f81..af3781f 100644 --- a/infrastructure/containers/package.json +++ b/infrastructure/containers/package.json @@ -15,6 +15,7 @@ "build:darktable": "eval \"$(yarn --cwd ../cloud-computer environment)\"; yarn --cwd ../docker docker build --tag $CLOUD_COMPUTER_REGISTRY/darktable $PWD/darktable", "build:desktop": "eval \"$(yarn --cwd ../cloud-computer environment)\"; yarn --cwd ../docker docker build --tag $CLOUD_COMPUTER_REGISTRY/desktop $PWD/desktop", "build:dispatch": "eval \"$(yarn --cwd ../cloud-computer environment)\"; yarn --cwd ../docker docker build --tag $CLOUD_COMPUTER_REGISTRY/dispatch $PWD/dispatch", + "build:elementary": "eval \"$(yarn --cwd ../cloud-computer environment)\"; yarn --cwd ../docker docker build --tag $CLOUD_COMPUTER_REGISTRY/elementary $PWD/elementary", "build:filerun": "eval \"$(yarn --cwd ../cloud-computer environment)\"; yarn --cwd ../docker docker build --tag $CLOUD_COMPUTER_REGISTRY/filerun $PWD/filerun", "build:gimp": "eval \"$(yarn --cwd ../cloud-computer environment)\"; yarn --cwd ../docker docker build --tag $CLOUD_COMPUTER_REGISTRY/gimp $PWD/gimp", "build:gnumeric": "eval \"$(yarn --cwd ../cloud-computer environment)\"; yarn --cwd ../docker docker build --tag $CLOUD_COMPUTER_REGISTRY/gnumeric $PWD/gnumeric", diff --git a/infrastructure/docker-compose/stacks/elementary.yaml b/infrastructure/docker-compose/stacks/elementary.yaml new file mode 100644 index 0000000..b9fff7f --- /dev/null +++ b/infrastructure/docker-compose/stacks/elementary.yaml @@ -0,0 +1,59 @@ +version: '2.3' + +services: + + elementary: + image: cloudnativecomputer/elementary:latest + shm_size: 6gb + restart: always + environment: + - DESKTOP_ENVIRONMENT_USER=$CLOUD_COMPUTER_HOST_USER + security_opt: + - seccomp:unconfined + labels: + - traefik.enable=true + - traefik.frontend.rule=Host:elementary.$CLOUD_COMPUTER_DNS_NAME + - traefik.port=8080 + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - CLOUD_COMPUTER_CACHE_CHROME:$CLOUD_COMPUTER_CACHE_CHROME + - CLOUD_COMPUTER_CACHE_CODE:$CLOUD_COMPUTER_CACHE_CODE + - CLOUD_COMPUTER_CACHE_TMUX:$CLOUD_COMPUTER_CACHE_TMUX + - CLOUD_COMPUTER_CACHE_YARN:$CLOUD_COMPUTER_CACHE_YARN + - CLOUD_COMPUTER_CACHE_ZSH:$CLOUD_COMPUTER_CACHE_ZSH + - CLOUD_COMPUTER_CLOUDSTORAGE:$CLOUD_COMPUTER_CLOUDSTORAGE + - CLOUD_COMPUTER_REPOSITORY:$CLOUD_COMPUTER_REPOSITORY + - CLOUD_COMPUTER_STATE_CHROME:$CLOUD_COMPUTER_STATE_CHROME + - CLOUD_COMPUTER_STATE_CODE:$CLOUD_COMPUTER_STATE_CODE + - CLOUD_COMPUTER_STATE_I3:$CLOUD_COMPUTER_STATE_I3 + - CLOUD_COMPUTER_STATE_JUMP:$CLOUD_COMPUTER_STATE_JUMP + - CLOUD_COMPUTER_STATE_SLACK:$CLOUD_COMPUTER_STATE_SLACK + - CLOUD_COMPUTER_TMUX:$CLOUD_COMPUTER_TMUX + +volumes: + CLOUD_COMPUTER_CACHE_CHROME: + external: true + CLOUD_COMPUTER_CACHE_CODE: + external: true + CLOUD_COMPUTER_CACHE_TMUX: + external: true + CLOUD_COMPUTER_CACHE_YARN: + external: true + CLOUD_COMPUTER_CACHE_ZSH: + external: true + CLOUD_COMPUTER_CLOUDSTORAGE: + external: true + CLOUD_COMPUTER_REPOSITORY: + external: true + CLOUD_COMPUTER_STATE_CHROME: + external: true + CLOUD_COMPUTER_STATE_CODE: + external: true + CLOUD_COMPUTER_STATE_I3: + external: true + CLOUD_COMPUTER_STATE_JUMP: + external: true + CLOUD_COMPUTER_STATE_SLACK: + external: true + CLOUD_COMPUTER_TMUX: + external: true