diff --git a/.gitignore b/.gitignore index debc63c..3c7f4fb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,8 @@ +**/config/ **/data/ .env + +comfyui/config/ +comfyui/.git/ +comfyui/build + diff --git a/factorio/docker-compose.yml b/archived/factorio/docker-compose.yml similarity index 100% rename from factorio/docker-compose.yml rename to archived/factorio/docker-compose.yml diff --git a/minecraft/docker-compose.yml b/archived/minecraft/docker-compose.yml similarity index 100% rename from minecraft/docker-compose.yml rename to archived/minecraft/docker-compose.yml diff --git a/minecraft/shell.sh b/archived/minecraft/shell.sh similarity index 100% rename from minecraft/shell.sh rename to archived/minecraft/shell.sh diff --git a/arr-stack/docker-compose.yml b/arr-stack/docker-compose.yml index 7e1dcbe..de130af 100644 --- a/arr-stack/docker-compose.yml +++ b/arr-stack/docker-compose.yml @@ -109,6 +109,8 @@ services: - PGID=1000 - TZ=Europe/Amsterdam - JELLYFIN_PublishedServerUrl=https://jellyfin.vleeuwen.me + - NVIDIA_VISIBLE_DEVICES=all + - NVIDIA_DRIVER_CAPABILITIES=compute,video,utility volumes: - ./data/jellyfin-config:/config - /mnt:/mnt @@ -116,15 +118,24 @@ services: - 8096:8096 - 8920:8920 - 7359:7359/udp - - 1900:1900/udp + - 1901:1900/udp restart: unless-stopped group_add: - "992" - "44" - devices: - - /dev/dri/renderD128:/dev/dri/renderD128 networks: - shared_network + deploy: + resources: + reservations: + devices: + - driver: cdi + device_ids: + - nvidia.com/gpu=all + capabilities: + - gpu + - compute + - video overseerr: image: lscr.io/linuxserver/overseerr:latest @@ -146,4 +157,4 @@ services: networks: shared_network: external: true - name: shared_network \ No newline at end of file + name: shared_network diff --git a/codeserver/docker-compose.yml b/codeserver/docker-compose.yml deleted file mode 100644 index 084207c..0000000 --- a/codeserver/docker-compose.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: codeserver -services: - server: - image: lscr.io/linuxserver/code-server:latest - container_name: code-server - environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Amsterdam - - HASHED_PASSWORD= - - SUDO_PASSWORD_HASH= - - DEFAULT_WORKSPACE=/config/workspace - volumes: - - ./data:/config - - /mnt:/config/workspace - ports: - - 8443:8443 - restart: unless-stopped diff --git a/dockge/compose.yaml b/dockge/compose.yaml new file mode 100644 index 0000000..aebcd42 --- /dev/null +++ b/dockge/compose.yaml @@ -0,0 +1,22 @@ +services: + dockge: + image: louislam/dockge:1 + restart: unless-stopped + ports: + # Host Port : Container Port + - 5001:5001 + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ./data:/app/data + + # If you want to use private registries, you need to share the auth file with Dockge: + # - /root/.docker/:/root/.docker + + # Stacks Directory + # ⚠️ READ IT CAREFULLY. If you did it wrong, your data could end up writing into a WRONG PATH. + # ⚠️ 1. FULL path only. No relative path (MUST) + # ⚠️ 2. Left Stacks Path === Right Stacks Path (MUST) + - /mnt/services:/mnt/services + environment: + # Tell Dockge where is your stacks directory + - DOCKGE_STACKS_DIR=/mnt/services diff --git a/duplicati/docker-compose.yml b/duplicati/docker-compose.yml index 37c0940..553f4a1 100644 --- a/duplicati/docker-compose.yml +++ b/duplicati/docker-compose.yml @@ -16,6 +16,7 @@ services: extra_hosts: - host.docker.internal:host-gateway restart: unless-stopped +# command: [ "/app/duplicati/duplicati", "--webservice-password=Test123" ] notifications: image: ghcr.io/vleeuwenmenno/duplicati-discord-notification:main diff --git a/hoarder/docker-compose.yml b/hoarder/docker-compose.yml new file mode 100644 index 0000000..597503f --- /dev/null +++ b/hoarder/docker-compose.yml @@ -0,0 +1,40 @@ +services: + web: + image: ghcr.io/hoarder-app/hoarder:${HOARDER_VERSION:-release} + restart: unless-stopped + volumes: + - data:/data + ports: + - 3500:3000 + env_file: + - .env + environment: + MEILI_ADDR: http://meilisearch:7700 + BROWSER_WEB_URL: http://chrome:9222 + OPENAI_API_KEY: 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 + DATA_DIR: /data + + chrome: + image: gcr.io/zenika-hub/alpine-chrome:123 + restart: unless-stopped + command: + - --no-sandbox + - --disable-gpu + - --disable-dev-shm-usage + - --remote-debugging-address=0.0.0.0 + - --remote-debugging-port=9222 + - --hide-scrollbars + + meilisearch: + image: getmeili/meilisearch:v1.11.1 + restart: unless-stopped + env_file: + - .env + environment: + MEILI_NO_ANALYTICS: "true" + volumes: + - meilisearch:/meili_data + +volumes: + meilisearch: + data: diff --git a/homeassistant/docker-compose.yml b/homeassistant/docker-compose.yml new file mode 100644 index 0000000..bd15af8 --- /dev/null +++ b/homeassistant/docker-compose.yml @@ -0,0 +1,17 @@ +services: + homeassistant: + container_name: homeassistant + image: "ghcr.io/home-assistant/home-assistant:stable" + volumes: + - "/var/run/dbus:/run/dbus:ro" + - ./config/ha:/config + - /var/run/docker.sock:/var/run/docker.sock + environment: + - TZ=Europe/Amsterdam + - PUID=1000 + - PGID=1000 + restart: unless-stopped + privileged: true + network_mode: host + devices: + - /dev/ttyUSB0:/dev/ttyUSB0 diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index bcbee61..326cc86 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -2,9 +2,9 @@ name: immich services: server: image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} - #extends: - # file: hwaccel.transcoding.yml - # service: nvenc # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding + extends: + file: hwaccel.transcoding.yml + service: nvenc # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro @@ -18,22 +18,21 @@ services: environment: - PUID=1000 - PGID=1000 - restart: always + restart: unless-stopped healthcheck: disable: false machine-learning: - # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag. - # Example tag: ${IMMICH_VERSION:-release}-cuda + # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag. machine-learning # Example tag: ${IMMICH_VERSION:-release}-cuda image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda - #extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration - # file: hwaccel.ml.yml - # service: cuda # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable + extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration + file: hwaccel.ml.yml + service: cuda # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable volumes: - model-cache:/cache env_file: - .env - restart: always + restart: unless-stopped healthcheck: disable: false @@ -42,7 +41,7 @@ services: image: docker.io/redis:6.2-alpine@sha256:2ba50e1ac3a0ea17b736ce9db2b0a9f6f8b85d4c27d5f5accc6a416d8f42c6d5 healthcheck: test: redis-cli ping || exit 1 - restart: always + restart: unless-stopped database: container_name: immich_postgres @@ -78,7 +77,7 @@ services: '-c', 'wal_compression=on', ] - restart: always + restart: unless-stopped volumes: model-cache: diff --git a/immich/hwaccel.ml.yml b/immich/hwaccel.ml.yml index 34d9483..8167be2 100644 --- a/immich/hwaccel.ml.yml +++ b/immich/hwaccel.ml.yml @@ -14,8 +14,9 @@ services: resources: reservations: devices: - - driver: nvidia - count: 1 + - driver: cdi + device_ids: + - nvidia.com/gpu=all capabilities: - gpu diff --git a/immich/hwaccel.transcoding.yml b/immich/hwaccel.transcoding.yml index 3513352..5865878 100644 --- a/immich/hwaccel.transcoding.yml +++ b/immich/hwaccel.transcoding.yml @@ -14,8 +14,9 @@ services: resources: reservations: devices: - - driver: nvidia - count: 1 + - driver: cdi + device_ids: + - nvidia.com/gpu=all capabilities: - gpu - compute diff --git a/plex/docker-compose.yml b/plex/docker-compose.yml index 83064f1..da335f7 100644 --- a/plex/docker-compose.yml +++ b/plex/docker-compose.yml @@ -1,8 +1,7 @@ services: plex: - image: lscr.io/linuxserver/plex:latest + image: plexinc/pms-docker:latest container_name: plex - network_mode: host environment: - PUID=1000 - PGID=1000 @@ -12,12 +11,35 @@ services: - NVIDIA_DRIVER_CAPABILITIES=compute,video,utility volumes: - /mnt/services/plex/data/plex:/config + - /tmp/plex-transcode:/transcode - /mnt/movies:/movies - /mnt/tvshows:/tvshows - /mnt/music:/music - /mnt/photos/plex:/photos - - /dev/dri/renderD128:/dev/dri/renderD128 restart: unless-stopped + ports: + - 32400:32400/tcp + - 3005:3005/tcp + - 8324:8324/tcp + - 32469:32469/tcp +# - 1900:1900/udp + - 32410:32410/udp + - 32412:32412/udp + - 32413:32413/udp + - 32414:32414/udp + networks: + - shared_network + deploy: + resources: + reservations: + devices: + - driver: cdi + device_ids: + - nvidia.com/gpu=all + capabilities: + - gpu + - compute + - video tautulli: image: lscr.io/linuxserver/tautulli:latest diff --git a/satisfactory/docker-compose.yml b/satisfactory/docker-compose.yml deleted file mode 100644 index 186a7b2..0000000 --- a/satisfactory/docker-compose.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: satisfactory -services: - server: - hostname: 'satisfactory-server' - image: 'wolveix/satisfactory-server:latest' - restart: unless-stopped - volumes: - - './data/config:/config' - - './data/certs/live/satisfactory.mvl.sh/fullchain.pem:/config/gamefiles/FactoryGame/Certificates/cert_chain.pem' - - './data/certs/live/satisfactory.mvl.sh/privkey.pem:/config/gamefiles/FactoryGame/Certificates/private_key.pem' - environment: - - MAXPLAYERS=4 - - PGID=1000 - - PUID=1000 - - ROOTLESS=false - - STEAMBETA=false - healthcheck: - test: [ "CMD", "bash", "/healthcheck.sh" ] - interval: 30s - timeout: 10s - retries: 3 - start_period: 120s - depends_on: - certbot: - condition: service_completed_successfully - deploy: - resources: - reservations: - memory: 4G - limits: - memory: 8G - network_mode: 'host' - - certbot: - image: certbot/certbot - command: certonly --standalone --non-interactive --agree-tos -m menno@vleeuwen.me -d satisfactory.mvl.sh - # Uncomment this when requesting a new certificate, make sure to disable nginx-proxy-manager first since this conflicts with port 80 - # ports: - # - '80:80/tcp' - volumes: - - ./data/certs:/etc/letsencrypt - environment: - - CERTBOT_MAIL=menno@vleeuwen.me - - DOMAIN=satisfactory.mvl.sh diff --git a/torrent/docker-compose.yml b/torrent/docker-compose.yml index 010c599..9b1acee 100644 --- a/torrent/docker-compose.yml +++ b/torrent/docker-compose.yml @@ -1,7 +1,7 @@ services: gluetun: image: qmcgaw/gluetun:latest - container_name: gluetun + privileged: true cap_add: - NET_ADMIN networks: @@ -10,6 +10,8 @@ services: - 6881:6881 - 6881:6881/udp - 8085:8085 + devices: + - /dev/net/tun:/dev/net/tun volumes: - /mnt/services/torrent/data/gluetun:/gluetun environment: @@ -23,7 +25,6 @@ services: qbittorrent: image: lscr.io/linuxserver/qbittorrent - container_name: qbittorrent network_mode: "service:gluetun" environment: - PUID=1000 @@ -34,10 +35,11 @@ services: - /mnt/services/torrent/data/qbit-config:/config - /mnt:/storage depends_on: - - gluetun + gluetun: + condition: service_healthy restart: always networks: shared_network: external: true - name: shared_network \ No newline at end of file + name: shared_network diff --git a/wikipedia/docker-compose.yml b/wikipedia/docker-compose.yml new file mode 100644 index 0000000..f253892 --- /dev/null +++ b/wikipedia/docker-compose.yml @@ -0,0 +1,8 @@ +services: + kiwix: + image: offlineinternet/kiwix + ports: + - '8888:8080' + volumes: + - "./data/dumps:/data" + - "./data:/more-data" diff --git a/wireguard/docker-compose.yml b/wireguard/docker-compose.yml index 232224a..d18c75f 100644 --- a/wireguard/docker-compose.yml +++ b/wireguard/docker-compose.yml @@ -8,7 +8,7 @@ services: environment: - PUID=1000 - PGID=1000 - - PEERS=s24,pc,laptop + - PEERS=s24,pc,laptop,worklaptop volumes: - /mnt/services/wireguard/data:/config ports: