mirror of
https://github.com/tomasriveral/vps-config.git
synced 2026-08-11 18:18:38 +02:00
156 lines
3.6 KiB
YAML
156 lines
3.6 KiB
YAML
services:
|
|
|
|
caddy:
|
|
depends_on:
|
|
- archivebox
|
|
- freshrss
|
|
- filebrowser
|
|
- uptime-kuma
|
|
- ntfy
|
|
- flatnotes
|
|
- radicale
|
|
- metube
|
|
image: caddy:latest
|
|
container_name: caddy
|
|
restart: unless-stopped
|
|
environment:
|
|
HLEDGER_PASSWORD_HASH: "${HLEDGER_PASSWORD_HASH}"
|
|
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
|
|
volumes:
|
|
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
|
- caddy_data:/data
|
|
- caddy_config:/config
|
|
- /home/tomasr/vps-config/web-server:/srv/www
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
archivebox:
|
|
image: archivebox/archivebox:latest
|
|
container_name: archivebox
|
|
restart: unless-stopped
|
|
|
|
command: server 0.0.0.0:8000
|
|
environment:
|
|
- TZ=Europe/Zurich
|
|
|
|
volumes:
|
|
# Local SSD: database + config + metadata
|
|
- /opt/server/archivebox/archivebox-data:/data
|
|
|
|
# kDrive: only the heavy archive content
|
|
- /mnt/kdrive/Archive:/data/archive
|
|
|
|
freshrss:
|
|
image: freshrss/freshrss:latest
|
|
container_name: freshrss
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
- TZ=Europe/Zurich
|
|
- CRON_MIN=*/20
|
|
|
|
volumes:
|
|
- /opt/server/freshrss:/var/www/FreshRSS/data
|
|
|
|
filebrowser:
|
|
image: filebrowser/filebrowser:latest
|
|
container_name: filebrowser
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
- TZ=Europe/Zurich
|
|
|
|
volumes:
|
|
# Your yt-dlp downloads
|
|
- /mnt/kdrive/Autre/Archive/Videos:/srv
|
|
|
|
# FileBrowser database/config
|
|
- /opt/server/filebrowser/database:/database
|
|
- /opt/server/filebrowser:/config
|
|
|
|
uptime-kuma:
|
|
image: louislam/uptime-kuma:latest
|
|
container_name: uptime-kuma
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
- /opt/server/uptime-kuma:/app/data
|
|
|
|
ntfy:
|
|
image: binwiederhier/ntfy:latest
|
|
container_name: ntfy
|
|
restart: unless-stopped
|
|
|
|
command:
|
|
- serve
|
|
- --config
|
|
- /etc/ntfy/server.yml
|
|
|
|
environment:
|
|
- TZ=Europe/Zurich
|
|
|
|
volumes:
|
|
# Persistent database, cache, attachments
|
|
- /opt/server/ntfy:/var/cache/ntfy
|
|
|
|
# Server configuration
|
|
- /home/tomasr/vps-config/ntfy-config/server.yml:/etc/ntfy/server.yml:ro
|
|
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -q --tries=1 -O- http://localhost:80/v1/health | grep -q 'healthy'"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
flatnotes:
|
|
image: dullage/flatnotes:latest
|
|
container_name: flatnotes
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
- TZ=Europe/Zurich
|
|
- FLATNOTES_USERNAME=${FLATNOTES_USERNAME}
|
|
- FLATNOTES_PASSWORD=${FLATNOTES_PASSWORD}
|
|
- FLATNOTES_SECRET_KEY=${FLATNOTES_SECRET_KEY}
|
|
|
|
volumes:
|
|
- /mnt/kdrive/Notes/quicknotes:/data
|
|
radicale:
|
|
image: tomsquest/docker-radicale:latest
|
|
container_name: radicale
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
- TZ=Europe/Zurich
|
|
|
|
volumes:
|
|
# Calendar + contacts data
|
|
- /opt/server/radicale/data:/data
|
|
|
|
# Configuration
|
|
- /home/tomasr/vps-config/radicale-config:/config
|
|
metube:
|
|
image: alexta69/metube:latest
|
|
container_name: metube
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
- YTDL_OPTIONS={"writesubtitles":true,"writeautomaticsub":true,"writethumbnail":true,"writeinfojson":true,"embedmetadata":true,"embedthumbnail":true}
|
|
- MAX_CONCURRENT_DOWNLOADS=1
|
|
- STATE_DIR=/metube
|
|
- YTDL_NIGHTLY_UPDATE_TIME=03:00
|
|
- TZ=Europe/Zurich
|
|
|
|
volumes:
|
|
# Your video archive
|
|
- /mnt/kdrive/Autre/Archive/Videos:/downloads
|
|
|
|
# MeTube application state
|
|
- /opt/server/metube:/metube
|
|
volumes:
|
|
caddy_data:
|
|
caddy_config:
|