add main server
This commit is contained in:
parent
2f3f0b7820
commit
50124a7efa
18 changed files with 405 additions and 0 deletions
|
@ -9,6 +9,7 @@
|
|||
|
||||
services:
|
||||
mongo:
|
||||
container_name: komodo-mongo
|
||||
image: mongo
|
||||
labels:
|
||||
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
|
||||
|
@ -26,6 +27,7 @@ services:
|
|||
MONGO_INITDB_ROOT_PASSWORD: ${KOMODO_DB_PASSWORD}
|
||||
|
||||
core:
|
||||
container_name: komodo-core
|
||||
image: ghcr.io/moghtech/komodo-core:${COMPOSE_KOMODO_IMAGE_TAG:-latest}
|
||||
labels:
|
||||
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
|
||||
services:
|
||||
postgresql:
|
||||
container_name: authentik-postgresql
|
||||
image: docker.io/library/postgres:16-alpine
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
|
@ -20,6 +21,7 @@ services:
|
|||
labels:
|
||||
- wud.watch=false
|
||||
redis:
|
||||
container_name: authentik-redis
|
||||
image: docker.io/library/redis:alpine
|
||||
command: --save 60 1 --loglevel warning
|
||||
restart: unless-stopped
|
||||
|
@ -32,6 +34,7 @@ services:
|
|||
volumes:
|
||||
- redis:/data
|
||||
server:
|
||||
container_name: authentik-server
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:latest
|
||||
restart: unless-stopped
|
||||
command: server
|
||||
|
@ -53,6 +56,7 @@ services:
|
|||
- postgresql
|
||||
- redis
|
||||
worker:
|
||||
container_name: authentik-worker
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:latest
|
||||
restart: unless-stopped
|
||||
command: worker
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
services:
|
||||
periphery:
|
||||
container_name: komodo-periphery
|
||||
image: ghcr.io/moghtech/komodo-periphery:${COMPOSE_KOMODO_IMAGE_TAG:-latest}
|
||||
labels:
|
||||
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
|
||||
|
|
13
main-docker/bangserver/compose.yaml
Normal file
13
main-docker/bangserver/compose.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
services:
|
||||
bangserver:
|
||||
container_name: bangserver
|
||||
image: ghcr.io/rebelonion/bangserver:latest
|
||||
security_opt:
|
||||
- seccomp:unconfined
|
||||
volumes:
|
||||
- /home/docker/bangserver:/etc/bangserver:ro
|
||||
ports:
|
||||
- 3003:3003
|
||||
environment:
|
||||
- BANG_HOST=${BANG_HOST}
|
||||
restart: unless-stopped
|
10
main-docker/byparr/compose.yaml
Normal file
10
main-docker/byparr/compose.yaml
Normal file
|
@ -0,0 +1,10 @@
|
|||
services:
|
||||
byparr:
|
||||
container_name: byparr
|
||||
image: ghcr.io/thephaseless/byparr:latest
|
||||
restart: unless-stopped
|
||||
shm_size: 2gb
|
||||
volumes:
|
||||
- /home/docker/byparr/screenshots:/app/screenshots # (optional) For screenshots when exception occurs
|
||||
ports:
|
||||
- "8191:8191"
|
13
main-docker/freshrss/compose.yaml
Normal file
13
main-docker/freshrss/compose.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
services:
|
||||
freshrss:
|
||||
image: lscr.io/linuxserver/freshrss:latest
|
||||
container_name: freshrss
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=10000
|
||||
- TZ=America/Chicago
|
||||
volumes:
|
||||
- /home/docker/freshrss/config:/config
|
||||
ports:
|
||||
- 8001:80
|
||||
restart: unless-stopped
|
73
main-docker/ganymede/compose.yaml
Normal file
73
main-docker/ganymede/compose.yaml
Normal file
|
@ -0,0 +1,73 @@
|
|||
services:
|
||||
ganymede:
|
||||
container_name: ganymede
|
||||
image: ghcr.io/zibbp/ganymede:latest
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- ganymede-db
|
||||
environment:
|
||||
- DEBUG=false
|
||||
- TZ=America/Chicago # Set to your timezone
|
||||
# Data paths in container; update the mounted volume paths as well
|
||||
- VIDEOS_DIR=/data/videos
|
||||
- TEMP_DIR=/data/temp
|
||||
- LOGS_DIR=/data/logs
|
||||
- CONFIG_DIR=/data/config
|
||||
# Database settings
|
||||
- DB_HOST=ganymede-db
|
||||
- DB_PORT=5432
|
||||
- DB_USER=ganymede
|
||||
- DB_PASS=${POSTGRES_PASSWORD}
|
||||
- DB_NAME=ganymede-prd
|
||||
- DB_SSL=disable
|
||||
# - DB_SSL_ROOT_CERT= # path to cert in the container if DB_SSL is not disabled
|
||||
- TWITCH_CLIENT_ID=${TWITCH_CLIENT_ID} # from your twitch application
|
||||
- TWITCH_CLIENT_SECRET=${TWITCH_CLIENT_SECRET} # from your twitch application
|
||||
# Worker settings. Max number of tasks to run in parallel per type.
|
||||
- MAX_CHAT_DOWNLOAD_EXECUTIONS=3
|
||||
- MAX_CHAT_RENDER_EXECUTIONS=2
|
||||
- MAX_VIDEO_DOWNLOAD_EXECUTIONS=2
|
||||
- MAX_VIDEO_CONVERT_EXECUTIONS=3
|
||||
- MAX_VIDEO_SPRITE_THUMBNAIL_EXECUTIONS=2
|
||||
# Optional OAuth settings
|
||||
# - OAUTH_ENABLED=false
|
||||
# - OAUTH_PROVIDER_URL=
|
||||
# - OAUTH_CLIENT_ID=
|
||||
# - OAUTH_CLIENT_SECRET=
|
||||
# - OAUTH_REDIRECT_URL=http://IP:PORT/api/v1/auth/oauth/callback # Points to the API service
|
||||
# Optional Frontend settings
|
||||
- SHOW_SSO_LOGIN_BUTTON=true
|
||||
- FORCE_SSO_AUTH=false
|
||||
- REQUIRE_LOGIN=false
|
||||
# - CDN_URL= # Set this if you are hosting static files through another service (nginx, S3, etc). By default this does not need to be configured as Ganymede serves the static files.
|
||||
volumes:
|
||||
- /mnt/ganymede:/data/videos # update VIDEOS_DIR env var
|
||||
- /mnt/temp/ganymede/temp:/data/temp # update TEMP_DIR env var
|
||||
- /home/docker/ganymede/logs:/data/logs # queue logs
|
||||
- /home/docker/ganymede/config:/data/config # config and other miscellaneous files
|
||||
ports:
|
||||
- 4800:4000
|
||||
healthcheck:
|
||||
test: curl --fail http://localhost:4000/health || exit 1
|
||||
interval: 60s
|
||||
retries: 5
|
||||
start_period: 60s
|
||||
timeout: 10s
|
||||
ganymede-db:
|
||||
container_name: ganymede-db
|
||||
image: postgres:14
|
||||
volumes:
|
||||
- /home/docker/ganymede/ganymede-db:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_USER=ganymede
|
||||
- POSTGRES_DB=ganymede-prd
|
||||
ports:
|
||||
- 4801:5432
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 30s
|
||||
timeout: 60s
|
||||
retries: 5
|
||||
start_period: 60s
|
14
main-docker/koblas/compose.yaml
Normal file
14
main-docker/koblas/compose.yaml
Normal file
|
@ -0,0 +1,14 @@
|
|||
services:
|
||||
koblas:
|
||||
image: ynuwenhof/koblas:latest
|
||||
container_name: koblas
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 1080:1080
|
||||
environment:
|
||||
RUST_LOG: debug
|
||||
KOBLAS_LIMIT: 5
|
||||
KOBLAS_NO_AUTHENTICATION: false
|
||||
KOBLAS_ANONYMIZATION: true
|
||||
volumes:
|
||||
- /root/koblas/config.toml:/etc/koblas/config.toml
|
23
main-docker/komga/compose.yaml
Normal file
23
main-docker/komga/compose.yaml
Normal file
|
@ -0,0 +1,23 @@
|
|||
services:
|
||||
komga:
|
||||
image: gotson/komga
|
||||
container_name: komga
|
||||
volumes:
|
||||
- type: bind
|
||||
source: /home/docker/komga/config
|
||||
target: /config
|
||||
- type: bind
|
||||
source: /mnt/manga
|
||||
target: /data
|
||||
- type: bind
|
||||
source: /etc/timezone
|
||||
target: /etc/timezone
|
||||
read_only: true
|
||||
ports:
|
||||
- 25600:25600
|
||||
user: "1000:10000"
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=10000
|
||||
- JAVA_TOOL_OPTIONS=-Xmx4g
|
||||
restart: unless-stopped
|
17
main-docker/n8n/compose.yaml
Normal file
17
main-docker/n8n/compose.yaml
Normal file
|
@ -0,0 +1,17 @@
|
|||
services:
|
||||
n8n:
|
||||
container_name: n8n
|
||||
image: n8nio/n8n:latest
|
||||
ports:
|
||||
- "5678:5678"
|
||||
volumes:
|
||||
- n8n_data:/home/node/.n8n
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
group_add:
|
||||
- "996"
|
||||
environment:
|
||||
- N8N_SECURE_COOKIE=false
|
||||
- TZ=America/Chicago
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
n8n_data:
|
21
main-docker/ntfy/compose.yaml
Normal file
21
main-docker/ntfy/compose.yaml
Normal file
|
@ -0,0 +1,21 @@
|
|||
services:
|
||||
ntfy:
|
||||
image: binwiederhier/ntfy
|
||||
container_name: ntfy
|
||||
command:
|
||||
- serve
|
||||
environment:
|
||||
- TZ=America/Chicago
|
||||
user: 1000:10000
|
||||
volumes:
|
||||
- /home/docker/ntfy/cache:/var/cache/ntfy
|
||||
- /home/docker/ntfy/etc:/etc/ntfy
|
||||
ports:
|
||||
- 8002:80
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:80/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"]
|
||||
interval: 60s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
||||
restart: unless-stopped
|
11
main-docker/open-webui/compose.yaml
Normal file
11
main-docker/open-webui/compose.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
services:
|
||||
openwebui:
|
||||
container_name: open-webui
|
||||
restart: unless-stopped
|
||||
image: ghcr.io/open-webui/open-webui:main
|
||||
ports:
|
||||
- "3002:8080"
|
||||
volumes:
|
||||
- open-webui:/app/backend/data
|
||||
volumes:
|
||||
open-webui:
|
74
main-docker/pinchflat/compose.yaml
Normal file
74
main-docker/pinchflat/compose.yaml
Normal file
|
@ -0,0 +1,74 @@
|
|||
services:
|
||||
vpn:
|
||||
container_name: pinchflat-vpn
|
||||
restart: unless-stopped
|
||||
image: thrnz/docker-wireguard-pia
|
||||
# Alternatively you may use ghcr.io
|
||||
#image: ghcr.io/thrnz/docker-wireguard-pia
|
||||
ports:
|
||||
- 8945:8945 # for pinchflat
|
||||
- 4416:4416 # for bgutil-provider
|
||||
volumes:
|
||||
- pia:/pia
|
||||
# If enabled, the forwarded port is dumped to /pia-shared/port.dat for potential use in other containers
|
||||
- pia-shared:/pia-shared
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
environment:
|
||||
# The following env vars are required:
|
||||
- LOC=${LOC}
|
||||
- USER=${USER}
|
||||
- PASS=${PASS}
|
||||
#The rest are optional:
|
||||
- LOCAL_NETWORK=${LOCAL_NETWORK}
|
||||
#- KEEPALIVE=25
|
||||
#- VPNDNS=8.8.8.8,8.8.4.4
|
||||
- PORT_FORWARDING=0
|
||||
sysctls:
|
||||
- net.ipv4.conf.all.src_valid_mark=1
|
||||
- net.ipv6.conf.default.disable_ipv6=1
|
||||
- net.ipv6.conf.all.disable_ipv6=1
|
||||
- net.ipv6.conf.lo.disable_ipv6=1
|
||||
healthcheck:
|
||||
test: ping -c 1 www.google.com || exit 1
|
||||
interval: 300s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
start_interval: 3s
|
||||
|
||||
pinchflat:
|
||||
container_name: pinchflat
|
||||
restart: unless-stopped
|
||||
image: keglin/pinchflat:latest
|
||||
volumes:
|
||||
- /mnt/pinchflat:/downloads
|
||||
- /home/docker/pinchflat:/config
|
||||
- /home/docker/python-packages:/etc/yt-dlp/plugins/bgutil-ytdlp-pot-provider
|
||||
environment:
|
||||
- TZ=America/Chicago
|
||||
- LOG_LEVEL=info
|
||||
- PUID=1000
|
||||
- PGID=10000
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "yt-dlp --update-to nightly"]
|
||||
interval: 12h
|
||||
timeout: 30s
|
||||
retries: 3
|
||||
network_mode: service:vpn
|
||||
depends_on:
|
||||
vpn:
|
||||
condition: service_healthy
|
||||
|
||||
bgutil-provider:
|
||||
container_name: bgutil-provider
|
||||
restart: unless-stopped
|
||||
image: brainicism/bgutil-ytdlp-pot-provider
|
||||
network_mode: service:vpn
|
||||
depends_on:
|
||||
vpn:
|
||||
condition: service_healthy
|
||||
|
||||
volumes:
|
||||
pia:
|
||||
pia-shared:
|
11
main-docker/plex-auto-languages/compose.yaml
Normal file
11
main-docker/plex-auto-languages/compose.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
services:
|
||||
plexautolanguages:
|
||||
container_name: plex-auto-languages
|
||||
image: journeyover/plex-auto-languages:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PLEX_URL=${PLEX_URL}
|
||||
- PLEX_TOKEN=${PLEX_TOKEN}
|
||||
- TZ=America/Chicago
|
||||
volumes:
|
||||
- /home/docker/plexAL:/config
|
45
main-docker/shlink/compose.yaml
Normal file
45
main-docker/shlink/compose.yaml
Normal file
|
@ -0,0 +1,45 @@
|
|||
services:
|
||||
shlink:
|
||||
image: shlinkio/shlink:stable
|
||||
restart: always
|
||||
container_name: shlink-backend
|
||||
environment:
|
||||
- TZ="America/Chicago"
|
||||
- DEFAULT_DOMAIN=${DEFAULT_DOMAIN}
|
||||
- IS_HTTPS_ENABLED=true
|
||||
- GEOLITE_LICENSE_KEY=${GEOLITE_LICENSE_KEY}
|
||||
- DB_DRIVER=maria
|
||||
- DB_USER=shlink
|
||||
- DB_NAME=shlink
|
||||
- DB_PASSWORD=${DB_PASSWORD}
|
||||
- DB_HOST=database
|
||||
depends_on:
|
||||
- database
|
||||
ports:
|
||||
- 8987:8080
|
||||
|
||||
database:
|
||||
image: mariadb:latest
|
||||
restart: always
|
||||
container_name: shlink-database
|
||||
environment:
|
||||
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
|
||||
- MARIADB_DATABASE=shlink
|
||||
- MARIADB_USER=shlink
|
||||
- MARIADB_PASSWORD=${DB_PASSWORD}
|
||||
volumes:
|
||||
- /home/docker/shlink/db:/var/lib/mysql
|
||||
|
||||
shlink-web-client:
|
||||
image: shlinkio/shlink-web-client
|
||||
restart: always
|
||||
container_name: shlink-gui
|
||||
environment:
|
||||
- SHLINK_SERVER_URL=${SHLINK_SERVER_URL}
|
||||
- SHLINK_SERVER_API_KEY=${SHLINK_SERVER_API_KEY}
|
||||
#volumes:
|
||||
# - /home/docker/shlink/servers.json:/usr/share/nginx/html/servers.json #this file will be generated automatically
|
||||
depends_on:
|
||||
- shlink
|
||||
ports:
|
||||
- 8081:8080
|
36
main-docker/suwayomi/compose.yaml
Normal file
36
main-docker/suwayomi/compose.yaml
Normal file
|
@ -0,0 +1,36 @@
|
|||
services:
|
||||
suwayomi:
|
||||
container_name: suwayomi
|
||||
image: ghcr.io/suwayomi/tachidesk:preview
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=10000
|
||||
- TZ=America/Chicago # Use TZ database name from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||
# Comment these out if you do not use the flaresolverr container at the bottom of this file
|
||||
- FLARESOLVERR_ENABLED=true
|
||||
- FLARESOLVERR_URL=http://flaresolverr:8191
|
||||
- BASIC_AUTH_ENABLED=true
|
||||
- BASIC_AUTH_USERNAME=${BASIC_AUTH_USERNAME}
|
||||
- BASIC_AUTH_PASSWORD=${BASIC_AUTH_PASSWORD}
|
||||
# #################################################################################################
|
||||
#
|
||||
# !!! IMPORTANT !!!
|
||||
# - server settings can be changed during runtime in the WebUI
|
||||
# - providing an environment variable will OVERWRITE the current setting value when starting the container
|
||||
#
|
||||
# #################################################################################################
|
||||
#
|
||||
# example for setting env vars:
|
||||
#
|
||||
# - BIND_IP=0.0.0.0
|
||||
# - BIND_PORT=4567
|
||||
# - SOCKS_PROXY_ENABLED=false
|
||||
# - DOWNLOAD_AS_CBZ=true
|
||||
# - EXTENSION_REPOS=["http://github.com/orginazation-name/repo-name", "http://github.com/orginazation-name-2/repo-name-2"]
|
||||
user: "1000:10000"
|
||||
volumes:
|
||||
- /mnt/manga:/mnt/manga
|
||||
- /home/docker/suwayomi:/home/suwayomi/.local/share/Tachidesk
|
||||
ports:
|
||||
- "4567:4567"
|
||||
restart: on-failure:3
|
15
main-docker/twitch-cpm/compose.yaml
Normal file
15
main-docker/twitch-cpm/compose.yaml
Normal file
|
@ -0,0 +1,15 @@
|
|||
services:
|
||||
twitch-cpm:
|
||||
container_name: twitch-cpm
|
||||
image: rdavidoff/twitch-channel-points-miner-v2
|
||||
stdin_open: true
|
||||
tty: true
|
||||
environment:
|
||||
- TERM=xterm-256color
|
||||
volumes:
|
||||
- /root/twitch/analytics:/usr/src/app/analytics
|
||||
- /root/twitch/cookies:/usr/src/app/cookies
|
||||
- /root/twitch/logs:/usr/src/app/logs
|
||||
- /root/twitch/run.py:/usr/src/app/run.py:ro
|
||||
ports:
|
||||
- "5000:5000"
|
22
main-docker/uptime-kuma/compose.yaml
Normal file
22
main-docker/uptime-kuma/compose.yaml
Normal file
|
@ -0,0 +1,22 @@
|
|||
services:
|
||||
uptime-kuma:
|
||||
image: louislam/uptime-kuma:1
|
||||
container_name: uptime-kuma
|
||||
volumes:
|
||||
- /root/uptimekuma/cert:/app/data/docker-tls
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- uptime-kuma:/app/data
|
||||
ports:
|
||||
- "3001:3001"
|
||||
restart: always
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:3001 || exit 1
|
||||
interval: 30m
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 1m
|
||||
|
||||
volumes:
|
||||
uptime-kuma:
|
Loading…
Add table
Add a link
Reference in a new issue