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: #- /home/user/certs:/host/etc/certs - /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 #openvpn-server: # image: jpetazzo/dockvpn:latest # container_name: openvpn-server # extra_hosts: # - "host:192.168.2.150" # ports: # - 443:443 # cap_add: # - NET_ADMIN # volumes: # - /opt/openvpn:/etc/openvpn # restart: unless-stopped borgmatic: image: b3vis/borgmatic:v1.1.10-1.4.21 # custom, no linuxserver image container_name: borgmatic volumes: - /media:/media - /root/.ssh:/root/.ssh - /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