x-common-environment: &common-environment PUID: 1000 PGID: 1000 TZ: Europe/Paris 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 devices: - /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20240219191913-if00:/dev/ttyACM0 # NOTE: Temporarily disable zigbee and wifi iot # # # #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