jaubservice/docker-compose.yml

81 lines
1.7 KiB
YAML

version: '3'
services:
caddy:
image: caddy:2-alpine # Lighter image
container_name: caddy
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./caddy/Caddyfile:/etc/caddy/Caddyfile
- ./caddy/data:/data
- ./caddy/config:/config
networks:
- devops
deploy:
resources:
limits:
memory: 128M # Reduced from 256M
gitea:
image: gitea/gitea:latest
container_name: gitea
restart: always
environment:
- USER_UID=1000
- USER_GID=1000
- ROOT_URL=https://git.jaub.cloud
volumes:
- ./gitea:/data
networks:
- devops
expose:
- "3000"
- "2221:22"
deploy:
resources:
limits:
memory: 384M # Reduced from 512M (requires Gitea optimizations)
gitea-runner:
image: registry.jaub.cloud/gitearunner
container_name: gitea-runner
restart: always
cpu_shares: 2
depends_on:
- gitea
environment:
- GITEA_INSTANCE_URL=https://git.jaub.cloud # Must match ROOT_URL from gitea service
- GITEA_RUNNER_REGISTRATION_TOKEN=FWFN6jefHsXN8749nXOn9KRBpHm9eEpmmBzWvgTX
- GITEA_RUNNER_LABELS=docker:docker://alpine:latest
volumes:
- ./runner/data:/data
- /var/run/docker.sock:/var/run/docker.sock
networks:
- devops
deploy:
resources:
limits:
memory: 512M
registry:
image: registry:latest # Alpine variant
container_name: registry
restart: always
volumes:
- ./registry:/var/lib/registry
networks:
- devops
expose:
- "5000"
deploy:
resources:
limits:
memory: 128M # Reduced from 256M
networks:
devops:
driver: bridge