From 84b2d76c74790a3cd49ad1a3246d777836edba9d Mon Sep 17 00:00:00 2001 From: Marius Date: Fri, 3 Oct 2025 21:46:52 +0200 Subject: [PATCH] Initial Commit --- UGREEN Server/compose.yml | 153 ++++++++++++++++++++++++++++++++++++++ pi5 Server/compose.yml | 93 +++++++++++++++++++++++ 2 files changed, 246 insertions(+) create mode 100644 UGREEN Server/compose.yml create mode 100644 pi5 Server/compose.yml diff --git a/UGREEN Server/compose.yml b/UGREEN Server/compose.yml new file mode 100644 index 0000000..1fec4e3 --- /dev/null +++ b/UGREEN Server/compose.yml @@ -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 \ No newline at end of file diff --git a/pi5 Server/compose.yml b/pi5 Server/compose.yml new file mode 100644 index 0000000..5ead3bc --- /dev/null +++ b/pi5 Server/compose.yml @@ -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 \ No newline at end of file