split compose file

This commit is contained in:
2024-12-19 14:17:44 +01:00
parent 04db420f71
commit ed2234a9b6
21 changed files with 258 additions and 278 deletions

View File

@@ -1,238 +1,20 @@
services:
#
# official
#
nginx:
image: nginx:1.25.4 # official, linuxserver/nginx
container_name: nginx
# ports:
# - 444:443
extra_hosts:
- "host:192.168.2.150"
volumes:
- /opt/nginx/etc/.htpasswd:/host/etc/.htpasswd
- /opt/nginx/etc/nginx/conf:/etc/nginx/conf
- /opt/nginx/etc/nginx/conf.d:/etc/nginx/conf.d
- /opt/nginx/var/log/nginx:/var/log/nginx
- /opt/seafile/seafile-server-latest/seahub/media:/host/var/www/seafile
restart: unless-stopped
filebrowser:
image: filebrowser/filebrowser:v2.21.1 # official, no linuxserver image
container_name: filebrowser
volumes:
- /opt/filebrowser/.filebrowser.json:/.filebrowser.json
- /opt/filebrowser/database.db:/database.db
- /media:/host/media
ports:
- 8001:80
restart: unless-stopped
#
# custom
#
caddy:
image: caddy
container_name: caddy
build:
context: /opt/caddy/
ports:
- 444:443
volumes:
- /opt/caddy/Caddyfile:/etc/caddy/Caddyfile
- /opt/caddy/data:/data
environment:
#- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:?}
#- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:?}
- AWS_ACCESS_KEY_ID="AKIAY4DUYEBSTECHF6RN"
- AWS_SECRET_ACCESS_KEY="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"
restart: unless-stopped
depends_on:
- nginx
links:
- nginx
openvpn-server: # custom, no linuxserver image
image: kylemanna/openvpn:2.4
container_name: openvpn-server
privileged: true
extra_hosts:
- "host:192.168.2.150"
ports:
- 443:443
cap_add:
- NET_ADMIN
volumes:
- /opt/openvpn-server:/etc/openvpn
network_mode: bridge
restart: unless-stopped
borgmatic:
image: b3vis/borgmatic:v1.1.10-1.4.21 # custom, no linuxserver image
container_name: borgmatic
volumes:
- /:/sepia:ro
- /media:/media
- /root/.ssh:/root/.ssh:ro
- /opt/borgmatic/config/crontab.txt:/etc/borgmatic.d/crontab.txt
- /opt/borgmatic/config:/config
- /opt/borgmatic/keys:/keys
- /opt/borgmatic/cache:/cache
- /opt/borgmatic/log:/log
restart: unless-stopped
environment:
- TZ=Europe/Amsterdam
seafile:
image: gronis/seafile:9.0.4
container_name: seafile
restart: unless-stopped
volumes:
- /opt/seafile:/seafile:rw
- /media/seafile:/seafile/seafile-data:rw
ports:
- 8000:8000
- 8082:8082
environment:
- MODE=autorun
wordpress:
image: wordpress:mod # custom, ook wordpress:php8.1-apache-pgsql (official + pgsql extension) in /opt/wordpress/docker/build.sh, maar werkt niet met postgres 12!
container_name: wordpress
volumes:
- /opt/wordpress:/var/www/html
ports:
- 8888:80
environment:
- WORDPRESS_DB_HOST=pgsql
- WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_PASSWORD=wordpress
- WORDPRESS_DB_NAME=wordpress
links:
- pgsql
#- mysql # Lukt niet om te migreren van pgsql naar mysql
restart: unless-stopped
mysql:
image: mysql:5.7 # official
container_name: mysql
volumes:
- /opt/mysql:/var/lib/mysql
environment:
MYSQL_DATABASE: example
MYSQL_USER: example
MYSQL_PASSWORD: example
MYSQL_ROOT_PASSWORD: example
restart: unless-stopped
adminer:
image: adminer:latest # official
container_name: adminer
restart: always
links:
- pgsql
- mysql
ports:
- 7070:8080
pgsql:
image: postgres:latest # official, no linuxserver image
container_name: pgsql
volumes:
- /opt/pgsql:/var/lib/postgresql/data
ports:
- 5432:5432
environment:
- POSTGRES_PASSWORD=example
restart: unless-stopped
pgsql-admin:
image: dpage/pgadmin4:latest # custom, no linuxserver image
container_name: pgsql-admin
volumes:
- /opt/pgsql-admin=/var/lib/pgadmin
ports:
- 5050:80
environment:
- PGADMIN_DEFAULT_EMAIL=admin
- PGADMIN_DEFAULT_PASSWORD=toUEhcycUC5Kpj27
restart: unless-stopped
apt-cacher:
image: sameersbn/apt-cacher-ng:3.1-3
container_name: apt-cacher
ports:
- "3142:3142"
volumes:
- /media/scratch/apt-cacher:/var/cache/apt-cacher-ng
restart: unless-stopped
dns-ad-blocker:
image: oznu/dns-ad-blocker:latest # custom, no linuxserver image, no version
container_name: dns-ad-blocker
ports:
- "192.168.2.151:53:53/udp"
environment:
- AUTO_UPDATE=1
- BRANCH=master
- DNSCRYPT=1
- DNSCRYPT_PROVIDER_NAME=2.dnscrypt-cert.ns0.dnscrypt.nl
- DNSCRYPT_RESOLVER_ADDR=45.76.35.212
- DNSCRYPT_PROVIDER_KEY=4C84:FB8C:0511:5DFA:5F97:C5ED:0329:1370:C78A:BCD6:4E15:DD53:AB08:DE72:FB84:4ACA
#
# homemade
#
lighttpd:
image: webserver:latest # homemade, no linuxserver image
container_name: lighttpd
ports:
- 80:81
volumes:
- /opt/lighttpd/etc:/host/etc
- /home/user/certs:/host/etc/certs
- /opt/lighttpd/var/log:/host/var/log
- /home/user/www:/host/var/www/global
restart: unless-stopped
collectd:
image: collectd:latest # homemade, no linuxserver image
container_name: collectd
privileged: true
volumes:
- /opt/collectd/etc:/etc/collectd
- /opt/collectd/var:/var/lib/collectd
- /opt/collectd/usr:/host/usr
- /root/scripts/speedtest-cli:/sbin/speedtest-cli
- /:/host/root
- /media:/host/media
- /var/lib/docker:/media/docker
- /dev/mapper:/dev/mapper
restart: unless-stopped
# Homeassistant et al.
esphome:
image: esphome/esphome:2022.12.8
container_name: esphome
volumes:
- /opt/esphome:/config:rw
- /opt/esphome/log:/log:rw
- /etc/localtime:/etc/localtime:ro
#devices:
#- /dev/ttyACM0:/dev/ttyACM0
network_mode: host
restart: unless-stopped
homeassistant:
container_name: homeassistant
image: homeassistant/home-assistant:2024.10
volumes:
- /opt/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
privileged: true
network_mode: host
timescaledb:
image: timescale/timescaledb:2.7.1-pg14 # official
container_name: timescaledb
volumes:
- /opt/timescaledb:/var/lib/postgresql/data
ports:
- 6543:5432
environment:
- POSTGRES_USER=timescaleuser
- POSTGRES_PASSWORD=timescalepwd
restart: unless-stopped
grafana: # admin:grafana
image: grafana/grafana:9.0.2 # official
container_name: grafana
volumes:
- /opt/grafana:/var/lib/grafana
ports:
- 3333:3000
restart: unless-stopped
include:
- docker-compose.nginx.yml
- docker-compose.filebrowser.yml
- docker-compose.caddy.yml
- docker-compose.openvpn-server.yml
- docker-compose.borgmatic.yml
- docker-compose.seafile.yml
- docker-compose.wordpress.yml
- docker-compose.mysql.yml
- docker-compose.adminer.yml
- docker-compose.pgsql.yml
- docker-compose.pgsql-admin.yml
- docker-compose.apt-cacher.yml
- docker-compose.dns-ad-blocker.yml
- docker-compose.lighttpd.yml
- docker-compose.collectd.yml
- docker-compose.esphome.yml
- docker-compose.homeassistant.yml
- docker-compose.timescaledb.yml
- docker-compose.grafana.yml