initial commit

This commit is contained in:
2024-12-06 17:18:04 +01:00
commit 19c6513a50
3 changed files with 330 additions and 0 deletions

40
.gitignore vendored Normal file
View File

@@ -0,0 +1,40 @@
*.pyc
*.log
*.db
*.db-shm
*.db-wal
*.pid
*.dat
*.env
.idea/
.ipynb_checkpoints/
.ruff_cache/
log/
logs/
borgmatic/borg/
caddy/data/
collectd/var/
dns-ad-blocker/dnscrypt-proxy.toml
dns-ad-blocker/dnsmasq.hosts
esphome/.esphome/
esphome/secrets.yaml
esphome/tuya
facette/var/
homeassistant/.HA_VERSION
homeassistant/.storage/
homeassistant/blueprints/
homeassistant/components/
homeassistant/core
homeassistant/custom_components/
homeassistant/home-assistant-3*.json
homeassistant/home-assistant.log.*
homeassistant/secrets.yaml
homeassistant/tts/
jellyfin/
openvpn-server/crl.pem
openvpn-server/pki/
openvpn-server/*.ovpn
pgadmin/
rsnapshot/var/
seafile/database/
seafile/server/

250
docker-compose.yml Normal file
View File

@@ -0,0 +1,250 @@
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

40
unused.yaml Normal file
View File

@@ -0,0 +1,40 @@
mysql:
image: mysql:latest
instances:
mysql-1:
ship: local
ports: {service: 3306}
lifecycle:
running: [{type: tcp, port: service}]
volumes:
/host: /opt/mysql
#/host/reset.sql: /opt/mysql/fix/reset.sql
#/etc/service/mysql/run: /opt/mysql/fix/service
inverter:
image: inverter:latest
instances:
inverter-1:
ship: local
volumes:
/opt/inverter: /home/user/inverter
/opt/inverter/data: /opt/inverter/data
/var/log: /opt/inverter/var/log
/etc/logrotate.d: /opt/inverter/etc/logrotate.d
privileged: true
backintime:
image: backintime:latest
instances:
backintime-1:
ship: local
volumes:
/var/log: /opt/backintime/var/log
/root/.local/share/backintime: /opt/backintime/local
/var/spool: /opt/backintime/var/spool
/root/.config/backintime: /opt/backintime/config
/host/rootfs: /
/host/etc: /etc
/host/opt: /opt
/host/root: /root
/host/home: /home
/host/docker: /opt
/host/backup: /media/backup