Files
Server-MrHossa/docker-compose.yml
T
2026-08-27 10:12:46 +02:00

259 lines
6.0 KiB
YAML
Executable File

services:
haproxy:
image: haproxy:latest
container_name: haproxy
volumes:
- ./HAPROXY:/usr/local/etc/haproxy
ports:
- "80:80"
- "443:443"
networks:
docker-net:
ipv4_address: 172.30.0.2
restart: always
mariadb:
image: mariadb:latest
container_name: mariadb
volumes:
- ./MARIADB:/var/lib/mysql
environment:
MARIADB_ROOT_PASSWORD: bBHofurUJWKzPE8Z
MARIADB_DATABASE: LIVE
MARIADB_USER: worker
MARIADB_PASSWORD: bBHofurUJWKzPE8Z
ports:
- "3306:3306"
networks:
docker-net:
ipv4_address: 172.30.0.10
restart: always
webserver_public:
build: .
container_name: webserver_public
depends_on:
- haproxy
- mariadb
volumes:
- ./WEBSERVER/PUBLIC/WEBROOT:/var/www/html/
- ./SESSIONS/PUBLIC/:/var/lib/php/sessions
ports:
- "8001:80"
networks:
docker-net:
ipv4_address: 172.30.0.11
restart: always
webserver_backend:
build: .
container_name: webserver_backend
depends_on:
- haproxy
- mariadb
volumes:
- ./WEBSERVER/BACKEND/WEBROOT:/var/www/html/
- ./TEMP/REPORTS/:/var/www/html/static/
- ./SESSIONS/BACKEND/:/var/lib/php/sessions
ports:
- "8002:80"
networks:
docker-net:
ipv4_address: 172.30.0.12
restart: always
gitea:
image: gitea/gitea:latest
container_name: gitea
volumes:
- ./GITEA:/data
- ./CONFIGS/GITEA/app.ini:/data/gitea/conf/app.ini
environment:
- TZ=Europe/Berlin
# - APP_INI_PATH=./GITEA/conf/app.ini
networks:
docker-net:
ipv4_address: 172.30.0.13
ports:
- "3000:3000"
- "2222:22"
restart: always
dnsmasq:
image: dockurr/dnsmasq
container_name: dnsmasq
restart: always
cap_add:
- NET_ADMIN
ports:
- "53:53/udp"
- "53:53/tcp"
volumes:
- ./CONFIGS/DNSMASQ/dnsmasq.conf:/etc/dnsmasq.conf:ro
- ./DNSMASQ/dnsmasq_leases:/var/lib/misc
networks:
docker-net:
ipv4_address: 172.30.0.14
healthcheck:
test: ["CMD", "nslookup", "server1.mrhossa.de", "127.0.0.1"]
interval: 30s
timeout: 5s
retries: 3
flatnotes:
image: dullage/flatnotes:latest
container_name: flatnotes
environment:
- PUID=1000
- PGID=1000
- FLATNOTES_AUTH_TYPE=password
- FLATNOTES_USERNAME=bruno
- FLATNOTES_PASSWORD=bBHofurUJWKzPE8Z
- FLATNOTES_SECRET_KEY=bBHofurUJWKzPE8Z:p2x338k48021104
volumes:
- ./FLATNOTES/:/data
networks:
docker-net:
ipv4_address: 172.30.0.15
ports:
- "8003:8080"
restart: always
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
environment:
- WEBSOCKET_ENABLED=true
- SIGNUPS_ALLOWED=true
volumes:
- ./VAULTWARDEN:/data
networks:
docker-net:
ipv4_address: 172.30.0.16
ports:
- "8004:80"
restart: always
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
volumes:
- ./PORTAINER:/data
- /var/run/docker.sock:/var/run/docker.sock
networks:
docker-net:
ipv4_address: 172.30.0.17
ports:
- "8005:9000"
restart: always
homarr:
image: ghcr.io/homarr-labs/homarr:latest
container_name: homarr
environment:
- TZ=Europe/Berlin
- SECRET_ENCRYPTION_KEY=c6dea74b93da91f078037ca573d7cb35db8fedc10fa7839469db02e39a9577b8
volumes:
- ./HOMARR/configs:/app/data/configs
- ./HOMARR/icons:/app/public/icons
- ./HOMARR/data:/data
- /var/run/docker.sock:/var/run/docker.sock
networks:
docker-net:
ipv4_address: 172.30.0.18
ports:
- "8006:7575"
restart: always
jenkins:
image: jenkins/jenkins:latest
container_name: jenkins
volumes:
- ./JENKINS:/var/jenkins_home
environment:
- JAVA_OPTS=-Djenkins.install.runSetupWizard=false
networks:
docker-net:
ipv4_address: 172.30.0.19
ports:
- "8080:8080"
- "50000:50000"
restart: always
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./CONFIGS/PROMETHEUS/:/etc/prometheus
- ./PROMETHEUS/:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--storage.tsdb.retention.time=30d'
networks:
docker-net:
ipv4_address: 172.30.0.20
ports:
- "127.0.0.1:9090:9090"
restart: always
node-exporter:
image: prom/node-exporter:latest
container_name: node_exporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--path.rootfs=/rootfs'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
networks:
docker-net:
ipv4_address: 172.30.0.21
ports:
- "8008:9100"
restart: always
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
networks:
docker-net:
ipv4_address: 172.30.0.22
ports:
- "8009:8080"
restart: always
# Falls auf dem Host cgroup v2 läuft und Metriken fehlen/leer sind,
# zusätzlich privileged: true setzen und /dev/kmsg:/dev/kmsg mounten.
grafana:
image: grafana/grafana:latest
container_name: grafana
environment:
- GF_SECURITY_ADMIN_USER=bruno
- GF_SECURITY_ADMIN_PASSWORD=svHBaMujp0c7ZE5065
- GF_USERS_ALLOW_SIGN_UP=false
volumes:
- ./GRAFANA/data:/var/lib/grafana
ports:
- "8007:3000"
networks:
docker-net:
ipv4_address: 172.30.0.23
restart: always
networks:
docker-net:
driver: bridge
ipam:
config:
- subnet: 172.30.0.0/16