127 lines
3.1 KiB
YAML
127 lines
3.1 KiB
YAML
include:
|
|
- ./karakeep-compose.yaml
|
|
- ./jellyfin-compose.yaml
|
|
services:
|
|
web:
|
|
image: "nginx"
|
|
restart: unless-stopped
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
volumes:
|
|
- ./nginx:/etc/nginx:ro
|
|
- /data/site:/data/site:ro
|
|
- /data/certbot/www/:/var/www/certbot/:ro
|
|
# - /etc/letsencrypt:/etc/letsencrypt:ro
|
|
- /data/certbot/conf:/etc/letsencrypt:ro
|
|
networks:
|
|
- karakeep
|
|
- ollama
|
|
- jellyfin
|
|
- jellyfin-int
|
|
- auth
|
|
depends_on:
|
|
- jellyfin
|
|
- ollama-webui
|
|
- karakeep-web
|
|
- authelia
|
|
- qbittorrent
|
|
# Optional - extra fonts to be used during transcoding with subtitle burn-in
|
|
# - type: bind
|
|
# source: /usr/local/share/fonts/cu
|
|
# target: /usr/local/share/fonts/custom
|
|
# read_only: true
|
|
certbot:
|
|
image: certbot/certbot:latest
|
|
volumes:
|
|
- /data/certbot/www/:/var/www/certbot/:rw
|
|
- /data/certbot/conf/:/etc/letsencrypt/:rw
|
|
authelia:
|
|
container_name: 'authelia'
|
|
image: 'docker.io/authelia/authelia:latest'
|
|
restart: 'unless-stopped'
|
|
secrets: ['JWT_SECRET', 'SESSION_SECRET', 'STORAGE_PASSWORD', 'STORAGE_ENCRYPTION_KEY']
|
|
networks:
|
|
- auth
|
|
environment:
|
|
AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET_FILE: '/run/secrets/JWT_SECRET'
|
|
AUTHELIA_SESSION_SECRET_FILE: '/run/secrets/SESSION_SECRET'
|
|
AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: '/run/secrets/STORAGE_ENCRYPTION_KEY'
|
|
volumes:
|
|
- './authelia/:/config'
|
|
# webdav:
|
|
# image: ""
|
|
minecraft:
|
|
image: itzg/minecraft-server:latest
|
|
tty: true
|
|
stdin_open: true
|
|
restart: unless-stopped
|
|
ports:
|
|
- "25565:25565"
|
|
environment:
|
|
EULA: "TRUE"
|
|
TYPE: "FABRIC"
|
|
MEMORY: "2048M"
|
|
MOTD: "Loading server..."
|
|
LEVEL: "world"
|
|
USE_MEOWICE_FLAGS: "true"
|
|
DIFFICULTY: "3"
|
|
OPS: |-
|
|
187eca31-2e33-4199-97e0-2286bf35f7f8
|
|
ENABLE_WHITELIST: "true"
|
|
WHITELIST: |-
|
|
187eca31-2e33-4199-97e0-2286bf35f7f8
|
|
PAUSE_WHEN_EMPTY_SECONDS: "20"
|
|
ENABLE_ROLLING_LOGS: "true"
|
|
volumes:
|
|
- "/opt/minecraft:/data"
|
|
gitea:
|
|
image: gitea/gitea:latest
|
|
environment:
|
|
- USER_UID=1000
|
|
- USER_GID=1000
|
|
restart: unless-stopped
|
|
networks:
|
|
- gitea
|
|
volumes:
|
|
- /data/gitea/data:/data
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
ports:
|
|
- "222:22"
|
|
# calibre:
|
|
# image: "linuxserver/calibre-web"
|
|
# 5d-diplomacy-frontend:
|
|
# image: ""
|
|
# 5d-diplomacy-backend:
|
|
# image: ""
|
|
secrets:
|
|
JWT_SECRET:
|
|
file: './authelia/secrets/JWT_SECRET'
|
|
SESSION_SECRET:
|
|
file: './authelia/secrets/SESSION_SECRET'
|
|
STORAGE_PASSWORD:
|
|
file: './authelia/secrets/STORAGE_PASSWORD'
|
|
STORAGE_ENCRYPTION_KEY:
|
|
file: './authelia/secrets/STORAGE_ENCRYPTION_KEY'
|
|
volumes:
|
|
meilisearch:
|
|
karakeep:
|
|
networks:
|
|
karakeep:
|
|
external: false
|
|
karakeep-int:
|
|
external: false
|
|
ollama:
|
|
external: false
|
|
ollama-int:
|
|
external: false
|
|
jellyfin:
|
|
external: false
|
|
jellyfin-int:
|
|
external: false
|
|
auth:
|
|
external: false
|
|
gitea:
|
|
external: false
|