164 lines
4.0 KiB
Plaintext
164 lines
4.0 KiB
Plaintext
version: "3.7"
|
|
|
|
services:
|
|
caddy:
|
|
image: iarekylew00t/caddy-cloudflare:latest
|
|
restart: unless-stopped
|
|
cap_add:
|
|
- NET_ADMIN
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "443:443/udp"
|
|
volumes:
|
|
- ./config/caddy:/etc/caddy
|
|
- ./data/caddy/www:/srv/www
|
|
- ./data/caddy:/data
|
|
- ./config/caddy:/config
|
|
|
|
postgres-gitea:
|
|
image: postgres:14
|
|
restart: always
|
|
volumes:
|
|
- ./data/postgres-gitea:/bitnami/postgresql
|
|
environment:
|
|
- POSTGRES_DB=gitea
|
|
- POSTGRES_USER=gitea
|
|
- POSTGRES_PASSWORD=gitea
|
|
gitea:
|
|
image: gitea/gitea:latest
|
|
restart: always
|
|
volumes:
|
|
- ./data/gitea:/data
|
|
environment:
|
|
- GITEA__database__DB_TYPE=postgres
|
|
- GITEA__database__HOST=postgres-gitea:5432
|
|
- GITEA__database__NAME=gitea
|
|
- GITEA__database__USER=gitea
|
|
- GITEA__database__PASSWD=gitea
|
|
expose:
|
|
- 3000
|
|
- 2222
|
|
|
|
node-nextcloud:
|
|
image: nextcloud:apache
|
|
environment:
|
|
- POSTGRES_HOST=postgres-nextcloud
|
|
- POSTGRES_PASSWORD=nextcloud
|
|
- POSTGRES_DB=nextcloud
|
|
- POSTGRES_USER=nextcloud
|
|
expose:
|
|
- 80
|
|
restart: always
|
|
volumes:
|
|
- ./data/nextcloud:/var/www/html
|
|
postgres-nextcloud:
|
|
image: postgres:alpine
|
|
environment:
|
|
- POSTGRES_PASSWORD=nextcloud
|
|
- POSTGRES_DB=nextcloud
|
|
- POSTGRES_USER=nextcloud
|
|
restart: always
|
|
volumes:
|
|
- ./data/postgres-nextcloud:/var/lib/postgresql/data
|
|
expose:
|
|
- 5432
|
|
|
|
mail:
|
|
container_name: mail
|
|
ports:
|
|
- 25:25
|
|
- 110:110
|
|
- 143:143
|
|
- 465:465
|
|
- 587:587
|
|
- 993:993
|
|
- 995:995
|
|
environment:
|
|
- TZ=Asia/Yekaterinburg
|
|
- HTTPS=off
|
|
expose:
|
|
- 80
|
|
volumes:
|
|
- ./data/mail:/data
|
|
tty: true
|
|
image: analogic/poste.io
|
|
|
|
prometheus:
|
|
image: prom/prometheus
|
|
container_name: prometheus
|
|
volumes:
|
|
- ./config/prometheus:/etc/prometheus
|
|
- ./data/prometheus_data:/prometheus
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
- '--storage.tsdb.path=/prometheus'
|
|
- '--web.console.libraries=/etc/prometheus/console_libraries'
|
|
- '--web.console.templates=/etc/prometheus/consoles'
|
|
- '--storage.tsdb.retention.time=200h'
|
|
- '--web.enable-lifecycle'
|
|
restart: unless-stopped
|
|
expose:
|
|
- 9090
|
|
|
|
grafana:
|
|
image: grafana/grafana
|
|
container_name: grafana
|
|
volumes:
|
|
- ./data/grafana:/var/lib/grafana
|
|
- ./config/grafana:/etc/grafana/provisioning
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=${ADMIN_USER}
|
|
- GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD}
|
|
- GF_USERS_ALLOW_SIGN_UP=false
|
|
restart: unless-stopped
|
|
expose:
|
|
- 4000
|
|
exporter:
|
|
image: prom/node-exporter
|
|
volumes:
|
|
- /proc:/host/proc:ro
|
|
- /sys:/host/sys:ro
|
|
- /:/rootfs:ro
|
|
container_name: exporter
|
|
hostname: exporter
|
|
command:
|
|
- --path.procfs=/host/proc
|
|
- --path.sysfs=/host/sys
|
|
- --collector.filesystem.ignored-mount-points
|
|
- ^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)
|
|
expose:
|
|
- 9100
|
|
restart: unless-stopped
|
|
|
|
alertmanager-bot:
|
|
command:
|
|
- --alertmanager.url=http://alertmanager:9093
|
|
- --log.level=info
|
|
- --store=bolt
|
|
- --bolt.path=/data/bot.db
|
|
- --telegram.admin=?????????
|
|
- --telegram.token=?????????
|
|
image: metalmatze/alertmanager-bot
|
|
user: root
|
|
expose:
|
|
- 8080
|
|
container_name: alertmanager-bot
|
|
hostname: alertmanager-bot
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./data/alertmanager:/data
|
|
|
|
alertmanager:
|
|
image: prom/alertmanager
|
|
user: root
|
|
expose:
|
|
- 9093
|
|
volumes:
|
|
- ./config/alertmanager/:/etc/alertmanager/
|
|
container_name: alertmanager
|
|
hostname: alertmanager
|
|
restart: unless-stopped
|
|
command:
|
|
- '--config.file=/etc/alertmanager/config.yml'
|
|
- '--storage.path=/etc/alertmanager/data' |