481 lines
12 KiB
YAML
481 lines
12 KiB
YAML
x-common-environment: &common-environment
|
|
PUID: 1000
|
|
PGID: 1000
|
|
TZ: Europe/Helsinki
|
|
|
|
|
|
services:
|
|
bind9:
|
|
image: ubuntu/bind9:9.18-22.04_beta
|
|
container_name: bind9
|
|
restart: always
|
|
volumes:
|
|
- ./bind9/named.conf:/etc/bind/named.conf
|
|
- ./bind9/local.db:/etc/bind/local.db
|
|
- ./bind9/lan.db:/etc/bind/lan.db
|
|
- ./bind9/guiotte.db:/etc/bind/guiotte.db
|
|
environment: *common-environment
|
|
ports:
|
|
- "53:53/udp"
|
|
|
|
|
|
swag:
|
|
image: lscr.io/linuxserver/swag
|
|
container_name: swag
|
|
restart: always
|
|
cap_add:
|
|
- NET_ADMIN
|
|
environment:
|
|
<<: *common-environment
|
|
URL: guiotte.fr
|
|
SUBDOMAINS: wildcard
|
|
VALIDATION: dns
|
|
DNSPLUGIN: ovh
|
|
EMAIL: florent@guiotte.fr
|
|
volumes:
|
|
- ./swag:/config
|
|
ports:
|
|
- 443:443
|
|
- 80:80
|
|
|
|
|
|
ddclient:
|
|
image: lscr.io/linuxserver/ddclient:latest
|
|
container_name: ddclient
|
|
restart: unless-stopped
|
|
environment: *common-environment
|
|
volumes:
|
|
- ./ddclient:/config
|
|
- ddclient-cache:/run/ddclient-cache
|
|
#- ddclient-cache:/var/cache/ddclient
|
|
|
|
money:
|
|
image: ihatemoney/ihatemoney
|
|
container_name: money
|
|
restart: always
|
|
volumes:
|
|
- money-data:/database
|
|
environment:
|
|
- ACTIVATE_DEMO_PROJECT=False
|
|
- SESSION_COOKIE_SECURE=False
|
|
- SECRET_KEY=yolo
|
|
|
|
|
|
transmission:
|
|
image: lscr.io/linuxserver/transmission:latest
|
|
container_name: transmission
|
|
environment:
|
|
<<: *common-environment
|
|
FILE__USER: /run/secrets/transmission-user
|
|
FILE__PASS: /run/secrets/transmission-pw
|
|
volumes:
|
|
- transmission-config:/config
|
|
- /storage/@media/download:/downloads
|
|
- /storage/@media/download/torrent:/watch
|
|
- ./transmission/eodl.sh:/eodl.sh
|
|
ports:
|
|
- 9091:9091
|
|
- 51413:51413
|
|
- 51413:51413/udp
|
|
restart: unless-stopped
|
|
secrets:
|
|
- transmission-user
|
|
- transmission-pw
|
|
|
|
|
|
# WIP
|
|
# radarr:
|
|
# image: lscr.io/linuxserver/radarr:latest
|
|
# container_name: radarr
|
|
# environment:
|
|
# - PUID=1000
|
|
# - PGID=1000
|
|
# - TZ=Europe/Helsinki
|
|
# volumes:
|
|
# - ./radarr:/config
|
|
# - /mnt/storage/video/Films/:/movies
|
|
# - /mnt/storage/download/:/downloads
|
|
# ports:
|
|
# - 7878:7878
|
|
# restart: unless-stopped
|
|
|
|
|
|
#jackett:
|
|
# image: lscr.io/linuxserver/jackett:latest
|
|
# container_name: jackett
|
|
# environment:
|
|
# <<: *common-environment
|
|
# AUTO_UPDATE: true #optional
|
|
# RUN_OPTS: #optional
|
|
# volumes:
|
|
# - jackett-config:/config
|
|
# - /mnt/storage/media/dl:/downloads
|
|
# ports:
|
|
# - 9117:9117
|
|
# restart: unless-stopped
|
|
|
|
|
|
#sonarr:
|
|
# image: lscr.io/linuxserver/sonarr:latest
|
|
# container_name: sonarr
|
|
# environment: *common-environment
|
|
# volumes:
|
|
# - sonarr-config:/config
|
|
# - /mnt/storage/media:/data
|
|
# #- /mnt/storage/video/Films/:/movies
|
|
# #- /mnt/storage/download/:/downloads
|
|
# ports:
|
|
# - 8989:8989
|
|
# restart: unless-stopped
|
|
|
|
|
|
syncthing:
|
|
image: lscr.io/linuxserver/syncthing:latest
|
|
container_name: syncthing
|
|
hostname: drmanhattan
|
|
environment: *common-environment
|
|
volumes:
|
|
- ./syncthing:/config
|
|
- sync-notes:/notes
|
|
- sync-audrey:/audrey-sync
|
|
- ./data/signal-bkp:/signal-bkp
|
|
- ./data/audrey-projets:/audrey-projets
|
|
ports:
|
|
- 22000:22000/tcp
|
|
- 22000:22000/udp
|
|
- 21027:21027/udp
|
|
restart: unless-stopped
|
|
|
|
|
|
lychee-db:
|
|
image: lscr.io/linuxserver/mariadb:latest
|
|
container_name: lychee-db
|
|
restart: always
|
|
volumes:
|
|
- lychee-db:/config
|
|
environment:
|
|
<<: *common-environment
|
|
FILE__MYSQL_ROOT_PASSWORD: /run/secrets/lychee-db-root-pw
|
|
FILE__MYSQL_PASSWORD: /run/secrets/lychee-db-pw
|
|
MYSQL_DATABASE: lychee
|
|
MYSQL_USER: lychee
|
|
secrets:
|
|
- lychee-db-root-pw
|
|
- lychee-db-pw
|
|
|
|
|
|
lychee:
|
|
image: lscr.io/linuxserver/lychee:latest
|
|
container_name: lychee
|
|
restart: always
|
|
depends_on:
|
|
- lychee-db
|
|
volumes:
|
|
- lychee-config:/config
|
|
- lychee-pictures:/pictures
|
|
environment:
|
|
<<: *common-environment
|
|
FILE__DB_PASSWORD: /run/secrets/lychee-db-pw
|
|
DB_HOST: lychee-db
|
|
DB_CONNECTION: mysql
|
|
DB_USERNAME: lychee
|
|
DB_DATABASE: lychee
|
|
DB_PORT: 3306
|
|
APP_URL: https://photos.guiotte.fr
|
|
TRUSTED_PROXIES: 172.22.0.0/24
|
|
secrets:
|
|
- lychee-db-pw
|
|
|
|
|
|
zotero-sync:
|
|
image: lscr.io/linuxserver/nginx:latest
|
|
container_name: zotero-sync
|
|
environment: *common-environment
|
|
volumes:
|
|
- ./zotero-sync:/config
|
|
- zotero-sync-data:/data
|
|
restart: unless-stopped
|
|
|
|
|
|
# Not in use anymore
|
|
# subdomain still activated though
|
|
#slides-notes:
|
|
# build: slides-notes
|
|
# container_name: slides-notes
|
|
# restart: always
|
|
# environment: *common-environment
|
|
# volumes:
|
|
# - ./slides-notes/slides:/app/slides
|
|
|
|
|
|
nextcloud:
|
|
image: lscr.io/linuxserver/nextcloud:latest
|
|
container_name: nextcloud
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nextcloud-db
|
|
environment: *common-environment
|
|
volumes:
|
|
- nextcloud-config:/config
|
|
- nextcloud-data:/data
|
|
|
|
|
|
nextcloud-db:
|
|
image: linuxserver/mariadb:latest
|
|
container_name: nextcloud-db
|
|
restart: unless-stopped
|
|
environment:
|
|
<<: *common-environment
|
|
FILE__MYSQL_ROOT_PASSWORD: /run/secrets/nextcloud-db-root-pw
|
|
FILE__MYSQL_PASSWORD: /run/secrets/nextcloud-db-pw
|
|
MYSQL_DATABASE: database
|
|
MYSQL_USER: user
|
|
volumes:
|
|
- nextcloud-db-config:/config
|
|
secrets:
|
|
- nextcloud-db-root-pw
|
|
- nextcloud-db-pw
|
|
|
|
|
|
hedgedoc:
|
|
image: lscr.io/linuxserver/hedgedoc:latest
|
|
container_name: hedgedoc
|
|
depends_on:
|
|
- hedgedoc-db
|
|
environment:
|
|
<<: *common-environment
|
|
DB_HOST: hedgedoc-db
|
|
DB_PORT: 3306
|
|
DB_USER: hedgedoc
|
|
DB_NAME: hedgedoc
|
|
FILE__DB_PASS: /run/secrets/hedgedoc-db-pw
|
|
CMD_DOMAIN: pad.guiotte.fr
|
|
CMD_PROTOCOL_USESSL: true
|
|
CMD_ALLOW_FREEURL: true
|
|
CMD_REQUIRE_FREEURL_AUTHENTICATION: true
|
|
volumes:
|
|
- hedgedoc-config:/config
|
|
restart: unless-stopped
|
|
secrets:
|
|
- hedgedoc-db-pw
|
|
|
|
|
|
hedgedoc-db:
|
|
image: lscr.io/linuxserver/mariadb:latest
|
|
container_name: hedgedoc-db
|
|
restart: unless-stopped
|
|
volumes:
|
|
- hedgedoc-db:/config
|
|
environment:
|
|
<<: *common-environment
|
|
FILE__MYSQL_ROOT_PASSWORD: /run/secrets/hedgedoc-db-root-pw
|
|
FILE__MYSQL_PASSWORD: /run/secrets/hedgedoc-db-pw
|
|
MYSQL_DATABASE: hedgedoc
|
|
MYSQL_USER: hedgedoc
|
|
secrets:
|
|
- hedgedoc-db-root-pw
|
|
- hedgedoc-db-pw
|
|
|
|
|
|
homeassistant:
|
|
image: lscr.io/linuxserver/homeassistant:latest
|
|
container_name: homeassistant
|
|
environment:
|
|
<<: *common-environment
|
|
volumes:
|
|
- homeassistant-config:/config
|
|
restart: unless-stopped
|
|
# NOTE: Temporarily disable zigbee and wifi iot
|
|
#
|
|
# devices:
|
|
# - /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20240219191913-if00:/dev/ttyACM0
|
|
#
|
|
#
|
|
#yee0:
|
|
# build: ssh
|
|
# container_name: yee0
|
|
# volumes:
|
|
# - ./ssh/id_rsa:/root/.ssh/id_rsa
|
|
# environment:
|
|
# - SSH_HOSTNAME=192.168.1.5
|
|
# - SSH_USERNAME=alarm
|
|
# - SSH_LOCAL_PORT=55443
|
|
# - SSH_DESTINATION=10.0.0.100
|
|
# - SSH_DESTINATION_PORT=55443
|
|
# #ports:
|
|
# # - 55443:55443
|
|
# restart: unless-stopped
|
|
#
|
|
#
|
|
#yee1:
|
|
# build: ssh
|
|
# container_name: yee1
|
|
# volumes:
|
|
# - ./ssh/id_rsa:/root/.ssh/id_rsa
|
|
# environment:
|
|
# - SSH_HOSTNAME=192.168.1.5
|
|
# - SSH_USERNAME=alarm
|
|
# - SSH_LOCAL_PORT=55443
|
|
# - SSH_DESTINATION=10.0.0.101
|
|
# - SSH_DESTINATION_PORT=55443
|
|
# #ports:
|
|
# # - 55443:55443
|
|
# restart: unless-stopped
|
|
|
|
gitea:
|
|
image: gitea/gitea:latest
|
|
#build: gitea
|
|
container_name: gitea
|
|
restart: unless-stopped
|
|
environment:
|
|
<<: *common-environment
|
|
GITEA__database__DB_TYPE: mysql
|
|
GITEA__database__HOST: gitea-db:3306
|
|
GITEA__database__NAME: gitea
|
|
GITEA__database__USER: gitea
|
|
GITEA__database__PASSWD: gitea
|
|
GITEA__service__DISABLE_REGISTRATION: true
|
|
GITEA__server__DOMAIN: git.guiotte.fr
|
|
GITEA__server__SSH_DOMAIN: git.guiotte.fr
|
|
GITEA__server__LANDING_PAGE: explore
|
|
depends_on:
|
|
- gitea-db
|
|
volumes:
|
|
- gitea-data:/data
|
|
|
|
|
|
gitea-db:
|
|
image: linuxserver/mariadb:latest
|
|
container_name: gitea-db
|
|
restart: unless-stopped
|
|
environment:
|
|
<<: *common-environment
|
|
FILE__MYSQL_ROOT_PASSWORD: /run/secrets/gitea-db-root-pw
|
|
FILE__MYSQL_PASSWORD: /run/secrets/gitea-db-pw
|
|
MYSQL_DATABASE: gitea
|
|
MYSQL_USER: gitea
|
|
volumes:
|
|
- gitea-db:/config
|
|
secrets:
|
|
- gitea-db-root-pw
|
|
- gitea-db-pw
|
|
|
|
|
|
nocodb:
|
|
image: nocodb/nocodb:latest
|
|
container_name: nocodb
|
|
restart: unless-stopped
|
|
environment:
|
|
<<: *common-environment
|
|
NC_DB_JSON_FILE: /run/secrets/nocodb-json
|
|
volumes:
|
|
- nocodb-data:/usr/app/data
|
|
secrets:
|
|
- nocodb-json
|
|
|
|
|
|
nocodb-db:
|
|
image: linuxserver/mariadb:latest
|
|
container_name: nocodb-db
|
|
restart: unless-stopped
|
|
environment:
|
|
<<: *common-environment
|
|
FILE__MYSQL_ROOT_PASSWORD: /run/secrets/nocodb-db-root-pw
|
|
FILE__MYSQL_PASSWORD: /run/secrets/nocodb-db-pw
|
|
MYSQL_DATABASE: nocodb
|
|
MYSQL_USER: nocodb
|
|
volumes:
|
|
- nocodb-db:/config
|
|
secrets:
|
|
- nocodb-db-root-pw
|
|
- nocodb-db-pw
|
|
|
|
|
|
jellyfin:
|
|
image: lscr.io/linuxserver/jellyfin:latest
|
|
container_name: jellyfin
|
|
environment:
|
|
<<: *common-environment
|
|
JELLYFIN_PublishedServerUrl: https://flix.guiotte.fr
|
|
volumes:
|
|
- jellyfin-config:/config
|
|
- /storage/@media/video:/data/video
|
|
- /storage/@media/music:/data/music
|
|
ports:
|
|
- 7359:7359/udp #optional Allows clients to discover Jellyfin on the local network
|
|
- 1900:1900/udp #optional Service discovery used by DNLA and clients
|
|
restart: unless-stopped
|
|
devices:
|
|
- /dev/dri:/dev/dri
|
|
|
|
|
|
taskchampion:
|
|
image: ghcr.io/gothenburgbitfactory/taskchampion-sync-server:latest
|
|
container_name: taskchampion
|
|
restart: unless-stopped
|
|
environment:
|
|
- "RUST_LOG=info" # Log every request
|
|
- "DATA_DIR=/taskchampion-data"
|
|
- "TASKCHAMPION_SYNC_SERVER_HOSTNAME=task.guiotte.fr"
|
|
- "TASKCHAMPION_SYNC_SERVER_CLIENT_ID=${TASKCHAMPION_SYNC_SERVER_CLIENT_ID}"
|
|
volumes:
|
|
- taskchampion-data:/taskchampion-data
|
|
|
|
|
|
volumes:
|
|
money-data:
|
|
lychee-db:
|
|
lychee-config:
|
|
lychee-pictures:
|
|
taskserver-data:
|
|
taskserver-certs:
|
|
transmission-config:
|
|
nextcloud-data:
|
|
nextcloud-config:
|
|
nextcloud-db-config:
|
|
ddclient-cache:
|
|
hedgedoc-config:
|
|
hedgedoc-db:
|
|
homeassistant-config:
|
|
zotero-sync-data:
|
|
gitea-data:
|
|
gitea-db:
|
|
sonarr-config:
|
|
jackett-config:
|
|
sync-audrey:
|
|
sync-notes:
|
|
nocodb:
|
|
nocodb-data:
|
|
nocodb-db:
|
|
jellyfin-config:
|
|
taskchampion-data:
|
|
|
|
|
|
secrets:
|
|
lychee-db-root-pw:
|
|
file: lychee-db-root-pw.secret
|
|
lychee-db-pw:
|
|
file: lychee-db-pw.secret
|
|
nextcloud-db-root-pw:
|
|
file: nextcloud-db-root-pw.secret
|
|
nextcloud-db-pw:
|
|
file: nextcloud-db-pw.secret
|
|
transmission-user:
|
|
file: transmission-user.secret
|
|
transmission-pw:
|
|
file: transmission-pw.secret
|
|
hedgedoc-db-root-pw:
|
|
file: hedgedoc-db-root-pw.secret
|
|
hedgedoc-db-pw:
|
|
file: hedgedoc-db-pw.secret
|
|
gitea-db-root-pw:
|
|
file: gitea-db-root-pw.secret
|
|
gitea-db-pw:
|
|
file: gitea-db-pw.secret
|
|
nocodb-db-root-pw:
|
|
file: nocodb-db-root-pw.secret
|
|
nocodb-db-pw:
|
|
file: nocodb-db-pw.secret
|
|
nocodb-json:
|
|
file: nocodb-json.secret
|