From 1f843fabf77ce0ad0713a55fffadfe6193f8ae0b Mon Sep 17 00:00:00 2001 From: SauravDhakal Date: Mon, 30 Mar 2026 22:39:23 +0545 Subject: [PATCH] feat: more services file browser, n8n, portainer, syncthing, uptime-kuma, watchtower --- caddy/Caddyfile | 25 +++++++++++++++++++++++++ services/filebrowser.yml | 12 ++++++++++++ services/n8n.yml | 17 +++++++++++++++++ services/portainer.yml | 9 +++++++++ services/syncthing.yml | 16 ++++++++++++++++ services/uptime-kuma.yml | 8 ++++++++ services/watchtower.yml | 16 ++++++++++++++++ 7 files changed, 103 insertions(+) create mode 100644 services/filebrowser.yml create mode 100644 services/n8n.yml create mode 100644 services/portainer.yml create mode 100644 services/syncthing.yml create mode 100644 services/uptime-kuma.yml create mode 100644 services/watchtower.yml diff --git a/caddy/Caddyfile b/caddy/Caddyfile index 620c56a..d4f9b0e 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -57,3 +57,28 @@ filebrowser.sauravdhakal.com.np { bind 100.81.85.182 reverse_proxy localhost:8083 } + +syncthing.sauravdhakal.com.np { + bind 100.81.85.182 + reverse_proxy localhost:8384 +} + +portainer.sauravdhakal.com.np { + bind 100.81.85.182 + reverse_proxy localhost:9000 +} + +uptime.sauravdhakal.com.np { + bind 100.81.85.182 + reverse_proxy localhost:3001 +} + +# dozzle.sauravdhakal.com.np { +# bind 100.81.85.182 +# reverse_proxy localhost:8888 +# } +# +# glances.sauravdhakal.com.np { +# bind 100.81.85.182 +# reverse_proxy localhost:61208 +# } diff --git a/services/filebrowser.yml b/services/filebrowser.yml new file mode 100644 index 0000000..3bb8d68 --- /dev/null +++ b/services/filebrowser.yml @@ -0,0 +1,12 @@ +services: + filebrowser: + image: filebrowser/filebrowser:latest + restart: unless-stopped + user: "1000:1000" + ports: + - "127.0.0.1:8083:80" + volumes: + - /home/saurav/hetzner_self/data:/srv/data + - /home/saurav/cloud:/srv/cloud + - /home/saurav/hetzner_self/filebrowser/filebrowser.db:/database/filebrowser.db + - /home/saurav/hetzner_self/filebrowser/settings.json:/config/settings.json diff --git a/services/n8n.yml b/services/n8n.yml new file mode 100644 index 0000000..3e83d70 --- /dev/null +++ b/services/n8n.yml @@ -0,0 +1,17 @@ +services: + n8n: + image: n8nio/n8n:latest + restart: unless-stopped + user: "node" + ports: + - "127.0.0.1:5678:5678" + environment: + - N8N_HOST=n8n.sauravdhakal.com.np + - N8N_PORT=5678 + - N8N_PROTOCOL=https + - WEBHOOK_URL=https://n8n.sauravdhakal.com.np + - N8N_EDITOR_BASE_URL=https://n8n-admin.sauravdhakal.com.np + - GENERIC_TIMEZONE=Asia/Kathmandu + - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY} + volumes: + - /home/saurav/hetzner_self/data/n8n:/home/node/.n8n diff --git a/services/portainer.yml b/services/portainer.yml new file mode 100644 index 0000000..13ba97c --- /dev/null +++ b/services/portainer.yml @@ -0,0 +1,9 @@ +services: + portainer: + image: portainer/portainer-ce:latest + restart: unless-stopped + ports: + - "127.0.0.1:9000:9000" + volumes: + - /var/run/docker.sock:/var/run/docker.sock # needs docker socket + - /home/saurav/hetzner_self/data/portainer:/data diff --git a/services/syncthing.yml b/services/syncthing.yml new file mode 100644 index 0000000..ec44f56 --- /dev/null +++ b/services/syncthing.yml @@ -0,0 +1,16 @@ +services: + syncthing: + image: syncthing/syncthing:latest + restart: unless-stopped + user: "1000:1000" + ports: + - "127.0.0.1:8384:8384" # web UI — VPN only via Caddy + - "22000:22000/tcp" # sync protocol — needs to be public + - "22000:22000/udp" + - "21027:21027/udp" # discovery + environment: + - PUID=1000 + - PGID=1000 + volumes: + - /home/saurav/hetzner_self/data/syncthing:/var/syncthing + # NOTE: - /home/saurav/cloud:/sync/cloud # sync your cloud folder diff --git a/services/uptime-kuma.yml b/services/uptime-kuma.yml new file mode 100644 index 0000000..765e0e9 --- /dev/null +++ b/services/uptime-kuma.yml @@ -0,0 +1,8 @@ +services: + uptime-kuma: + image: louislam/uptime-kuma:latest + restart: unless-stopped + ports: + - "127.0.0.1:3001:3001" + volumes: + - /home/saurav/hetzner_self/data/uptime-kuma:/app/data diff --git a/services/watchtower.yml b/services/watchtower.yml new file mode 100644 index 0000000..1bfba3d --- /dev/null +++ b/services/watchtower.yml @@ -0,0 +1,16 @@ +services: + watchtower: + image: containrrr/watchtower:latest + restart: unless-stopped + environment: + - WATCHTOWER_NOTIFICATIONS=email + - WATCHTOWER_NOTIFICATION_EMAIL_FROM=${WATCHTOWER_EMAIL_FROM} + - WATCHTOWER_NOTIFICATION_EMAIL_TO=${WATCHTOWER_EMAIL_TO} + - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.gmail.com + - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 + - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=${WATCHTOWER_EMAIL_USER} + - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=${WATCHTOWER_EMAIL_PASSWORD} + - WATCHTOWER_MONITOR_ONLY=true # notify only, no auto updates + - WATCHTOWER_SCHEDULE=0 0 8 * * * # check every day at 8am + volumes: + - /var/run/docker.sock:/var/run/docker.sock