Initial commit

This commit is contained in:
2025-10-22 19:59:09 +00:00
commit 67996ade86
34 changed files with 905 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
DOMAIN_NAME=
SUBDOMAIN=

View File

@@ -0,0 +1,26 @@
services:
it-tools:
image: corentinth/it-tools
container_name: it-tools
labels:
- traefik.enable=true
- traefik.http.routers.$SUBDOMAIN.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
- traefik.http.routers.$SUBDOMAIN.tls=true
- traefik.http.routers.$SUBDOMAIN.entrypoints=web,websecure
- traefik.http.routers.$SUBDOMAIN.tls.certresolver=cloudflare
- traefik.http.middlewares.$SUBDOMAIN.headers.SSLRedirect=true
- traefik.http.middlewares.$SUBDOMAIN.headers.STSSeconds=315360000
- traefik.http.middlewares.$SUBDOMAIN.headers.browserXSSFilter=true
- traefik.http.middlewares.$SUBDOMAIN.headers.contentTypeNosniff=true
- traefik.http.middlewares.$SUBDOMAIN.headers.forceSTSHeader=true
- traefik.http.middlewares.$SUBDOMAIN.headers.SSLHost=${DOMAIN_NAME}
- traefik.http.middlewares.$SUBDOMAIN.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.$SUBDOMAIN.headers.STSPreload=true
- traefik.http.routers.$SUBDOMAIN.middlewares=$SUBDOMAIN@docker
- traefik.http.services.$SUBDOMAIN.loadbalancer.server.port=433
networks:
- webapp
networks:
webapp:
external:
true

18
webapp/n8n/.env.example Normal file
View File

@@ -0,0 +1,18 @@
DOMAIN_NAME=
SUBDOMAIN=
GENERIC_TIMEZONE=
SSL_EMAIL=
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
N8N_RUNNERS_ENABLED=true
N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=
DB_POSTGRESDB_USER=
DB_POSTGRESDB_PASSWORD_FILE=/run/secrets/DB_PASS
WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}
N8N_GIT_NODE_DISABLE_BARE_REPOS=true

46
webapp/n8n/compose.yml Normal file
View File

@@ -0,0 +1,46 @@
services:
n8n:
image: docker.n8n.io/n8nio/n8n
container_name: n8n
restart: always
labels:
- traefik.enable=true
- traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
- traefik.http.routers.n8n.tls=true
- traefik.http.routers.n8n.entrypoints=web,websecure
- traefik.http.routers.n8n.tls.certresolver=cloudflare
- traefik.http.middlewares.n8n.headers.SSLRedirect=true
- traefik.http.middlewares.n8n.headers.STSSeconds=315360000
- traefik.http.middlewares.n8n.headers.browserXSSFilter=true
- traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
- traefik.http.middlewares.n8n.headers.forceSTSHeader=true
- traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
- traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.n8n.headers.STSPreload=true
- traefik.http.middlewares.n8n.headers.frameDeny=true
- traefik.http.routers.n8n.middlewares=n8n@docker
- traefik.http.services.n8n.loadbalancer.server.port=5678
- traefik.docker.network=webapp
env_file:
- .env
secrets:
- DB_PASS
volumes:
- n8n_data:/home/node/.n8n
- ./local-files:/files
networks:
- webapp
- db
secrets:
DB_PASS:
file: .secrets/DB_PASS
networks:
webapp:
external:
true
db:
external:
true
volumes:
n8n_data:
name: n8n_data

View File

@@ -0,0 +1,3 @@
DOMAIN_NAME=
SUBDOMAIN=
# GENERIC_TIMEZONE=

View File

@@ -0,0 +1,36 @@
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
hostname: ${SUBDOMAIN}.${DOMAIN_NAME}
user: 1000:1000 # should be owner of volumes
labels:
- traefik.enable=true
- traefik.http.routers.nd.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
- traefik.http.routers.nd.tls=true
- traefik.http.routers.nd.entrypoints=web,websecure
- traefik.http.routers.nd.tls.certresolver=cloudflare
- traefik.http.middlewares.nd.headers.SSLRedirect=true
- traefik.http.middlewares.nd.headers.STSSeconds=315360000
- traefik.http.middlewares.nd.headers.browserXSSFilter=true
- traefik.http.middlewares.nd.headers.contentTypeNosniff=true
- traefik.http.middlewares.nd.headers.forceSTSHeader=true
- traefik.http.middlewares.nd.headers.SSLHost=${DOMAIN_NAME}
- traefik.http.middlewares.nd.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.nd.headers.STSPreload=true
- traefik.http.middlewares.nd.headers.frameDeny=true
- traefik.http.routers.nd.middlewares=nd@docker
- traefik.http.services.nd.loadbalancer.server.port=4533
restart: always
env_file:
- .env
# Optional: put your config options customization here. Examples:
# ND_LOGLEVEL: debug
volumes:
- ./data:/data
- ./music:/music:ro
networks:
webapp:
networks:
webapp:
external: true

View File

@@ -0,0 +1,5 @@
PUID=
PGID=
TZ=
WEBUI_PORT=
TORRENTING_PORT=

View File

@@ -0,0 +1,14 @@
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
hostname: qbittorrent.jojo
volumes:
- ./config:/config
# - /mnt/c/Users/$USER/Downloads/:/downloads #optional
- ~/Downloads/:/downloads
ports:
- 5555:8080
- 6881:6881
- 6881:6881/udp
restart: unless-stopped