Initial Commit

This commit is contained in:
2025-10-03 21:46:52 +02:00
parent 809494591a
commit 84b2d76c74
2 changed files with 246 additions and 0 deletions

153
UGREEN Server/compose.yml Normal file
View File

@@ -0,0 +1,153 @@
# NETWORK
networks:
backend:
# Network for connection between the windmill services & the db
name: backend
driver: bridge
internal: true
frontend:
# Network for the windmill-server to be reached from the outside
name: frontend
driver: bridge
# SERVICES
services:
# TAILSCALE VPN
tailscale:
container_name: Tailscale
image: tailscale/tailscale:latest
restart: always
volumes:
- ./tun:/dev/net/tun
- ./lib:/var/lib
environment:
- TS_STATE_DIR=/var/lib/tailscale
- TS_ROUTES=192.168.2.0/24
- TS_HOSTNAME=Smallmountains
- PUID=1002
- PGID=100
network_mode: host
privileged: true
# POSTGRES FOR WINDMILL
postgres:
container_name: Postgres
image: postgres:16
restart: always
shm_size: 1g
networks:
- backend
volumes:
- ./postgres:/var/lib/postgresql/data
expose:
- 5432
environment:
- PUID=1002
- PGID=100
- POSTGRES_PASSWORD=changeme
- POSTGRES_DB=windmill
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
# WINDMILL SERVER
windmill_server:
container_name: Windmill_Server
image: ghcr.io/windmill-labs/windmill:main
restart: always
pull_policy: always
networks:
- backend
- frontend
expose:
- 8000
- 2525
environment:
- PUID=1002
- PGID=100
- DATABASE_URL=postgres://postgres:changeme@postgres/windmill?sslmode=disable
- MODE=server
depends_on:
postgres:
condition: service_healthy
volumes:
- ./windmill_worker_logs:/tmp/windmill/logs
# WINDMILL WORKER
windmill_worker:
container_name: Windmill_Worker
image: ghcr.io/windmill-labs/windmill:main
restart: always
pull_policy: always
networks:
- backend
deploy:
replicas: 1
resources:
limits:
cpus: "1"
memory: 2048M # for GB, use syntax '2Gi'
environment:
- PUID=1002
- PGID=100
- DATABASE_URL=postgres://postgres:changeme@postgres:5432/windmill?sslmode=disable
- MODE=worker
- WORKER_GROUP=default
depends_on:
postgres:
condition: service_healthy
volumes:
# mount the docker socket to allow to run docker containers from within the workers
- /var/run/docker.sock:/var/run/docker.sock
- ./windmill_worker_dependency_cache:/tmp/windmill/cache
- ./windmill_worker_logs:/tmp/windmill/logs
# WINDMILL so-called NATIVE WORKER
windmill_worker_native:
container_name: Windmill_Native_Worker
image: ghcr.io/windmill-labs/windmill:main
restart: always
pull_policy: always
networks:
- backend
deploy:
replicas: 1
resources:
limits:
cpus: "1"
memory: 2048M
# for GB, use syntax '2Gi'
environment:
- PUID=1002
- PGID=100
- DATABASE_URL=postgres://postgres:changeme@postgres:5432/windmill?sslmode=disable
- MODE=worker
- WORKER_GROUP=native
- NUM_WORKERS=8
- SLEEP_QUEUE=200
depends_on:
postgres:
condition: service_healthy
volumes:
- ./windmill_worker_logs:/tmp/windmill/logs
# WINDMILL IDE INTELLISENSE SUPPORT
Windmill_lsp:
container_name: Windmill_LSP
image: ghcr.io/windmill-labs/windmill-lsp:latest
restart: always
pull_policy: always
networks:
- backend
environment:
- PUID=1002
- PGID=100
expose:
- 3001
volumes:
- ./windmill_lsp_cache:/pyls/.cache

93
pi5 Server/compose.yml Normal file
View File

@@ -0,0 +1,93 @@
services:
# DNS-SERVER FOR THE NETWORK
DNS:
container_name: DNS
image: pihole/pihole:latest
network_mode: host
environment:
TZ: 'Europe/Berlin'
WEBPASSWORD: 'tRox*#Ag-+o9pOc9e5+6'
FTLCONF_dns_listeningMode: 'all'
volumes:
- /home/smallmountains/pihole/pihole:/etc/pihole
- /home/smallmountains/pihole/etc-dnsmasq.d:/etc/dnsmasq.d
restart: always
cap_add:
- NET_ADMIN
- SYS_TIME
#PROXY MANAGER ALWAYS RUNNING
Proxy:
container_name: proxy
image: 'docker.io/jc21/nginx-proxy-manager:latest'
restart: always
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- /home/smallmountains/nginx/nginx:/data
- /home/smallmountains/nginx/letsencrypt:/etc/letsencrypt
# SOUND SERVER
Moodist:
container_name: moodist
image: ghcr.io/remvze/moodist
logging:
options:
max-size: 1g
restart: always
ports:
- '8974:8080'
# DDNS UPDATER
DDNS_Updater:
image: qmcgaw/ddns-updater
container_name: ddns-updater
network_mode: bridge
ports:
- 8126:8000/tcp
volumes:
- /home/smallmountains/ddns:/updater/data
environment:
- CONFIG=
- PERIOD=5m
- UPDATE_COOLDOWN_PERIOD=5m
- PUBLICIP_FETCHERS=all
- PUBLICIP_HTTP_PROVIDERS=all
- PUBLICIPV4_HTTP_PROVIDERS=all
- PUBLICIPV6_HTTP_PROVIDERS=all
- PUBLICIP_DNS_PROVIDERS=all
- PUBLICIP_DNS_TIMEOUT=3s
- HTTP_TIMEOUT=10s
# Web UI
- LISTENING_ADDRESS=:8000
- ROOT_URL=/
# Backup
- BACKUP_PERIOD=0 # 0 to disable
- BACKUP_DIRECTORY=/updater/data
# Other
- LOG_LEVEL=info
- LOG_CALLER=hidden
- SHOUTRRR_ADDRESSES=
restart: always
# TAILSCALE
Tailscale:
container_name: tailscale
image: tailscale/tailscale:latest
restart: always
volumes:
- ./tun:/dev/net/tun
- ./lib:/var/lib
environment:
- TS_EXTRA_ARGS=--advertise-exit-node
- TS_STATE_DIR=/var/lib/tailscale
- TS_ROUTES=192.168.2.0/24
- TS_HOSTNAME=RPI5
network_mode: host
privileged: true