homelab/docker-compose.yaml

157 lines
4.5 KiB
YAML

version: "3.7"
services:
nginx-proxy-manager:
image: jc21/nginx-proxy-manager:latest
container_name: nginx-proxy-manager
restart: always
ports:
- "80:80"
- "81:81"
- "443:443"
volumes:
- /rpool/data/docker/nginx-proxy-manager/data:/data
- /rpool/data/docker/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
healthcheck:
test: ["CMD", "/usr/bin/check-health"]
interval: 30s
timeout: 3s
logging:
options:
max-size: "4m"
max-file: "10"
deploy:
resources:
limits:
cpus: '1.0'
memory: 1g
reservations:
cpus: '0.1'
memory: 25m
gitea:
image: gitea/gitea:1.21.11
container_name: gitea
environment:
- USER_UID=112
- USER_GID=120
restart: always
volumes:
- /rpool/data/docker/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
logging:
options:
max-size: "4m"
max-file: "10"
deploy:
resources:
limits:
cpus: '1.0'
memory: 1g
reservations:
cpus: '0.1'
memory: 100m
woodpecker-server:
image: woodpeckerci/woodpecker-server:latest
restart: unless-stopped
container_name: woodpecker-server
ports:
- 8000:8000
volumes:
- /rpool/data/docker/woodpecker/:/var/lib/woodpecker/
environment:
- WOODPECKER_HOST=https://ci.mvzijl.nl
- WOODPECKER_AGENT_SECRET=FS9d0mISbWK9ncVv5tbyeCRiFmJ/zKSITMd2HLt4fdU=
- WOODPECKER_GITEA=true
- WOODPECKER_GITEA_URL=https://git.mvzijl.nl
- WOODPECKER_GITEA_CLIENT=91423013-9726-4422-8208-127250cc4280
- WOODPECKER_GITEA_SECRET=gto_3ymolje5iixjofzugpnspmwkjg5el2dgyis4kww6sfa6iddek7oq
deploy:
resources:
limits:
cpus: '1.0'
memory: 1g
reservations:
cpus: '0.1'
memory: 25m
woodpecker-agent:
image: woodpeckerci/woodpecker-agent:latest
command: agent
restart: unless-stopped
depends_on:
- woodpecker-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WOODPECKER_SERVER=woodpecker-server:9000
- WOODPECKER_AGENT_SECRET=FS9d0mISbWK9ncVv5tbyeCRiFmJ/zKSITMd2HLt4fdU=
deploy:
resources:
limits:
cpus: '1.0'
memory: 1g
reservations:
cpus: '0.1'
memory: 25m
nextcloud-aio-mastercontainer:
image: nextcloud/all-in-one:latest
init: true
restart: always
container_name: nextcloud-aio-mastercontainer
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 8080:8080
environment:
APACHE_PORT: 11000
APACHE_IP_BINDING: 0.0.0.0 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
BORG_RETENTION_POLICY: --keep-within=7d --keep-weekly=4 --keep-monthly=6 # Allows to adjust borgs retention policy. See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy
NEXTCLOUD_DATADIR: /rpool/data/docker/nextcloud # Allows to set the host directory for Nextcloud's datadir. ⚠️⚠️⚠️ Warning: do not set or adjust this value after the initial Nextcloud installation is done! See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
NEXTCLOUD_ENABLE_DRI_DEVICE: 'true'
NEXTCLOUD_ADDITIONAL_APKS: bash ffmpeg libva-utils libva-vdpau-driver libva-intel-driver intel-media-driver mesa-va-gallium
qbittorrent:
container_name: qbittorrent
environment:
#- PAGID=10000
#- PGID=1000
#- PUID=1000
- QBT_EULA=accept
- QBT_WEBUI_PORT=8041
#- TZ=UTC
#- UMASK=022
image: qbittorrentofficial/qbittorrent-nox:latest
ports:
# for bittorrent traffic
- 6881:6881/tcp
- 6881:6881/udp
# for WebUI
- 8041:8041/tcp
read_only: true
stop_grace_period: 30m
tmpfs:
- /tmp
tty: true
volumes:
- /rpool/data/docker/qbittorrent:/config
- /veda/tijdelijk/downloads:/downloads
deploy:
resources:
limits:
cpus: '1.5'
memory: 2g
reservations:
cpus: '0.1'
memory: 250m
volumes:
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer