Skip to content

Instantly share code, notes, and snippets.

@keisisqrl
Last active November 6, 2020 19:23
Show Gist options
  • Save keisisqrl/50c0a037cac7122b4bbcbd3fe031e62d to your computer and use it in GitHub Desktop.
Save keisisqrl/50c0a037cac7122b4bbcbd3fe031e62d to your computer and use it in GitHub Desktop.
cloud-init for neko

cloud-init config for nurdism/neko

Tested on DigitalOcean with Ubuntu 20.10 LTS

Put in a valid email and hostname where shown. Update DNS when you get an IP. Short TTL recommended.

The TLS provider for the neko service can be changed from stage to prod when ready.

#cloud-config
packages:
- docker.io
- docker-compose
write_files:
- path: /root/docker-compose.yaml
content: |
version: "3.0"
services:
neko:
image: nurdism/neko:firefox
restart: always
shm_size: "1gb"
ports:
- "59000-59100:59000-59100/udp"
environment:
DISPLAY: :99.0
NEKO_PASSWORD: neko
NEKO_PASSWORD_ADMIN: admin
NEKO_BIND: :8080
NEKO_EPR: 59000-59100
labels:
- traefik.http.routers.neko.rule=Host(`YOUR_HOSTNAME`)
- traefik.http.services.neko.loadbalancer.server.port=8080
- traefik.http.routers.neko.tls=true
# Change this to 'prod' after testing
- traefik.http.routers.neko.tls.certresolver=stage
traefik:
image: traefik:v2.3
command:
- --providers.docker
- "--certificatesResolvers.stage.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
- "--certificatesResolvers.stage.acme.email=YOUR_EMAIL"
- "--certificatesResolvers.stage.acme.storage=acme-stage.json"
- "--certificatesResolvers.stage.acme.tlsChallenge=true"
- "--entrypoints.websecure.address=:443"
- "--entrypoints.web.address=:80"
- "--certificatesResolvers.prod.acme.email=YOUR_EMAIL"
- "--certificatesResolvers.prod.acme.storage=acme-prod.json"
- "--certificatesResolvers.prod.acme.tlsChallenge=true"
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
runcmd:
- docker-compose -f /root/docker-compose.yaml up -d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment