#cloud-config

# System update
package_update: true
package_upgrade: true

# Install Packages
packages:
  - curl
  - git

write_files:
  - content: |
      hostname: %atrium_hostname%
      debug_mode: false
      letsencrypt_email: %atrium_letsencrypt_email%
      apps: # optional : applications served by atrium
        - id: 1
          name: Code
          icon: web_asset
          color: 4292030255
          is_proxy: true
          host: "code-%atrium_count_index%"
          target: %atrium_private_ip%:8080
      apps: # optional : applications served by atrium
        - id: 2
          name: Desktop
          icon: web_asset
          color: 4292030255
          is_proxy: true
          host: "desktop-%atrium_count_index%"
          target: %atrium_private_ip%:8081
    path: /root/atrium.yaml

runcmd:
# Install Rust
  - "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y"
  - "source \"$HOME/.cargo/env\""
# Install Docker
  - "curl -fsSL https://get.docker.com -o get-docker.sh"
  - "sh get-docker.sh"
# Setup Atrium
  - "mkdir -p /root/app/data/letsencrypt_cache"
  - 'sed -i "s/%atrium_hostname%/$(scw-userdata atrium_hostname)/g" atrium.yaml'
  - 'sed -i "s/%atrium_letsencrypt_email%/$(scw-userdata atrium_letsencrypt_email)/g" atrium.yaml'
  - 'sed -i "s/%atrium_count_index%/$(scw-userdata atrium_count_index)/g" atrium.yaml'
  - 'sed -i "s/%atrium_private_ip%/$(scw-userdata atrium_private_ip)/g" atrium.yaml'
  - "cp -f /root/atrium.yaml /root/app/atrium.yaml"
# Run Atrium Container
  - "docker run -d --name atrium --net=host -v /root/app/atrium.yaml:/app/atrium.yaml -v /root/app/data/GeoLite2-City.mmdb:/app/GeoLite2-City.mmdb -v /root/app/data/letsencrypt_cache:/app/letsencrypt_cache -v /root/app/data:/app/data nicolaspernoud/atrium:latest"
# Install Code Server
  - "curl -fsSL https://code-server.dev/install.sh | sh"
  - "mkdir -p  /root/.config/code-server/"
  - 'echo "bind-addr: 0.0.0.0:8080\nauth: password\npassword: $(scw-userdata user_password)\ncert: false\n" > /root/.config/code-server/config.yaml'
# Run Code Server
  - "systemctl enable --now code-server@$USER"
# Run Webtop Container
  - "docker run -d --name=webtop --security-opt seccomp=unconfined -e PUID=0 -e PGID=0 -e TZ=Europe/Paris -e SUBFOLDER=/ -e KEYBOARD=fr-fr-azerty -e AUTO_LOGIN=false -p 80:3000 -v /root/webtop_data/:/config -v /var/run/docker.sock:/var/run/docker.sock --shm-size=8gb --cap-add=NET_ADMIN --privileged --restart unless-stopped --sysctl net.ipv6.conf.all.disable_ipv6=0 lscr.io/linuxserver/webtop:ubuntu-xfce"