Remove stray blank lines and start every stack with ---

This commit is contained in:
Djeex
2026-09-02 23:42:00 +02:00
parent 8ca6bec943
commit 8b2073474d
57 changed files with 78 additions and 347 deletions
@@ -84,7 +84,6 @@ services:
restart: unless-stopped restart: unless-stopped
healthcheck: healthcheck:
test: test:
- CMD-SHELL - CMD-SHELL
- pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER} - pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}
start_period: 20s start_period: 20s
@@ -92,14 +91,12 @@ services:
retries: 5 retries: 5
timeout: 5s timeout: 5s
volumes: volumes:
- database:/var/lib/postgresql/data - database:/var/lib/postgresql/data
environment: environment:
POSTGRES_PASSWORD: ${PG_PASS:?database password required} POSTGRES_PASSWORD: ${PG_PASS:?database password required}
POSTGRES_USER: ${PG_USER:-authentik} POSTGRES_USER: ${PG_USER:-authentik}
POSTGRES_DB: ${PG_DB:-authentik} POSTGRES_DB: ${PG_DB:-authentik}
env_file: env_file:
- .env - .env
redis: redis:
@@ -109,7 +106,6 @@ services:
restart: unless-stopped restart: unless-stopped
healthcheck: healthcheck:
test: test:
- CMD-SHELL - CMD-SHELL
- redis-cli ping | grep PONG - redis-cli ping | grep PONG
start_period: 20s start_period: 20s
@@ -117,7 +113,6 @@ services:
retries: 5 retries: 5
timeout: 3s timeout: 3s
volumes: volumes:
- redis:/data - redis:/data
server: server:
@@ -132,19 +127,15 @@ services:
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik} AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS} AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
volumes: volumes:
- ./media:/media - ./media:/media
- ./custom-templates:/templates - ./custom-templates:/templates
- ./ssh:/authentik/.ssh - ./ssh:/authentik/.ssh
env_file: env_file:
- .env - .env
ports: ports:
- ${COMPOSE_PORT_HTTP:-9000}:9000 - ${COMPOSE_PORT_HTTP:-9000}:9000
- ${COMPOSE_PORT_HTTPS:-9443}:9443 - ${COMPOSE_PORT_HTTPS:-9443}:9443
depends_on: depends_on:
- postgresql - postgresql
- redis - redis
@@ -167,17 +158,14 @@ services:
# (1000:1000 by default) # (1000:1000 by default)
user: root user: root
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- ./media:/media - ./media:/media
- ./certs:/certs - ./certs:/certs
- ./custom-templates:/templates - ./custom-templates:/templates
- ./ssh:/authentik/.ssh - ./ssh:/authentik/.ssh
env_file: env_file:
- .env - .env
depends_on: depends_on:
- postgresql - postgresql
- redis - redis
@@ -287,6 +275,7 @@ Save with :kbd{value="Ctrl+O"}, then :kbd{value="Enter"}, and exit with :kbd{val
Go to Dockge, and edit the SWAG compose file to add the Authentik network: Go to Dockge, and edit the SWAG compose file to add the Authentik network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -467,6 +456,7 @@ sudo nano /docker/authentik-outpost/compose.yaml
Paste the following configuration, updating the version in `{AUTHENTIK_TAG:proxy:2024.2.3}`{lang=properties} to match your Authentik server version. Paste the following configuration, updating the version in `{AUTHENTIK_TAG:proxy:2024.2.3}`{lang=properties} to match your Authentik server version.
```yaml [compose.yaml] ```yaml [compose.yaml]
---
version: "3.5" version: "3.5"
services: services:
authentik_proxy: authentik_proxy:
@@ -476,10 +466,8 @@ services:
# might be needed to reach the core authentik server # might be needed to reach the core authentik server
restart: unless-stopped restart: unless-stopped
env_file: env_file:
- .env - .env
ports: ports:
- 9000:9000 - 9000:9000
- 9443:9443 - 9443:9443
environment: environment:
@@ -497,6 +485,7 @@ sudo nano /docker/swag/compose.yaml
``` ```
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: #... container_name: #...
+1 -6
View File
@@ -97,16 +97,13 @@ services:
restart: unless-stopped restart: unless-stopped
container_name: dockge container_name: dockge
ports: ports:
- 3555:5001 # LAN-accessible port will be 3555 - 3555:5001 # LAN-accessible port will be 3555
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- /docker/dockge/data:/app/data - /docker/dockge/data:/app/data
- /docker:/docker - /docker:/docker
environment: environment:
- DOCKGE_STACKS_DIR=/docker - DOCKGE_STACKS_DIR=/docker
``` ```
@@ -149,10 +146,8 @@ services:
image: ghcr.io/nicholas-fedor/watchtower:latest image: ghcr.io/nicholas-fedor/watchtower:latest
restart: unless-stopped restart: unless-stopped
env_file: env_file:
- .env - .env
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
- WATCHTOWER_SCHEDULE=${SCHEDULE} - WATCHTOWER_SCHEDULE=${SCHEDULE}
- WATCHTOWER_LABEL_ENABLE=true - WATCHTOWER_LABEL_ENABLE=true
@@ -163,7 +158,6 @@ services:
#- WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER=Watchtower #- WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER=Watchtower
#- WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL=${WH_URL} #- WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL=${WH_URL}
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
``` ```
@@ -186,6 +180,7 @@ WH_URL=
To have Watchtower monitor your other containers, add this to their `compose.yml`: To have Watchtower monitor your other containers, add this to their `compose.yml`:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
+2 -7
View File
@@ -58,13 +58,10 @@ services:
image: lscr.io/linuxserver/swag:latest image: lscr.io/linuxserver/swag:latest
container_name: swag container_name: swag
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
env_file: env_file:
- .env - .env
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
- URL=${DOMAIN} - URL=${DOMAIN}
- EXTRA_DOMAINS=${DOMAINS} - EXTRA_DOMAINS=${DOMAINS}
@@ -74,16 +71,13 @@ services:
- EMAIL=${EMAIL} - EMAIL=${EMAIL}
- DOCKER_MODS=linuxserver/mods:swag-dbip|linuxserver/mods:swag-dashboard|linuxserver/mods:swag-auto-reload - DOCKER_MODS=linuxserver/mods:swag-dbip|linuxserver/mods:swag-dashboard|linuxserver/mods:swag-auto-reload
volumes: volumes:
- /docker/swag/config:/config - /docker/swag/config:/config
ports: ports:
- 80:80 - 80:80
- 443:443 - 443:443
- 81:81 - 81:81
restart: unless-stopped restart: unless-stopped
networks: networks:
- swag - swag
networks: networks:
@@ -96,11 +90,11 @@ networks:
Add the watchtower label to each container to enable automatic updates Add the watchtower label to each container to enable automatic updates
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -361,6 +355,7 @@ By default, SWAG doesnt recognize the name "dockge". Youll need to add Doc
Go to the SWAG stack, click `edit`, and modify the config file like this (note the `networks` section): Go to the SWAG stack, click `edit`, and modify the config file like this (note the `networks` section):
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: #... container_name: #...
+2 -10
View File
@@ -78,7 +78,6 @@ Copy the following configuration:
services: services:
wg-easy: wg-easy:
environment: environment:
- INSECURE=true - INSECURE=true
image: ghcr.io/wg-easy/wg-easy:15 image: ghcr.io/wg-easy/wg-easy:15
container_name: wg-easy container_name: wg-easy
@@ -87,20 +86,16 @@ services:
ipv4_address: 10.42.42.42 ipv4_address: 10.42.42.42
ipv6_address: fdcc:ad94:bacf:61a3::2a ipv6_address: fdcc:ad94:bacf:61a3::2a
volumes: volumes:
- ./etc_wireguard:/etc/wireguard - ./etc_wireguard:/etc/wireguard
- /lib/modules:/lib/modules:ro - /lib/modules:/lib/modules:ro
ports: ports:
- "51820:51820/udp" - "51820:51820/udp"
- "51821:51821/tcp" - "51821:51821/tcp"
restart: unless-stopped restart: unless-stopped
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
- SYS_MODULE - SYS_MODULE
sysctls: sysctls:
- net.ipv4.ip_forward=1 - net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1 - net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.disable_ipv6=0 - net.ipv6.conf.all.disable_ipv6=0
@@ -114,7 +109,6 @@ networks:
ipam: ipam:
driver: default driver: default
config: config:
- subnet: 10.42.42.0/24 - subnet: 10.42.42.0/24
- subnet: fdcc:ad94:bacf:61a3::/64 - subnet: fdcc:ad94:bacf:61a3::/64
``` ```
@@ -126,11 +120,11 @@ networks:
- Add a Watchtower label for automatic updates: - Add a Watchtower label for automatic updates:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
wg-easy: wg-easy:
# ... # ...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -236,20 +230,18 @@ sudo cp ~/wg0.conf /docker/wireguard/config/wg_confs
Create the `compose.yaml` file in `/docker/wireguard`: Create the `compose.yaml` file in `/docker/wireguard`:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
wireguard: wireguard:
image: lscr.io/linuxserver/wireguard:latest image: lscr.io/linuxserver/wireguard:latest
container_name: wireguard container_name: wireguard
network_mode: host network_mode: host
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
- SYS_MODULE - SYS_MODULE
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/wireguard/config:/config - /docker/wireguard/config:/config
- /lib/modules:/lib/modules - /lib/modules:/lib/modules
restart: unless-stopped restart: unless-stopped
@@ -90,7 +90,6 @@ Paste:
```yaml [tunnelconfig.yml] ```yaml [tunnelconfig.yml]
ingress: ingress:
- hostname: mondomaine.fr - hostname: mondomaine.fr
service: https://mondomaine.fr service: https://mondomaine.fr
@@ -134,13 +133,10 @@ services:
image: lscr.io/linuxserver/swag:latest image: lscr.io/linuxserver/swag:latest
container_name: swag container_name: swag
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
env_file: env_file:
- .env - .env
environment: environment:
- DOCKER_MODS=linuxserver/mods:swag-dbip|linuxserver/mods:swag-dashboard|linuxserver/mods:swag-auto-reload|linuxserver/mods:universal-cloudflared|linuxserver/mods:swag-cloudflare-real-ip - DOCKER_MODS=linuxserver/mods:swag-dbip|linuxserver/mods:swag-dashboard|linuxserver/mods:swag-auto-reload|linuxserver/mods:universal-cloudflared|linuxserver/mods:swag-cloudflare-real-ip
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
@@ -157,13 +153,10 @@ services:
- CF_TUNNEL_PASSWORD=${TUNNEL_PW} - CF_TUNNEL_PASSWORD=${TUNNEL_PW}
- FILE__CF_TUNNEL_CONFIG=/config/tunnelconfig.yml - FILE__CF_TUNNEL_CONFIG=/config/tunnelconfig.yml
extra_hosts: extra_hosts:
- ${DOMAIN}:127.0.0.1 - ${DOMAIN}:127.0.0.1
ports: ports:
- 81:81 - 81:81
volumes: volumes:
- /docker/swag/config:/config - /docker/swag/config:/config
- /docker/swag/config/fail2ban/fail2ban.sqlite3:/dashboard/fail2ban.sqlite3:ro - /docker/swag/config/fail2ban/fail2ban.sqlite3:/dashboard/fail2ban.sqlite3:ro
restart: unless-stopped restart: unless-stopped
@@ -173,8 +166,8 @@ services:
✨ __Tip:__ Add a Watchtower label to automate updates: ✨ __Tip:__ Add a Watchtower label to automate updates:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -56,10 +56,8 @@ services:
env_file: env_file:
- .env - .env
volumes: volumes:
- /docker/pocket-id/data:/app/data - /docker/pocket-id/data:/app/data
ports: ports:
- 1411:1411 - 1411:1411
healthcheck: healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:1411/healthz"] test: ["CMD", "curl", "-f", "http://localhost:1411/healthz"]
@@ -72,11 +70,11 @@ services:
✨ Add the Watchtower label to automate updates: ✨ Add the Watchtower label to automate updates:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
pocket-id: pocket-id:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -127,6 +125,7 @@ We assume you have the subdomain `id.mydomain.com` with a `CNAME` pointing to `m
Go to Dockge and edit SWAG's compose file by adding Pocket ID's network: Go to Dockge and edit SWAG's compose file by adding Pocket ID's network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -62,13 +62,10 @@ services:
container_name: tinyauth container_name: tinyauth
restart: unless-stopped restart: unless-stopped
env_file: env_file:
- .env - .env
volumes: volumes:
- /docker/tinyauth/data:/data - /docker/tinyauth/data:/data
ports: ports:
- 3000:3000 - 3000:3000
``` ```
@@ -76,11 +73,11 @@ services:
✨ Add the Watchtower label to automate updates: ✨ Add the Watchtower label to automate updates:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
tinyauth: tinyauth:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -118,6 +115,7 @@ We assume you have the subdomain `tinyauth.mydomain.com` with a `CNAME` pointing
Go to Dockge and edit SWAG's compose file by adding TinyAuth's network: Go to Dockge and edit SWAG's compose file by adding TinyAuth's network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -33,10 +33,8 @@ services:
image: louislam/uptime-kuma:2-slim image: louislam/uptime-kuma:2-slim
container_name: uptime-kuma container_name: uptime-kuma
volumes: volumes:
- /docker/uptime-kuma/uptime-kuma-data:/app/data - /docker/uptime-kuma/uptime-kuma-data:/app/data
ports: ports:
- 3200:3001 # <Host Port>:<Container Port> - 3200:3001 # <Host Port>:<Container Port>
restart: always restart: always
``` ```
@@ -151,6 +149,7 @@ Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ct
In Dockge, edit the SWAG compose and add the Uptime-Kuma network: In Dockge, edit the SWAG compose and add the Uptime-Kuma network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -43,7 +43,6 @@ services:
environment: environment:
- DOZZLE_HOSTNAME=${DOMAIN} - DOZZLE_HOSTNAME=${DOMAIN}
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
``` ```
@@ -94,6 +93,7 @@ We assume you have created a subdomain like `dozzle.mydomain.com` in your [DNS z
Go to Dockge and edit the SWAG compose file to add Dozzles network: Go to Dockge and edit the SWAG compose file to add Dozzles network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -60,10 +60,8 @@ services:
restart: unless-stopped restart: unless-stopped
container_name: speedtest-tracker container_name: speedtest-tracker
ports: ports:
- ${PORT}:80 - ${PORT}:80
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${GUID} - PGID=${GUID}
- TZ=Europe/Paris - TZ=Europe/Paris
@@ -71,7 +69,6 @@ services:
- DB_CONNECTION=sqlite - DB_CONNECTION=sqlite
- SPEEDTEST_SCHEDULE=${SCHEDULE} - SPEEDTEST_SCHEDULE=${SCHEDULE}
volumes: volumes:
- /docker/speedtest-tracker/data/config:/config - /docker/speedtest-tracker/data/config:/config
``` ```
@@ -181,6 +178,7 @@ By default, SWAG doesnt know the name "speedtest-tracker". To allow access, y
Go to Dockge, and edit SWAGs compose to include Speedtest Trackers network: Go to Dockge, and edit SWAGs compose to include Speedtest Trackers network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -47,10 +47,8 @@ services:
container_name: beszel container_name: beszel
restart: unless-stopped restart: unless-stopped
ports: ports:
- ${PORT}:8090 - ${PORT}:8090
volumes: volumes:
- ./data:/beszel_data - ./data:/beszel_data
- ./socket:/beszel_socket - ./socket:/beszel_socket
@@ -60,7 +58,6 @@ services:
restart: unless-stopped restart: unless-stopped
network_mode: host network_mode: host
volumes: volumes:
- ./socket:/beszel_socket - ./socket:/beszel_socket
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
environment: environment:
@@ -73,11 +70,11 @@ services:
✨ __Tip:__ Add the Watchtower label to each container to automate updates. ✨ __Tip:__ Add the Watchtower label to each container to automate updates.
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
beszel: beszel:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -127,7 +124,6 @@ services:
restart: unless-stopped restart: unless-stopped
network_mode: host network_mode: host
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
environment: environment:
LISTEN: ${PORT} LISTEN: ${PORT}
@@ -166,6 +162,7 @@ You must have created a DNS subdomain like `beszel.mydomain.com` with a `CNAME`
In Dockge, edit Swag's compose file and add Beszels network: In Dockge, edit Swag's compose file and add Beszels network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -43,16 +43,13 @@ services:
network_mode: host network_mode: host
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- /docker/upsnap/data:/app/pb_data - /docker/upsnap/data:/app/pb_data
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
- UPSNAP_SCAN_RANGE=${SCAN_RANGE} - UPSNAP_SCAN_RANGE=${SCAN_RANGE}
- UPSNAP_SCAN_TIMEOUT=500ms - UPSNAP_SCAN_TIMEOUT=500ms
- UPSNAP_PING_PRIVILEGED=true - UPSNAP_PING_PRIVILEGED=true
dns: dns:
- ${DNS} - ${DNS}
entrypoint: /bin/sh -c "./upsnap serve --http 0.0.0.0:8095" entrypoint: /bin/sh -c "./upsnap serve --http 0.0.0.0:8095"
healthcheck: healthcheck:
@@ -105,6 +102,7 @@ We assume you've created a subdomain in your [DNS zone](/general/networking/dns)
Go to Dockge, and edit the SWAG compose by adding the UpSnap network: Go to Dockge, and edit the SWAG compose by adding the UpSnap network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+2 -5
View File
@@ -58,20 +58,16 @@ services:
image: lscr.io/linuxserver/jellyfin:latest image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin container_name: jellyfin
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${GUID} - PGID=${GUID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/jellyfin/config:/config - /docker/jellyfin/config:/config
- /media:/media - /media:/media
restart: unless-stopped restart: unless-stopped
devices: devices:
- /dev/dri:/dev/dri - /dev/dri:/dev/dri
ports: ports:
- 8096:8096 - 8096:8096
``` ```
@@ -79,11 +75,11 @@ services:
✨ Add the Watchtower label to automate updates: ✨ Add the Watchtower label to automate updates:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
jellyfin: jellyfin:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -133,6 +129,7 @@ We assume you have the subdomain `jellyfin.mydomain.com` with a `CNAME` pointing
Go to Dockge and edit SWAG's compose file by adding Jellyfin's network: Go to Dockge and edit SWAG's compose file by adding Jellyfin's network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+3 -11
View File
@@ -57,7 +57,7 @@ mkdir -P /media/downloads
Open Dockge, click on `compose`, and name the stack `seedbox`. Paste the following config: Open Dockge, click on `compose`, and name the stack `seedbox`. Paste the following config:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
qbit: qbit:
image: ghcr.io/linuxserver/qbittorrent:libtorrentv1 image: ghcr.io/linuxserver/qbittorrent:libtorrentv1
@@ -66,7 +66,6 @@ services:
network_mode: service:gluetun network_mode: service:gluetun
mem_limit: 4g mem_limit: 4g
environment: environment:
- DOCKER_MODS=ghcr.io/gabe565/linuxserver-mod-vuetorrent|ghcr.io/t-anc/gsp-qbittorent-gluetun-sync-port-mod:main - DOCKER_MODS=ghcr.io/gabe565/linuxserver-mod-vuetorrent|ghcr.io/t-anc/gsp-qbittorent-gluetun-sync-port-mod:main
- TZ=Europe/Paris - TZ=Europe/Paris
- PUID=${PUID} - PUID=${PUID}
@@ -76,11 +75,9 @@ services:
- GSP_QBT_USERNAME=${ID} - GSP_QBT_USERNAME=${ID}
- GSP_QBT_PASSWORD=${PW} - GSP_QBT_PASSWORD=${PW}
volumes: volumes:
- /docker/seedbox/qbittorrent/config:/config - /docker/seedbox/qbittorrent/config:/config
- /media:/media - /media:/media
depends_on: depends_on:
- gluetun - gluetun
gluetun: gluetun:
@@ -89,20 +86,15 @@ services:
restart: unless-stopped restart: unless-stopped
mem_limit: 4g mem_limit: 4g
volumes: volumes:
- /docker/gluetun/config.toml:/gluetun/auth/config.toml:ro - /docker/gluetun/config.toml:/gluetun/auth/config.toml:ro
devices: devices:
- /dev/net/tun:/dev/net/tun - /dev/net/tun:/dev/net/tun
ports: ports:
- ${UI_PORT}:5695 # Port de la web-ui - ${UI_PORT}:5695 # Port de la web-ui
- 8000:8000 # Port de controle de Gluetun - 8000:8000 # Port de controle de Gluetun
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
- VPN_SERVICE_PROVIDER=protonvpn - VPN_SERVICE_PROVIDER=protonvpn
- VPN_PORT_FORWARDING=on - VPN_PORT_FORWARDING=on
@@ -117,16 +109,15 @@ services:
✨ __Tip:__ Add the Watchtower label in each container to automate updates ✨ __Tip:__ Add the Watchtower label in each container to automate updates
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
qbittorrent: qbittorrent:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
gluetun: gluetun:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -229,6 +220,7 @@ We assume you have the subdomain `seedbox.mydomain.com` with a `CNAME` pointing
In Dockge, edit the SWAG compose file and add Gluetuns network: In Dockge, edit the SWAG compose file and add Gluetuns network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+2 -20
View File
@@ -70,36 +70,29 @@ services:
image: lscr.io/linuxserver/jellyfin:latest image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin container_name: jellyfin
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/jellyfin/config:/config - /docker/jellyfin/config:/config
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
restart: unless-stopped restart: unless-stopped
devices: devices:
- /dev/dri:/dev/dri - /dev/dri:/dev/dri
ports: ports:
- 8096:8096 - 8096:8096
sonarr: sonarr:
image: lscr.io/linuxserver/sonarr:latest image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr container_name: sonarr
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/sonarr/config:/config - /docker/sonarr/config:/config
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
ports: ports:
- 8989:8989 - 8989:8989
restart: unless-stopped restart: unless-stopped
@@ -107,16 +100,13 @@ services:
image: lscr.io/linuxserver/radarr:latest image: lscr.io/linuxserver/radarr:latest
container_name: radarr container_name: radarr
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/radarr/config:/config - /docker/radarr/config:/config
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
ports: ports:
- 7878:7878 - 7878:7878
restart: unless-stopped restart: unless-stopped
@@ -124,15 +114,12 @@ services:
image: lscr.io/linuxserver/prowlarr:latest image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr container_name: prowlarr
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/prowlarr/data:/config - /docker/prowlarr/data:/config
ports: ports:
- 9696:9696 - 9696:9696
restart: unless-stopped restart: unless-stopped
@@ -140,14 +127,11 @@ services:
image: ghcr.io/seerr-team/seerr:latest image: ghcr.io/seerr-team/seerr:latest
container_name: seerr container_name: seerr
environment: environment:
- LOG_LEVEL=info - LOG_LEVEL=info
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/seerr/config:/app/config - /docker/seerr/config:/app/config
ports: ports:
- 5055:5055 - 5055:5055
restart: unless-stopped restart: unless-stopped
@@ -156,16 +140,13 @@ services:
container_name: bazarr container_name: bazarr
restart: unless-stopped restart: unless-stopped
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/bazarr/config:/config - /docker/bazarr/config:/config
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
ports: ports:
- 6767:6767 - 6767:6767
``` ```
@@ -173,11 +154,11 @@ services:
✨ Add the Watchtower label to each container to automate updates ✨ Add the Watchtower label to each container to automate updates
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
jellyfin: jellyfin:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -403,6 +384,7 @@ We assume you have the subdomain `films.mydomain.com` with a `CNAME` pointing to
Go to Dockge, edit the SWAG compose file, and add the Seerr network, which is the same as Jellyfin (since its in the Jellyfin stack): Go to Dockge, edit the SWAG compose file, and add the Seerr network, which is the same as Jellyfin (since its in the Jellyfin stack):
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1
View File
@@ -63,6 +63,7 @@ We assume that you have a subdomain `immich.yourdomain.com` with a `CNAME` point
In Dockge, open the SWAG stack and edit the compose file to add Immich's network: In Dockge, open the SWAG stack and edit the compose file to add Immich's network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1 -3
View File
@@ -43,16 +43,13 @@ services:
image: lscr.io/linuxserver/nextcloud:latest image: lscr.io/linuxserver/nextcloud:latest
container_name: nextcloud container_name: nextcloud
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${GUID} - PGID=${GUID}
- TZ=Etc/UTC - TZ=Etc/UTC
volumes: volumes:
- /docker/nextcloud/config:/config - /docker/nextcloud/config:/config
- /docker/nextcloud/data:/data - /docker/nextcloud/data:/data
ports: ports:
- ${PORT}:443 - ${PORT}:443
restart: unless-stopped restart: unless-stopped
``` ```
@@ -94,6 +91,7 @@ We assume you have a subdomain `nextcloud.yourdomain.com` with a `CNAME` pointin
In Dockge, go to your SWAG stack and edit the compose to add Nextcloud's network: In Dockge, go to your SWAG stack and edit the compose to add Nextcloud's network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1 -3
View File
@@ -29,10 +29,8 @@ services:
image: stonith404/pingvin-share image: stonith404/pingvin-share
restart: unless-stopped restart: unless-stopped
ports: ports:
- 3600:3000 - 3600:3000
volumes: volumes:
- /docker/pingvin/data:/opt/app/backend/data - /docker/pingvin/data:/opt/app/backend/data
- /docker/pingvin/data/img:/opt/app/frontend/public/img - /docker/pingvin/data/img:/opt/app/frontend/public/img
- /docker/pingvin/uploads:/opt/app/backend/uploads # path to the folder where you want to store files uploaded to pingvin. Change to your preference. - /docker/pingvin/uploads:/opt/app/backend/uploads # path to the folder where you want to store files uploaded to pingvin. Change to your preference.
@@ -40,7 +38,6 @@ services:
clamav: clamav:
condition: service_healthy condition: service_healthy
networks: networks:
- swag - swag
clamav: #antivirus for the files clamav: #antivirus for the files
@@ -89,6 +86,7 @@ We assume you have the subdomain `pingvin.mydomain.com` with a `CNAME` pointing
In Dockge, go to the SWAG stack and edit the compose file to add the pingvin network: In Dockge, go to the SWAG stack and edit the compose file to add the pingvin network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -71,12 +71,10 @@ services:
image: gtstef/filebrowser:beta image: gtstef/filebrowser:beta
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- /docker:/docker - /docker:/docker
- /media:/media - /media:/media
- /docker/filebrowser-quantum/data:/home/filebrowser/data - /docker/filebrowser-quantum/data:/home/filebrowser/data
ports: ports:
- 8020:80 - 8020:80
``` ```
@@ -122,6 +120,7 @@ __Pre-requisite:__ We assume you've already created a subdomain like `fbq.yourdo
In Dockge, go to the SWAG stack and edit the compose file to add File Browser Quantum's network: In Dockge, go to the SWAG stack and edit the compose file to add File Browser Quantum's network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -47,18 +47,15 @@ services:
image: lscr.io/linuxserver/code-server:latest image: lscr.io/linuxserver/code-server:latest
container_name: code-server container_name: code-server
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${GUID} - PGID=${GUID}
- TZ=Etc/UTC - TZ=Etc/UTC
- HASHED_PASSWORD=${PW} - HASHED_PASSWORD=${PW}
volumes: volumes:
- /docker/code-server/config:/config - /docker/code-server/config:/config
# add folders to mount in VS Code # add folders to mount in VS Code
# - /path/to/folder:/folder # - /path/to/folder:/folder
ports: ports:
- 8443:8443 - 8443:8443
restart: unless-stopped restart: unless-stopped
``` ```
@@ -112,11 +109,11 @@ __If it fails:__ check your firewall rules.
You can mount folders into VS Code by adding the relevant volumes in `compose.yaml` (or via Dockge), then redeploy the container. You can mount folders into VS Code by adding the relevant volumes in `compose.yaml` (or via Dockge), then redeploy the container.
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
code-server: code-server:
#... #...
volumes: volumes:
- /path/to/folder:/folder - /path/to/folder:/folder
``` ```
Once inside VS Code, you'll have access to the mounted folder. Once inside VS Code, you'll have access to the mounted folder.
@@ -132,6 +129,7 @@ __Preliminary:__ We assume youve created a subdomain like `code.yourdomain.co
In Dockge, go to the SWAG stack and edit the compose file to add code-servers network: In Dockge, go to the SWAG stack and edit the compose file to add code-servers network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -42,19 +42,15 @@ services:
image: codeberg.org/forgejo/forgejo:11 image: codeberg.org/forgejo/forgejo:11
container_name: forgejo container_name: forgejo
environment: environment:
- USER_UID=${UID} - USER_UID=${UID}
- USER_GID=${GID} - USER_GID=${GID}
- TZ=Europe/Paris - TZ=Europe/Paris
restart: unless-stopped restart: unless-stopped
networks: networks:
- forgejo - forgejo
volumes: volumes:
- ./data:/data - ./data:/data
ports: ports:
- 3333:3000 - 3333:3000
- 222:22 - 222:22
``` ```
@@ -84,6 +80,7 @@ __Prerequisite:__ We assume you have created a subdomain such as `forgejo.yourdo
In Dockge, go to the SWAG stack and edit the compose file by adding Forgejo's network: In Dockge, go to the SWAG stack and edit the compose file by adding Forgejo's network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -30,7 +30,6 @@ services:
restart: unless-stopped restart: unless-stopped
image: corentinth/it-tools:latest image: corentinth/it-tools:latest
ports: ports:
- 3222:80 - 3222:80
``` ```
@@ -65,6 +64,7 @@ __Pre-requisite:__ We assume youve created a subdomain like `tools.yourdomain
In Dockge, go to the SWAG stack and edit the compose file to add the IT Tools network: In Dockge, go to the SWAG stack and edit the compose file to add the IT Tools network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+2 -3
View File
@@ -69,14 +69,12 @@ services:
image: adguard/adguardhome image: adguard/adguardhome
restart: unless-stopped restart: unless-stopped
ports: ports:
- 53:53/udp - 53:53/udp
- 8080:80/tcp - 8080:80/tcp
- 4443:443/tcp - 4443:443/tcp
- 853:853/tcp - 853:853/tcp
- 3000:3000/tcp - 3000:3000/tcp
volumes: volumes:
- /docker/adguardhome/confdir:/opt/adguardhome/conf - /docker/adguardhome/confdir:/opt/adguardhome/conf
- /docker/adguardhome/workdir:/opt/adguardhome/work - /docker/adguardhome/workdir:/opt/adguardhome/work
- /docker/swag/config/etc/letsencrypt:/swag-ssl:ro - /docker/swag/config/etc/letsencrypt:/swag-ssl:ro
@@ -86,11 +84,11 @@ services:
✨ __Tip:__ Add the watchtower label to each container to automate updates ✨ __Tip:__ Add the watchtower label to each container to automate updates
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
adguardhome: adguardhome:
# ... # ...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -117,6 +115,7 @@ Do not use Cloudflare tunnels to expose AdGuard, and make sure any proxying is d
In Dockge, go to the SWAG stack and edit the compose file to add the AdGuard network: In Dockge, go to the SWAG stack and edit the compose file to add the AdGuard network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+2 -5
View File
@@ -41,16 +41,12 @@ services:
image: vaultwarden/server:latest image: vaultwarden/server:latest
restart: unless-stopped restart: unless-stopped
env_file: env_file:
- .env - .env
volumes: volumes:
- ./data/:/data/ - ./data/:/data/
ports: ports:
- 3050:80 - 3050:80
environment: environment:
- DOMAIN=${URL} - DOMAIN=${URL}
- LOGIN_RATELIMIT_MAX_BURST=10 - LOGIN_RATELIMIT_MAX_BURST=10
- LOGIN_RATELIMIT_SECONDS=60 - LOGIN_RATELIMIT_SECONDS=60
@@ -70,11 +66,11 @@ services:
✨ __Tip:__ Add the Watchtower label in each container to automate updates ✨ __Tip:__ Add the Watchtower label in each container to automate updates
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
vaultwarden: vaultwarden:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -118,6 +114,7 @@ The main benefit of Vaultwarden is being able to access it remotely from any dev
In Dockge, go to the SWAG stack and edit the compose file to add the Vaultwarden network: In Dockge, go to the SWAG stack and edit the compose file to add the Vaultwarden network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1 -11
View File
@@ -30,42 +30,36 @@ In short:
For example, with Beszel, the configuration would look like this: For example, with Beszel, the configuration would look like this:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
socat-proxy: socat-proxy:
image: git.djeex.fr/djeex/socat-proxy:latest image: git.djeex.fr/djeex/socat-proxy:latest
container_name: socat-proxy-beszel container_name: socat-proxy-beszel
environment: environment:
- TARGET_HOST=${TARGET_HOST} - TARGET_HOST=${TARGET_HOST}
- TARGET_PORT=${TARGET_PORT} - TARGET_PORT=${TARGET_PORT}
- UNIX_SOCKET_PATH=${UNIX_SOCKET_PATH} - UNIX_SOCKET_PATH=${UNIX_SOCKET_PATH}
- HOST_SOCKET_PATH=${HOST_SOCKET_PATH} - HOST_SOCKET_PATH=${HOST_SOCKET_PATH}
- UNIX_SOCKET_NAME=${UNIX_SOCKET_NAME} - UNIX_SOCKET_NAME=${UNIX_SOCKET_NAME}
volumes: volumes:
- ${HOST_SOCKET_PATH}:${UNIX_SOCKET_PATH} - ${HOST_SOCKET_PATH}:${UNIX_SOCKET_PATH}
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
- ${TARGET_HOST} - ${TARGET_HOST}
socket-proxy: socket-proxy:
image: lscr.io/linuxserver/socket-proxy:latest image: lscr.io/linuxserver/socket-proxy:latest
container_name: ${TARGET_HOST} container_name: ${TARGET_HOST}
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
- CONTAINERS=1 - CONTAINERS=1
- INFO=1 - INFO=1
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped restart: unless-stopped
read_only: true read_only: true
tmpfs: tmpfs:
- /run - /run
beszel-agent: beszel-agent:
@@ -74,16 +68,12 @@ services:
restart: unless-stopped restart: unless-stopped
network_mode: host network_mode: host
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
volumes: volumes:
- ${HOST_SOCKET_PATH}/${UNIX_SOCKET_NAME}:/var/run/docker.sock:ro - ${HOST_SOCKET_PATH}/${UNIX_SOCKET_NAME}:/var/run/docker.sock:ro
environment: environment:
- #... your Beszel environment variables - #... your Beszel environment variables
depends_on: depends_on:
- socat-proxy - socat-proxy
``` ```
@@ -35,41 +35,32 @@ services:
container_name: backrest container_name: backrest
hostname: backrest hostname: backrest
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
volumes: volumes:
- ... # your volumes - ... # your volumes
environment: environment:
- ... # your environment variables - ... # your environment variables
- DOCKER_HOST=tcp://socket-proxy-backrest:2375 - DOCKER_HOST=tcp://socket-proxy-backrest:2375
restart: unless-stopped restart: unless-stopped
ports: ports:
- ... # your ports - ... # your ports
depends_on: depends_on:
- socket-proxy - socket-proxy
socket-proxy: socket-proxy:
image: lscr.io/linuxserver/socket-proxy:latest image: lscr.io/linuxserver/socket-proxy:latest
container_name: socket-proxy-backrest container_name: socket-proxy-backrest
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
- CONTAINERS=1 - CONTAINERS=1
- ALLOW_START=1 - ALLOW_START=1
- ALLOW_STOP=1 - ALLOW_STOP=1
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped restart: unless-stopped
read_only: true read_only: true
tmpfs: tmpfs:
- /run - /run
``` ```
@@ -110,11 +101,11 @@ sleep 10
Once the scripts are in place and configured for the proper **Backrest** hooks, you just need to add the label `backrest.backup.stop=true` to the `compose.yaml` files of the containers that should stop and restart during backups: Once the scripts are in place and configured for the proper **Backrest** hooks, you just need to add the label `backrest.backup.stop=true` to the `compose.yaml` files of the containers that should stop and restart during backups:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
your_service: your_service:
... ...
labels: labels:
- backrest.backup.stop=true - backrest.backup.stop=true
``` ```
@@ -84,10 +84,8 @@ services:
wg-easy: wg-easy:
network_mode: host network_mode: host
env_file: env_file:
- .env - .env
environment: environment:
- LANG=en - LANG=en
- WG_HOST=${HOST} - WG_HOST=${HOST}
- PASSWORD_HASH=${PW} - PASSWORD_HASH=${PW}
@@ -100,11 +98,9 @@ services:
image: ghcr.io/wg-easy/wg-easy:14 image: ghcr.io/wg-easy/wg-easy:14
container_name: wg-easy container_name: wg-easy
volumes: volumes:
- /docker/wg_easy/config/etc_wireguard:/etc/wireguard - /docker/wg_easy/config/etc_wireguard:/etc/wireguard
restart: unless-stopped restart: unless-stopped
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
- SYS_MODULE - SYS_MODULE
``` ```
@@ -116,11 +112,11 @@ services:
- Add the Watchtower label to enable automatic updates - Add the Watchtower label to enable automatic updates
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
wg-easy: wg-easy:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -213,20 +209,18 @@ sudo nano /docker/wireguard/compose.yaml
Paste: Paste:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
wireguard: wireguard:
image: lscr.io/linuxserver/wireguard:latest image: lscr.io/linuxserver/wireguard:latest
container_name: wireguard container_name: wireguard
network_mode: host network_mode: host
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
- SYS_MODULE #optional - SYS_MODULE #optional
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/wireguard/config:/config - /docker/wireguard/config:/config
- /lib/modules:/lib/modules #optional - /lib/modules:/lib/modules #optional
restart: unless-stopped restart: unless-stopped
@@ -27,11 +27,9 @@ services:
filebrowser: filebrowser:
container_name: filebrowser container_name: filebrowser
volumes: volumes:
- /docker/filebrowser/config:/config/ - /docker/filebrowser/config:/config/
- /path/to/your/folders:/yourfolders #add your folders to browse as /docker:/docker for exemple - /path/to/your/folders:/yourfolders #add your folders to browse as /docker:/docker for exemple
ports: ports:
- 8010:80 - 8010:80
image: filebrowser/filebrowser:s6 image: filebrowser/filebrowser:s6
``` ```
@@ -73,6 +71,7 @@ __Pre-requisite:__ We assume you've already created a subdomain like `files.your
In Dockge, go to the SWAG stack and edit the compose file to add File Browsers network: In Dockge, go to the SWAG stack and edit the compose file to add File Browsers network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -69,13 +69,11 @@ services:
container_name: plex container_name: plex
network_mode: host network_mode: host
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${GUID} - PGID=${GUID}
- TZ=Europe/Paris - TZ=Europe/Paris
- VERSION=docker - VERSION=docker
volumes: volumes:
- /docker/plex/config:/config - /docker/plex/config:/config
- /docker/plex/transcode:/transcode - /docker/plex/transcode:/transcode
- /media:/media - /media:/media
@@ -83,22 +81,18 @@ services:
mem_limit: 4096m mem_limit: 4096m
mem_reservation: 2048m mem_reservation: 2048m
devices: devices:
- /dev/dri:/dev/dri - /dev/dri:/dev/dri
tautulli: tautulli:
image: lscr.io/linuxserver/tautulli:latest image: lscr.io/linuxserver/tautulli:latest
container_name: tautulli container_name: tautulli
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${GUID} - PGID=${GUID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/tautulli/config:/config - /docker/tautulli/config:/config
ports: ports:
- 8181:8181 - 8181:8181
restart: unless-stopped restart: unless-stopped
``` ```
@@ -107,17 +101,16 @@ services:
✨ Add the Watchtower label to each container to automate updates: ✨ Add the Watchtower label to each container to automate updates:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
plex: plex:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
tautulli: tautulli:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -186,6 +179,7 @@ We assume you have the subdomain `tautulli.mydomain.com` with a `CNAME` pointing
Go to Dockge and edit SWAGs compose file by adding Tautullis network: Go to Dockge and edit SWAGs compose file by adding Tautullis network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -57,7 +57,7 @@ mkdir -P /media/downloads
Open Dockge, click on `compose`, and name the stack `seedbox`. Paste the following config: Open Dockge, click on `compose`, and name the stack `seedbox`. Paste the following config:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
qbit: qbit:
image: ghcr.io/linuxserver/qbittorrent:libtorrentv1 image: ghcr.io/linuxserver/qbittorrent:libtorrentv1
@@ -66,7 +66,6 @@ services:
network_mode: service:gluetun network_mode: service:gluetun
mem_limit: 4g mem_limit: 4g
environment: environment:
- DOCKER_MODS=ghcr.io/gabe565/linuxserver-mod-vuetorrent|ghcr.io/t-anc/gsp-qbittorent-gluetun-sync-port-mod:main - DOCKER_MODS=ghcr.io/gabe565/linuxserver-mod-vuetorrent|ghcr.io/t-anc/gsp-qbittorent-gluetun-sync-port-mod:main
- TZ=Europe/Paris - TZ=Europe/Paris
- PUID=${PUID} - PUID=${PUID}
@@ -76,11 +75,9 @@ services:
- GSP_QBT_USERNAME=${ID} - GSP_QBT_USERNAME=${ID}
- GSP_QBT_PASSWORD=${PW} - GSP_QBT_PASSWORD=${PW}
volumes: volumes:
- /docker/seedbox/qbittorrent/config:/config - /docker/seedbox/qbittorrent/config:/config
- /media:/media - /media:/media
depends_on: depends_on:
- gluetun - gluetun
gluetun: gluetun:
@@ -89,20 +86,15 @@ services:
restart: unless-stopped restart: unless-stopped
mem_limit: 4g mem_limit: 4g
volumes: volumes:
- /docker/gluetun/config.toml:/gluetun/auth/config.toml:ro - /docker/gluetun/config.toml:/gluetun/auth/config.toml:ro
devices: devices:
- /dev/net/tun:/dev/net/tun - /dev/net/tun:/dev/net/tun
ports: ports:
- ${UI_PORT}:5695 # Port de la web-ui - ${UI_PORT}:5695 # Port de la web-ui
- 8000:8000 # Port de controle de Gluetun - 8000:8000 # Port de controle de Gluetun
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
- VPN_SERVICE_PROVIDER=protonvpn - VPN_SERVICE_PROVIDER=protonvpn
- VPN_PORT_FORWARDING=on - VPN_PORT_FORWARDING=on
@@ -117,16 +109,15 @@ services:
✨ __Tip:__ Add the Watchtower label in each container to automate updates ✨ __Tip:__ Add the Watchtower label in each container to automate updates
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
qbittorrent: qbittorrent:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
gluetun: gluetun:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -229,6 +220,7 @@ We assume you have the subdomain `seedbox.mydomain.com` with a `CNAME` pointing
In Dockge, edit the SWAG compose file and add Gluetuns network: In Dockge, edit the SWAG compose file and add Gluetuns network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -73,38 +73,31 @@ services:
container_name: plex container_name: plex
network_mode: host network_mode: host
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
- VERSION=docker - VERSION=docker
- PLEX_CLAIM= #optional - PLEX_CLAIM= #optional
volumes: volumes:
- /docker/plex/config:/config - /docker/plex/config:/config
- /docker/plex/transcode:/transcode #optional - /docker/plex/transcode:/transcode #optional
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
restart: unless-stopped restart: unless-stopped
mem_limit: 4096m mem_limit: 4096m
mem_reservation: 2048m mem_reservation: 2048m
devices: devices:
- /dev/dri:/dev/dri - /dev/dri:/dev/dri
tautulli: tautulli:
image: lscr.io/linuxserver/tautulli:latest image: lscr.io/linuxserver/tautulli:latest
container_name: tautulli container_name: tautulli
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/tautulli/config:/config - /docker/tautulli/config:/config
ports: ports:
- 8181:8181 - 8181:8181
restart: unless-stopped restart: unless-stopped
@@ -112,16 +105,13 @@ services:
image: lscr.io/linuxserver/sonarr:latest image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr container_name: sonarr
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/sonarr/config:/config - /docker/sonarr/config:/config
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
ports: ports:
- 8989:8989 - 8989:8989
restart: unless-stopped restart: unless-stopped
@@ -129,16 +119,13 @@ services:
image: lscr.io/linuxserver/radarr:latest image: lscr.io/linuxserver/radarr:latest
container_name: radarr container_name: radarr
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/radarr/config:/config - /docker/radarr/config:/config
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
ports: ports:
- 7878:7878 - 7878:7878
restart: unless-stopped restart: unless-stopped
@@ -146,15 +133,12 @@ services:
image: lscr.io/linuxserver/prowlarr:latest image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr container_name: prowlarr
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/prowlarr/data:/config - /docker/prowlarr/data:/config
ports: ports:
- 9696:9696 - 9696:9696
restart: unless-stopped restart: unless-stopped
@@ -162,19 +146,15 @@ services:
image: lscr.io/linuxserver/overseerr:latest image: lscr.io/linuxserver/overseerr:latest
container_name: overseerr container_name: overseerr
dns: dns:
- 1.1.1.1 - 1.1.1.1
- 8.8.8.8 - 8.8.8.8
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/overseerr/config:/config - /docker/overseerr/config:/config
ports: ports:
- 5055:5055 - 5055:5055
restart: unless-stopped restart: unless-stopped
@@ -183,16 +163,13 @@ services:
container_name: bazarr container_name: bazarr
restart: unless-stopped restart: unless-stopped
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/bazarr/config:/config - /docker/bazarr/config:/config
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
ports: ports:
- 6767:6767 - 6767:6767
``` ```
@@ -200,17 +177,16 @@ services:
✨ Add the Watchtower label to each container to automate updates ✨ Add the Watchtower label to each container to automate updates
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
plex: plex:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
tautulli: tautulli:
#... #...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
:: ::
@@ -422,6 +398,7 @@ We assume you have the subdomain `films.mydomain.com` with a `CNAME` pointing to
Go to Dockge, edit the SWAG compose file, and add the Overseerr network, which is the same as Plex (since its in the Plex stack): Go to Dockge, edit the SWAG compose file, and add the Overseerr network, which is the same as Plex (since its in the Plex stack):
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -42,19 +42,15 @@ services:
image: gitea/gitea:1.22.0 image: gitea/gitea:1.22.0
container_name: gitea container_name: gitea
environment: environment:
- USER_UID=${UID} - USER_UID=${UID}
- USER_GID=${GID} - USER_GID=${GID}
- TZ=Europe/Paris - TZ=Europe/Paris
restart: unless-stopped restart: unless-stopped
networks: networks:
- gitea - gitea
volumes: volumes:
- ./data:/data - ./data:/data
ports: ports:
- 3333:3000 - 3333:3000
- 222:22 - 222:22
``` ```
@@ -84,6 +80,7 @@ __Prerequisite:__ We assume you have created a subdomain such as `gitea.yourdoma
In Dockge, go to the SWAG stack and edit the compose file by adding Gitea's network: In Dockge, go to the SWAG stack and edit the compose file by adding Gitea's network:
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1 -7
View File
@@ -92,16 +92,13 @@ services:
restart: unless-stopped restart: unless-stopped
container_name: dockge container_name: dockge
ports: ports:
- 3555:5001 # Le port joignable depuis le LAN sera 3555 - 3555:5001 # Le port joignable depuis le LAN sera 3555
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- /docker/dockge/data:/app/data - /docker/dockge/data:/app/data
- /docker:/docker - /docker:/docker
environment: environment:
- DOCKGE_STACKS_DIR=/docker - DOCKGE_STACKS_DIR=/docker
``` ```
@@ -137,10 +134,8 @@ services:
image: ghcr.io/nicholas-fedor/watchtower:latest image: ghcr.io/nicholas-fedor/watchtower:latest
restart: unless-stopped restart: unless-stopped
env_file: env_file:
- .env - .env
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
- WATCHTOWER_SCHEDULE=${SCHEDULE} - WATCHTOWER_SCHEDULE=${SCHEDULE}
- WATCHTOWER_LABEL_ENABLE=true # watchtower scan tous les conteneurs qui ont le label com.centurylinklabs.watchtower.enable=true - WATCHTOWER_LABEL_ENABLE=true # watchtower scan tous les conteneurs qui ont le label com.centurylinklabs.watchtower.enable=true
@@ -151,7 +146,6 @@ services:
#- WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER=Watchtower #- WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER=Watchtower
#- WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL=${WH_URL} #- WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL=${WH_URL}
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
``` ```
@@ -170,8 +164,8 @@ WH_URL=
Pour que Watchtower surveille vos autres conteneurs, ajoutez ceci à vos conteneurs dans leur compose.yml : Pour que Watchtower surveille vos autres conteneurs, ajoutez ceci à vos conteneurs dans leur compose.yml :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
+1
View File
@@ -360,6 +360,7 @@ Par défaut, SWAG ne connait pas le nom "dockge". Pour qu'il puisse y accéder,
Rendez-vous sur la stack de SWAG, puis cliquez sur `éditer`, et ajouter le réseau de dockge dans le fichier de conf sur ce modele (les champs `networks`) : Rendez-vous sur la stack de SWAG, puis cliquez sur `éditer`, et ajouter le réseau de dockge dans le fichier de conf sur ce modele (les champs `networks`) :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: #... container_name: #...
@@ -80,7 +80,6 @@ Copiez la configuration suivante :
services: services:
wg-easy: wg-easy:
environment: environment:
- INSECURE=true - INSECURE=true
image: ghcr.io/wg-easy/wg-easy:15 image: ghcr.io/wg-easy/wg-easy:15
container_name: wg-easy container_name: wg-easy
@@ -89,20 +88,16 @@ services:
ipv4_address: 10.42.42.42 ipv4_address: 10.42.42.42
ipv6_address: fdcc:ad94:bacf:61a3::2a ipv6_address: fdcc:ad94:bacf:61a3::2a
volumes: volumes:
- ./etc_wireguard:/etc/wireguard - ./etc_wireguard:/etc/wireguard
- /lib/modules:/lib/modules:ro - /lib/modules:/lib/modules:ro
ports: ports:
- "51820:51820/udp" - "51820:51820/udp"
- "51821:51821/tcp" - "51821:51821/tcp"
restart: unless-stopped restart: unless-stopped
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
- SYS_MODULE - SYS_MODULE
sysctls: sysctls:
- net.ipv4.ip_forward=1 - net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1 - net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.disable_ipv6=0 - net.ipv6.conf.all.disable_ipv6=0
@@ -116,7 +111,6 @@ networks:
ipam: ipam:
driver: default driver: default
config: config:
- subnet: 10.42.42.0/24 - subnet: 10.42.42.0/24
- subnet: fdcc:ad94:bacf:61a3::/64 - subnet: fdcc:ad94:bacf:61a3::/64
@@ -219,20 +213,18 @@ sudo nano /docker/wireguard/compose.yaml
``` ```
Copiez la configuration ci-dessous Copiez la configuration ci-dessous
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
wireguard: wireguard:
image: lscr.io/linuxserver/wireguard:latest image: lscr.io/linuxserver/wireguard:latest
container_name: wireguard container_name: wireguard
network_mode: host network_mode: host
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
- SYS_MODULE #optional - SYS_MODULE #optional
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/wireguard/config:/config - /docker/wireguard/config:/config
- /lib/modules:/lib/modules #optional - /lib/modules:/lib/modules #optional
restart: unless-stopped restart: unless-stopped
+3 -14
View File
@@ -83,7 +83,6 @@ services:
restart: unless-stopped restart: unless-stopped
healthcheck: healthcheck:
test: test:
- CMD-SHELL - CMD-SHELL
- pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER} - pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}
start_period: 20s start_period: 20s
@@ -91,14 +90,12 @@ services:
retries: 5 retries: 5
timeout: 5s timeout: 5s
volumes: volumes:
- database:/var/lib/postgresql/data - database:/var/lib/postgresql/data
environment: environment:
POSTGRES_PASSWORD: ${PG_PASS:?database password required} POSTGRES_PASSWORD: ${PG_PASS:?database password required}
POSTGRES_USER: ${PG_USER:-authentik} POSTGRES_USER: ${PG_USER:-authentik}
POSTGRES_DB: ${PG_DB:-authentik} POSTGRES_DB: ${PG_DB:-authentik}
env_file: env_file:
- .env - .env
redis: redis:
@@ -108,7 +105,6 @@ services:
restart: unless-stopped restart: unless-stopped
healthcheck: healthcheck:
test: test:
- CMD-SHELL - CMD-SHELL
- redis-cli ping | grep PONG - redis-cli ping | grep PONG
start_period: 20s start_period: 20s
@@ -116,7 +112,6 @@ services:
retries: 5 retries: 5
timeout: 3s timeout: 3s
volumes: volumes:
- redis:/data - redis:/data
server: server:
@@ -131,19 +126,15 @@ services:
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik} AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS} AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
volumes: volumes:
- ./media:/media - ./media:/media
- ./custom-templates:/templates - ./custom-templates:/templates
- ./ssh:/authentik/.ssh - ./ssh:/authentik/.ssh
env_file: env_file:
- .env - .env
ports: ports:
- ${COMPOSE_PORT_HTTP:-9000}:9000 - ${COMPOSE_PORT_HTTP:-9000}:9000
- ${COMPOSE_PORT_HTTPS:-9443}:9443 - ${COMPOSE_PORT_HTTPS:-9443}:9443
depends_on: depends_on:
- postgresql - postgresql
- redis - redis
@@ -166,17 +157,14 @@ services:
# (1000:1000 by default) # (1000:1000 by default)
user: root user: root
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- ./media:/media - ./media:/media
- ./certs:/certs - ./certs:/certs
- ./custom-templates:/templates - ./custom-templates:/templates
- ./ssh:/authentik/.ssh - ./ssh:/authentik/.ssh
env_file: env_file:
- .env - .env
depends_on: depends_on:
- postgresql - postgresql
- redis - redis
@@ -277,6 +265,7 @@ Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez a
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau d'Authentik : Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau d'Authentik :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -443,6 +432,7 @@ sudo nano /docker/authentik-outpost/compose.yaml
Collez la configuration suivante, en changeant les chiffres de `{AUTHENTIK_TAG:proxy:2024.2.3}`{lang=properties} par la meme version que celle de votre serveur Authentik. Collez la configuration suivante, en changeant les chiffres de `{AUTHENTIK_TAG:proxy:2024.2.3}`{lang=properties} par la meme version que celle de votre serveur Authentik.
```yaml [compose.yaml] ```yaml [compose.yaml]
---
version: "3.5" version: "3.5"
services: services:
authentik_proxy: authentik_proxy:
@@ -452,11 +442,9 @@ services:
# might be needed to reach the core authentik server # might be needed to reach the core authentik server
restart: unless-stopped restart: unless-stopped
env_file: env_file:
- .env - .env
# - foo # - foo
ports: ports:
- 9000:9000 - 9000:9000
- 9443:9443 - 9443:9443
environment: environment:
@@ -475,6 +463,7 @@ sudo nano /docker/swag/compose.yaml
``` ```
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: #... container_name: #...
@@ -100,7 +100,6 @@ Collez la configuration ci-dessous
```yaml [tunnelconfig.yml] ```yaml [tunnelconfig.yml]
ingress: ingress:
- hostname: mondomaine.fr - hostname: mondomaine.fr
service: https://mondomaine.fr service: https://mondomaine.fr
@@ -142,13 +141,10 @@ services:
image: lscr.io/linuxserver/swag:latest image: lscr.io/linuxserver/swag:latest
container_name: swag container_name: swag
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
env_file: env_file:
- .env - .env
environment: environment:
- DOCKER_MODS=linuxserver/mods:swag-dbip|linuxserver/mods:swag-dashboard|linuxserver/mods:swag-auto-reload|linuxserver/mods:universal-cloudflared|linuxserver/mods:swag-cloudflare-real-ip - DOCKER_MODS=linuxserver/mods:swag-dbip|linuxserver/mods:swag-dashboard|linuxserver/mods:swag-auto-reload|linuxserver/mods:universal-cloudflared|linuxserver/mods:swag-cloudflare-real-ip
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
@@ -165,13 +161,10 @@ services:
- CF_TUNNEL_PASSWORD=${TUNNEL_PW} - CF_TUNNEL_PASSWORD=${TUNNEL_PW}
- FILE__CF_TUNNEL_CONFIG=/config/tunnelconfig.yml - FILE__CF_TUNNEL_CONFIG=/config/tunnelconfig.yml
extra_hosts: extra_hosts:
- ${DOMAIN}:127.0.0.1 - ${DOMAIN}:127.0.0.1
ports: ports:
- 81:81 - 81:81
volumes: volumes:
- /docker/swag/config:/config - /docker/swag/config:/config
- /docker/swag/config/fail2ban/fail2ban.sqlite3:/dashboard/fail2ban.sqlite3:ro - /docker/swag/config/fail2ban/fail2ban.sqlite3:/dashboard/fail2ban.sqlite3:ro
restart: unless-stopped restart: unless-stopped
@@ -38,10 +38,8 @@ services:
image: louislam/uptime-kuma:2-slim image: louislam/uptime-kuma:2-slim
container_name: uptime-kuma container_name: uptime-kuma
volumes: volumes:
- /docker/uptime-kuma/uptime-kuma-data:/app/data - /docker/uptime-kuma/uptime-kuma-data:/app/data
ports: ports:
- 3200:3001 # <Host Port>:<Container Port> - 3200:3001 # <Host Port>:<Container Port>
restart: always restart: always
``` ```
@@ -144,6 +142,7 @@ Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez a
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau d'Uptime-Kuma : Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau d'Uptime-Kuma :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -36,16 +36,12 @@ services:
container_name: dozzle container_name: dozzle
image: amir20/dozzle:latest image: amir20/dozzle:latest
ports: ports:
- 9135:8080 - 9135:8080
env_file: env_file:
- .env - .env
environment: environment:
- DOZZLE_HOSTNAME=${DOMAIN} - DOZZLE_HOSTNAME=${DOMAIN}
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
``` ```
@@ -88,6 +84,7 @@ Nous partons du principe que vous avez créé dans votre [zone DNS](/fr/general/
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Dozzle : Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Dozzle :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -51,10 +51,8 @@ services:
restart: unless-stopped restart: unless-stopped
container_name: speedtest-tracker container_name: speedtest-tracker
ports: ports:
- ${PORT}:80 - ${PORT}:80
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${GUID} - PGID=${GUID}
- TZ=Europe/Paris - TZ=Europe/Paris
@@ -62,7 +60,6 @@ services:
- DB_CONNECTION=sqlite - DB_CONNECTION=sqlite
- SPEEDTEST_SCHEDULE=${SCHEDULE} - SPEEDTEST_SCHEDULE=${SCHEDULE}
volumes: volumes:
- /docker/speedtest-tracker/data/config:/config - /docker/speedtest-tracker/data/config:/config
``` ```
@@ -173,6 +170,7 @@ Par défaut, swag ne connait pas le nom "speedtest-tracker". Pour qu'il puisse y
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Speedtest Tracker : Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Speedtest Tracker :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -44,10 +44,8 @@ services:
container_name: beszel container_name: beszel
restart: unless-stopped restart: unless-stopped
ports: ports:
- ${PORT}:8090 - ${PORT}:8090
volumes: volumes:
- ./data:/beszel_data - ./data:/beszel_data
- ./socket:/beszel_socket - ./socket:/beszel_socket
@@ -57,7 +55,6 @@ services:
restart: unless-stopped restart: unless-stopped
network_mode: host network_mode: host
volumes: volumes:
- ./socket:/beszel_socket - ./socket:/beszel_socket
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
environment: environment:
@@ -123,7 +120,6 @@ services:
restart: unless-stopped restart: unless-stopped
network_mode: host network_mode: host
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
environment: environment:
LISTEN: ${PORT} LISTEN: ${PORT}
@@ -161,6 +157,7 @@ Nous partons du principe que vous avez créé dans votre [zone DNS](/fr/general/
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Beszel : Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Beszel :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -39,16 +39,13 @@ services:
network_mode: host network_mode: host
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- /docker/upsnap/data:/app/pb_data - /docker/upsnap/data:/app/pb_data
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
- UPSNAP_SCAN_RANGE=${SCAN_RANGE} - UPSNAP_SCAN_RANGE=${SCAN_RANGE}
- UPSNAP_SCAN_TIMEOUT=500ms - UPSNAP_SCAN_TIMEOUT=500ms
- UPSNAP_PING_PRIVILEGED=true - UPSNAP_PING_PRIVILEGED=true
dns: dns:
- ${DNS} - ${DNS}
entrypoint: /bin/sh -c "./upsnap serve --http 0.0.0.0:8095" entrypoint: /bin/sh -c "./upsnap serve --http 0.0.0.0:8095"
healthcheck: healthcheck:
@@ -101,6 +98,7 @@ Nous partons du principe que vous avez créé dans votre [zone DNS](/fr/general/
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de UpSnap : Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de UpSnap :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1 -6
View File
@@ -65,13 +65,11 @@ services:
container_name: plex container_name: plex
network_mode: host network_mode: host
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${GUID} - PGID=${GUID}
- TZ=Europe/Paris - TZ=Europe/Paris
- VERSION=docker - VERSION=docker
volumes: volumes:
- /docker/plex/config:/config - /docker/plex/config:/config
- /docker/plex/transcode:/transcode - /docker/plex/transcode:/transcode
- /media:/media - /media:/media
@@ -79,22 +77,18 @@ services:
mem_limit: 4096m mem_limit: 4096m
mem_reservation: 2048m mem_reservation: 2048m
devices: devices:
- /dev/dri:/dev/dri - /dev/dri:/dev/dri
tautulli: tautulli:
image: lscr.io/linuxserver/tautulli:latest image: lscr.io/linuxserver/tautulli:latest
container_name: tautulli container_name: tautulli
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${GUID} - PGID=${GUID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/tautulli/config:/config - /docker/tautulli/config:/config
ports: ports:
- 8181:8181 - 8181:8181
restart: unless-stopped restart: unless-stopped
``` ```
@@ -178,6 +172,7 @@ Nous partons du principe que vous avez le sous-domaine `tautulli.mondomaine.fr`
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Tautulli : Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Tautulli :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -64,7 +64,6 @@ services:
network_mode: service:gluetun network_mode: service:gluetun
mem_limit: 4g mem_limit: 4g
environment: environment:
- DOCKER_MODS=ghcr.io/gabe565/linuxserver-mod-vuetorrent|ghcr.io/t-anc/gsp-qbittorent-gluetun-sync-port-mod:main - DOCKER_MODS=ghcr.io/gabe565/linuxserver-mod-vuetorrent|ghcr.io/t-anc/gsp-qbittorent-gluetun-sync-port-mod:main
- TZ=Europe/Paris - TZ=Europe/Paris
- PUID=${PUID} - PUID=${PUID}
@@ -74,11 +73,9 @@ services:
- GSP_QBT_USERNAME=${ID} - GSP_QBT_USERNAME=${ID}
- GSP_QBT_PASSWORD=${PW} - GSP_QBT_PASSWORD=${PW}
volumes: volumes:
- /docker/seedbox/qbittorrent/config:/config - /docker/seedbox/qbittorrent/config:/config
- /media:/media - /media:/media
depends_on: depends_on:
- gluetun - gluetun
gluetun: gluetun:
@@ -87,20 +84,15 @@ services:
restart: unless-stopped restart: unless-stopped
mem_limit: 4g mem_limit: 4g
volumes: volumes:
- /docker/gluetun/config.toml:/gluetun/auth/config.toml:ro - /docker/gluetun/config.toml:/gluetun/auth/config.toml:ro
devices: devices:
- /dev/net/tun:/dev/net/tun - /dev/net/tun:/dev/net/tun
ports: ports:
- ${UI_PORT}:5695 # Port de la web-ui - ${UI_PORT}:5695 # Port de la web-ui
- 8000:8000 # Port de controle de Gluetun - 8000:8000 # Port de controle de Gluetun
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
- VPN_SERVICE_PROVIDER=protonvpn - VPN_SERVICE_PROVIDER=protonvpn
- VPN_PORT_FORWARDING=on - VPN_PORT_FORWARDING=on
@@ -226,6 +218,7 @@ Nous partons du principe que vous avez le sous-domaine `seedbox.mondomaine.fr` a
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Gluetun : Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Gluetun :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1 -23
View File
@@ -70,38 +70,31 @@ services:
container_name: plex container_name: plex
network_mode: host network_mode: host
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
- VERSION=docker - VERSION=docker
- PLEX_CLAIM= #optional - PLEX_CLAIM= #optional
volumes: volumes:
- /docker/plex/config:/config - /docker/plex/config:/config
- /docker/plex/transcode:/transcode #optional - /docker/plex/transcode:/transcode #optional
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
restart: unless-stopped restart: unless-stopped
mem_limit: 4096m mem_limit: 4096m
mem_reservation: 2048m mem_reservation: 2048m
devices: devices:
- /dev/dri:/dev/dri - /dev/dri:/dev/dri
tautulli: tautulli:
image: lscr.io/linuxserver/tautulli:latest image: lscr.io/linuxserver/tautulli:latest
container_name: tautulli container_name: tautulli
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/tautulli/config:/config - /docker/tautulli/config:/config
ports: ports:
- 8181:8181 - 8181:8181
restart: unless-stopped restart: unless-stopped
@@ -109,16 +102,13 @@ services:
image: lscr.io/linuxserver/sonarr:latest image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr container_name: sonarr
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/sonarr/config:/config - /docker/sonarr/config:/config
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
ports: ports:
- 8989:8989 - 8989:8989
restart: unless-stopped restart: unless-stopped
@@ -126,16 +116,13 @@ services:
image: lscr.io/linuxserver/radarr:latest image: lscr.io/linuxserver/radarr:latest
container_name: radarr container_name: radarr
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/radarr/config:/config - /docker/radarr/config:/config
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
ports: ports:
- 7878:7878 - 7878:7878
restart: unless-stopped restart: unless-stopped
@@ -143,15 +130,12 @@ services:
image: lscr.io/linuxserver/prowlarr:latest image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr container_name: prowlarr
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/prowlarr/data:/config - /docker/prowlarr/data:/config
ports: ports:
- 9696:9696 - 9696:9696
restart: unless-stopped restart: unless-stopped
@@ -159,19 +143,15 @@ services:
image: lscr.io/linuxserver/overseerr:latest image: lscr.io/linuxserver/overseerr:latest
container_name: overseerr container_name: overseerr
dns: dns:
- 1.1.1.1 - 1.1.1.1
- 8.8.8.8 - 8.8.8.8
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/overseerr/config:/config - /docker/overseerr/config:/config
ports: ports:
- 5055:5055 - 5055:5055
restart: unless-stopped restart: unless-stopped
@@ -180,16 +160,13 @@ services:
container_name: bazarr container_name: bazarr
restart: unless-stopped restart: unless-stopped
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/bazarr/config:/config - /docker/bazarr/config:/config
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
ports: ports:
- 6767:6767 - 6767:6767
``` ```
@@ -418,6 +395,7 @@ Nous partons du principe que vous avez le sous-domaine `films.mondomaine.fr` ave
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau d'overseer, qui est celui de Plex car dans la stack Plex : Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau d'overseer, qui est celui de Plex car dans la stack Plex :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1
View File
@@ -60,6 +60,7 @@ Nous partons du principe que vous avez le sous-domaine `immich.mondomaine.fr` av
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de immich : Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de immich :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1 -3
View File
@@ -41,16 +41,13 @@ services:
image: lscr.io/linuxserver/nextcloud:latest image: lscr.io/linuxserver/nextcloud:latest
container_name: nextcloud container_name: nextcloud
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${GUID} - PGID=${GUID}
- TZ=Etc/UTC - TZ=Etc/UTC
volumes: volumes:
- /docker/nextcloud/config:/config - /docker/nextcloud/config:/config
- /docker/nextcloud/data:/data - /docker/nextcloud/data:/data
ports: ports:
- ${PORT}:443 - ${PORT}:443
restart: unless-stopped restart: unless-stopped
``` ```
@@ -91,6 +88,7 @@ Nous partons du principe que vous avez le sous-domaine `nextcloud.mondomaine.fr`
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de nextcloud : Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de nextcloud :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -26,11 +26,9 @@ services:
filebrowser: filebrowser:
container_name: filebrowser container_name: filebrowser
volumes: volumes:
- /docker/filebrowser/config:/config/ - /docker/filebrowser/config:/config/
- /chemin/vers/vos/dossiers:/vosdossiers #ajoutez ici les dossiers que vous voulez voir apparaitre dans filebrowser - /chemin/vers/vos/dossiers:/vosdossiers #ajoutez ici les dossiers que vous voulez voir apparaitre dans filebrowser
ports: ports:
- 8010:80 - 8010:80
image: filebrowser/filebrowser:s6 image: filebrowser/filebrowser:s6
``` ```
@@ -72,6 +70,7 @@ __Au préalable :__ nous partons du principe que vous avez créé dans votre [zo
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de filebrowser : Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de filebrowser :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1 -3
View File
@@ -28,10 +28,8 @@ services:
image: stonith404/pingvin-share image: stonith404/pingvin-share
restart: unless-stopped restart: unless-stopped
ports: ports:
- 3600:3000 - 3600:3000
volumes: volumes:
- /docker/pingvin/data:/opt/app/backend/data - /docker/pingvin/data:/opt/app/backend/data
- /docker/pingvin/data/img:/opt/app/frontend/public/img - /docker/pingvin/data/img:/opt/app/frontend/public/img
- /docker/pingvin/uploads:/opt/app/backend/uploads # chemin du dossier dans lequel vous souhaitez stocker les fichiers uploadés dans pingvin. A changer selon vos préférences. - /docker/pingvin/uploads:/opt/app/backend/uploads # chemin du dossier dans lequel vous souhaitez stocker les fichiers uploadés dans pingvin. A changer selon vos préférences.
@@ -39,7 +37,6 @@ services:
clamav: clamav:
condition: service_healthy condition: service_healthy
networks: networks:
- swag - swag
clamav: #antivirus pour les fichiers clamav: #antivirus pour les fichiers
@@ -89,6 +86,7 @@ Nous partons du principe que vous avez le sous-domaine `pingvin.mondomaine.fr` a
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de pingvin : Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de pingvin :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -43,18 +43,15 @@ services:
image: lscr.io/linuxserver/code-server:latest image: lscr.io/linuxserver/code-server:latest
container_name: code-server container_name: code-server
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${GUID} - PGID=${GUID}
- TZ=Etc/UTC - TZ=Etc/UTC
- HASHED_PASSWORD=${PW} - HASHED_PASSWORD=${PW}
volumes: volumes:
- /docker/code-server/config:/config - /docker/code-server/config:/config
# ajoutez vos dossier à monter dans vscode # ajoutez vos dossier à monter dans vscode
# - /chemin/vers/dossier:/dossier # - /chemin/vers/dossier:/dossier
ports: ports:
- 8443:8443 - 8443:8443
restart: unless-stopped restart: unless-stopped
``` ```
@@ -108,11 +105,11 @@ __En cas d'échec :__ vérifiez les règles de votre pare-feu.
Vous pouvez monter les dossiers à partager dans vscode en ajoutant les volumes concernés dans le compose.yaml (ou via dockge), et en redéployant le conteneur. Vous pouvez monter les dossiers à partager dans vscode en ajoutant les volumes concernés dans le compose.yaml (ou via dockge), et en redéployant le conteneur.
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
code-server: code-server:
#... #...
volumes: volumes:
- /chemin/vers/dossier:/dossier - /chemin/vers/dossier:/dossier
``` ```
Une fois dans vscode, vous pourrez accéder au dossier. Une fois dans vscode, vous pourrez accéder au dossier.
@@ -128,6 +125,7 @@ __Au préalable :__ Nous partons du principe que vous avez créé dans votre [zo
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de code-server : Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de code-server :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -39,19 +39,15 @@ services:
image: gitea/gitea:1.22.0 image: gitea/gitea:1.22.0
container_name: gitea container_name: gitea
environment: environment:
- USER_UID=${UID} - USER_UID=${UID}
- USER_GID=${GID} - USER_GID=${GID}
- TZ=Europe/Paris - TZ=Europe/Paris
restart: unless-stopped restart: unless-stopped
networks: networks:
- gitea - gitea
volumes: volumes:
- ./data:/data - ./data:/data
ports: ports:
- 3333:3000 - 3333:3000
- 222:22 - 222:22
``` ```
@@ -80,6 +76,7 @@ __Au préalable :__ nous partons du principe que vous avez créé dans votre [zo
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de gitea : Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de gitea :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
@@ -29,7 +29,6 @@ services:
restart: unless-stopped restart: unless-stopped
image: corentinth/it-tools:latest image: corentinth/it-tools:latest
ports: ports:
- 3222:80 - 3222:80
``` ```
@@ -64,6 +63,7 @@ __Au préalable :__ nous partons du principe que vous avez créé dans votre [zo
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de it-tools : Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de it-tools :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1 -2
View File
@@ -66,14 +66,12 @@ services:
image: adguard/adguardhome image: adguard/adguardhome
restart: unless-stopped restart: unless-stopped
ports: ports:
- 53:53/udp - 53:53/udp
- 8080:80/tcp - 8080:80/tcp
- 4443:443/tcp - 4443:443/tcp
- 853:853/tcp - 853:853/tcp
- 3000:3000/tcp - 3000:3000/tcp
volumes: volumes:
- /docker/adguardhome/confdir:/opt/adguardhome/conf - /docker/adguardhome/confdir:/opt/adguardhome/conf
- /docker/adguardhome/workdir:/opt/adguardhome/work - /docker/adguardhome/workdir:/opt/adguardhome/work
- /docker/swag/config/etc/letsencrypt:/swag-ssl:ro - /docker/swag/config/etc/letsencrypt:/swag-ssl:ro
@@ -115,6 +113,7 @@ N'utilisez pas les tunnels cloudflare pour exposer Adguard, et désactivez tout
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau d'adguard : Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau d'adguard :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1 -4
View File
@@ -38,16 +38,12 @@ services:
image: vaultwarden/server:latest image: vaultwarden/server:latest
restart: unless-stopped restart: unless-stopped
env_file: env_file:
- .env - .env
volumes: volumes:
- ./data/:/data/ - ./data/:/data/
ports: ports:
- 3050:80 - 3050:80
environment: environment:
- DOMAIN=${URL} - DOMAIN=${URL}
- LOGIN_RATELIMIT_MAX_BURST=10 - LOGIN_RATELIMIT_MAX_BURST=10
- LOGIN_RATELIMIT_SECONDS=60 - LOGIN_RATELIMIT_SECONDS=60
@@ -116,6 +112,7 @@ Tout l'intérêt d'une telle solution, c'est de pouvoir y accéder à distance e
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de vaultwarden : Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de vaultwarden :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
swag: swag:
container_name: # ... container_name: # ...
+1 -11
View File
@@ -29,42 +29,36 @@ En gros :
Par exemple, pour Beszel cela rendrait comme ceci : Par exemple, pour Beszel cela rendrait comme ceci :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
socat-proxy: socat-proxy:
image: git.djeex.fr/djeex/socat-proxy:latest image: git.djeex.fr/djeex/socat-proxy:latest
container_name: socat-proxy-beszel container_name: socat-proxy-beszel
environment: environment:
- TARGET_HOST=${TARGET_HOST} - TARGET_HOST=${TARGET_HOST}
- TARGET_PORT=${TARGET_PORT} - TARGET_PORT=${TARGET_PORT}
- UNIX_SOCKET_PATH=${UNIX_SOCKET_PATH} - UNIX_SOCKET_PATH=${UNIX_SOCKET_PATH}
- HOST_SOCKET_PATH=${HOST_SOCKET_PATH} - HOST_SOCKET_PATH=${HOST_SOCKET_PATH}
- UNIX_SOCKET_NAME=${UNIX_SOCKET_NAME} - UNIX_SOCKET_NAME=${UNIX_SOCKET_NAME}
volumes: volumes:
- ${HOST_SOCKET_PATH}:${UNIX_SOCKET_PATH} - ${HOST_SOCKET_PATH}:${UNIX_SOCKET_PATH}
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
- ${TARGET_HOST} - ${TARGET_HOST}
socket-proxy: socket-proxy:
image: lscr.io/linuxserver/socket-proxy:latest image: lscr.io/linuxserver/socket-proxy:latest
container_name: ${TARGET_HOST} container_name: ${TARGET_HOST}
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
- CONTAINERS=1 - CONTAINERS=1
- INFO=1 - INFO=1
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped restart: unless-stopped
read_only: true read_only: true
tmpfs: tmpfs:
- /run - /run
beszel-agent: beszel-agent:
@@ -73,16 +67,12 @@ services:
restart: unless-stopped restart: unless-stopped
network_mode: host network_mode: host
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
volumes: volumes:
- ${HOST_SOCKET_PATH}/${UNIX_SOCKET_NAME}:/var/run/docker.sock:ro - ${HOST_SOCKET_PATH}/${UNIX_SOCKET_NAME}:/var/run/docker.sock:ro
environment: environment:
- #... your Beszel environment var - #... your Beszel environment var
depends_on: depends_on:
- socat-proxy - socat-proxy
``` ```
@@ -33,41 +33,32 @@ services:
container_name: backrest container_name: backrest
hostname: backrest hostname: backrest
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
volumes: volumes:
- ... # vos volumes - ... # vos volumes
environment: environment:
- ... # vos variables - ... # vos variables
- DOCKER_HOST=tcp://socket-proxy-backrest:2375 - DOCKER_HOST=tcp://socket-proxy-backrest:2375
restart: unless-stopped restart: unless-stopped
ports: ports:
- ... # vos ports - ... # vos ports
depends_on: depends_on:
- socket-proxy - socket-proxy
socket-proxy: socket-proxy:
image: lscr.io/linuxserver/socket-proxy:latest image: lscr.io/linuxserver/socket-proxy:latest
container_name: socket-proxy-backrest container_name: socket-proxy-backrest
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
- CONTAINERS=1 - CONTAINERS=1
- ALLOW_START=1 - ALLOW_START=1
- ALLOW_STOP=1 - ALLOW_STOP=1
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped restart: unless-stopped
read_only: true read_only: true
tmpfs: tmpfs:
- /run - /run
``` ```
@@ -106,11 +97,11 @@ sleep 10
Une fois les scripts renseignés et paramétrés pour les bons hooks dans **Backrest**, vous n'avez plus qu'à ajouter le libellé `backrest.backup.stop=true` dans les fichiers `compose.yaml` des conteneurs à éteindre et rallumer durant les sauvegardes : Une fois les scripts renseignés et paramétrés pour les bons hooks dans **Backrest**, vous n'avez plus qu'à ajouter le libellé `backrest.backup.stop=true` dans les fichiers `compose.yaml` des conteneurs à éteindre et rallumer durant les sauvegardes :
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
votre_service: votre_service:
... ...
labels: labels:
- com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.enable=true
``` ```
@@ -83,10 +83,8 @@ services:
wg-easy: wg-easy:
network_mode: host network_mode: host
env_file: env_file:
- .env - .env
environment: environment:
- LANG=en - LANG=en
- WG_HOST=${HOST} - WG_HOST=${HOST}
- PASSWORD_HASH=${PW} - PASSWORD_HASH=${PW}
@@ -99,11 +97,9 @@ services:
image: ghcr.io/wg-easy/wg-easy:14 image: ghcr.io/wg-easy/wg-easy:14
container_name: wg-easy container_name: wg-easy
volumes: volumes:
- /docker/wg_easy/config/etc_wireguard:/etc/wireguard - /docker/wg_easy/config/etc_wireguard:/etc/wireguard
restart: unless-stopped restart: unless-stopped
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
- SYS_MODULE - SYS_MODULE
``` ```
@@ -207,20 +203,18 @@ sudo nano /docker/wireguard/compose.yaml
``` ```
Appuyez sur `i` pour rentrer en modification et copiez la configuration ci-dessous Appuyez sur `i` pour rentrer en modification et copiez la configuration ci-dessous
```yaml [compose.yaml] ```yaml [compose.yaml]
---
services: services:
wireguard: wireguard:
image: lscr.io/linuxserver/wireguard:latest image: lscr.io/linuxserver/wireguard:latest
container_name: wireguard container_name: wireguard
network_mode: host network_mode: host
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
- SYS_MODULE #optional - SYS_MODULE #optional
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
volumes: volumes:
- /docker/wireguard/config:/config - /docker/wireguard/config:/config
- /lib/modules:/lib/modules #optional - /lib/modules:/lib/modules #optional
restart: unless-stopped restart: unless-stopped