Compare commits

..

5 Commits

5 changed files with 59 additions and 29 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
conf/traefik-conf/dynamic.yml

View File

@@ -0,0 +1,37 @@
services:
portainer:
image: portainer/portainer-ce:latest
command: -H tcp://tasks.agent:9001 --tlsskipverify
ports:
- 9000:9000
volumes:
- /home/doc/swarm-data/appdata/portainer:/data
networks:
- homelab
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.hostname == p0
labels:
- "traefik.enable=false"
- "traefik.swarm.network=homelab"
- "traefik.http.routers.portainer.rule=Host(`portainer.frostlabs.me`)"
- "traefik.http.routers.portainer.entrypoints=websecure"
- "traefik.http.routers.portainer.tls.certresolver=cloudflare"
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
agent:
image: portainer/agent:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
networks:
- homelab
deploy:
mode: global
networks:
homelab:
external: true

View File

@@ -1,27 +0,0 @@
services:
postgres:
image: postgres:17-alpine
secrets:
- postgres-master
networks:
- homelab
environment:
- POSTGRES_USER=admin
- POSTGRES_PASSWORD_FILE=/run/secrets/postgres-master
- PGDATA=/var/lib/postgresql/data
volumes:
- /home/doc/swarm/data/postgres:/var/lib/postgresql/data
ports:
- 5432:5432
deploy:
replicas: 1
placement:
constraints:
- node.hostname == p0
networks:
homelab:
external: true
secrets:
postgres-master:
external: true

View File

@@ -28,8 +28,8 @@ services:
- CF_DNS_API_TOKEN_FILE=/run/secrets/cloudflare_api_token - CF_DNS_API_TOKEN_FILE=/run/secrets/cloudflare_api_token
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
- /home/doc/swarm/data/traefik/certificates:/certificates - /home/doc/swarm-data/appdata/traefik/certificates:/certificates
- /home/doc/swarm/conf/traefik-conf/dynamic.yml:/etc/traefik/dynamic/dynamic.yml:ro - /home/doc/swarm/swarm-production/conf/traefik-conf/dynamic.yml:/etc/traefik/dynamic/dynamic.yml:ro
secrets: secrets:
- cloudflare_api_token - cloudflare_api_token
networks: networks:

View File

@@ -0,0 +1,19 @@
services:
freefilesync:
image: jlesage/freefilesync
networks:
- homelab
ports:
- "5800:5800"
volumes:
- /home/doc/swarm-data/appdata/freefilesync:/config
- /home/doc/swarm-data/appdata:/storage
- /home/doc/swarm/appdata:/nfs/appdata
deploy:
replicas: 1
placement:
constraints:
- node.hostname == p0
networks:
homelab:
external: true