Add Files
This commit is contained in:
14
adguardhome-sync/docker-compose.yaml
Normal file
14
adguardhome-sync/docker-compose.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
adguardhome-sync:
|
||||
image: "linuxserver/adguardhome-sync:0.7.6"
|
||||
container_name: "adguardhome-sync"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
ports:
|
||||
- "${PORT}:8080"
|
||||
restart: "unless-stopped"
|
26
adguardhome/docker-compose-sync.yaml
Normal file
26
adguardhome/docker-compose-sync.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
adguardhome:
|
||||
image: "adguard/adguardhome:v0.107.62"
|
||||
container_name: "adguardhome"
|
||||
volumes:
|
||||
- "${WORK_PATH}:/opt/adguardhome/work"
|
||||
- "${CONF_PATH}:/opt/adguardhome/conf"
|
||||
ports:
|
||||
- "${DNS_PORT}:53/tcp"
|
||||
- "${DNS_PORT}:53/udp"
|
||||
- "${TLS_PORT}:853/tcp"
|
||||
- "${ADMIN_PORT}:3000/tcp"
|
||||
restart: "unless-stopped"
|
||||
adguardhome-sync:
|
||||
image: "linuxserver/adguardhome-sync:0.7.6"
|
||||
container_name: "adguardhome-sync"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
volumes:
|
||||
- "${SYNC_PATH}:/config"
|
||||
ports:
|
||||
- "${SYNC_PORT}:8080"
|
||||
restart: "unless-stopped"
|
14
adguardhome/docker-compose.yaml
Normal file
14
adguardhome/docker-compose.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
adguardhome:
|
||||
image: "adguard/adguardhome:v0.107.62"
|
||||
container_name: "adguardhome"
|
||||
volumes:
|
||||
- "${WORK_PATH}:/opt/adguardhome/work"
|
||||
- "${CONF_PATH}:/opt/adguardhome/conf"
|
||||
ports:
|
||||
- "${DNS_PORT}:53/tcp"
|
||||
- "${DNS_PORT}:53/udp"
|
||||
- "${TLS_PORT}:853/tcp"
|
||||
- "${ADMIN_PORT}:3000/tcp"
|
||||
restart: "unless-stopped"
|
20
airsonic-advanced/docker-compose.yaml
Normal file
20
airsonic-advanced/docker-compose.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
airsonic-advanced:
|
||||
image: "linuxserver/airsonic-advanced:11.0.0-SNAPSHOT.20230217142243-ls99"
|
||||
container_name: "airsonic-advanced"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
- "CONTEXT_PATH=${CONTEXT_PATH}"
|
||||
- "JAVA_OPTS=${JAVA_OPTS}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
- "${PLAYLISTS_PATH}:/playlists"
|
||||
- "${AUDIOBOOKS_PATH}:/audiobooks"
|
||||
- "${PODCASTS_PATH}:/podcasts"
|
||||
- "${MUSIC_PATH}:/music"
|
||||
ports:
|
||||
- "${PORT}:4040"
|
||||
restart: "unless-stopped"
|
12
authelia/docker-compose.yaml
Normal file
12
authelia/docker-compose.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
authelia:
|
||||
image: "authelia/authelia:4.39.4"
|
||||
container_name: "authelia"
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
ports:
|
||||
- "${PORT}:9091"
|
||||
restart: "unless-stopped"
|
38
bookstack/docker-compose.yaml
Normal file
38
bookstack/docker-compose.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
bookstack_app:
|
||||
image: "linuxserver/bookstack:25.02.20250309"
|
||||
container_name: "bookstack_app"
|
||||
depends_on:
|
||||
- "bookstack_db"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
- "APP_URL=${APP_URL}"
|
||||
- "DB_HOST=bookstack_db"
|
||||
- "DB_DATABASE=${DB_DATABASE}"
|
||||
- "DB_USER=${DB_USER}"
|
||||
- "DB_PASS=${DB_PASS}"
|
||||
volumes:
|
||||
- "${BOOKSTACK_CONFIG_PATH}:/config"
|
||||
ports:
|
||||
- "${APP_PORT}:80"
|
||||
restart: "unless-stopped"
|
||||
|
||||
bookstack_db:
|
||||
image: "linuxserver/mariadb:11.4.5"
|
||||
container_name: "bookstack_db"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
- "MYSQL_DATABASE=${DB_DATABASE}"
|
||||
- "MYSQL_ROOT_PASSWORD=${DB_ROOT_PASS}"
|
||||
- "MYSQL_USER=${DB_USER}"
|
||||
- "MYSQL_PASSWORD=${DB_PASS}"
|
||||
volumes:
|
||||
- "${DB_CONFIG_PATH}:/config"
|
||||
ports:
|
||||
- "${DB_PORT}:3306"
|
||||
restart: "unless-stopped"
|
21
caddy-reverse-proxy/docker-compose-dns.yaml
Normal file
21
caddy-reverse-proxy/docker-compose-dns.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
caddy-reverse-proxy:
|
||||
image: "slothcroissant/caddy-cloudflaredns:2.10.0"
|
||||
container_name: "caddy-reverse-proxy"
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
environment:
|
||||
- "CLOUDFLARE_EMAIL=${CLOUDFLARE_EMAIL}"
|
||||
- "CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN}"
|
||||
- "ACME_AGREE=true"
|
||||
volumes:
|
||||
- "${CADDYFILE_PATH}:/etc/caddy/Caddyfile"
|
||||
- "${CONF_PATH}:/config"
|
||||
- "${DATA_PATH}:/data"
|
||||
- "${LOG_PATH}:/var/log/caddy"
|
||||
- "${SITE_PATH}:/srv"
|
||||
ports:
|
||||
- "${HTTP}:80"
|
||||
- "${HTTPS}:443"
|
||||
restart: "unless-stopped"
|
17
caddy-reverse-proxy/docker-compose.yaml
Normal file
17
caddy-reverse-proxy/docker-compose.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
caddy-reverse-proxy:
|
||||
image: "caddy:2.10.0"
|
||||
container_name: "caddy-reverse-proxy"
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
volumes:
|
||||
- "${CADDYFILE_PATH}:/etc/caddy/Caddyfile"
|
||||
- "${CONF_PATH}:/config"
|
||||
- "${DATA_PATH}:/data"
|
||||
- "${LOG_PATH}:/var/log/caddy"
|
||||
- "${SITE_PATH}:/srv"
|
||||
ports:
|
||||
- "${HTTP}:80"
|
||||
- "${HTTPS}:443"
|
||||
restart: "unless-stopped"
|
24
changedetection/docker-compose.yaml
Normal file
24
changedetection/docker-compose.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
changedetection:
|
||||
image: "linuxserver/changedetection.io:version-0.45.14"
|
||||
container_name: "changedetection"
|
||||
depends_on:
|
||||
- "playwright-chrome"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
- "PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000/"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
ports:
|
||||
- "${PORT}:5000"
|
||||
restart: "unless-stopped"
|
||||
|
||||
playwright-chrome:
|
||||
image: "browserless/chrome:latest"
|
||||
container_name: "playwright-chrome"
|
||||
ports:
|
||||
- "3000:3000"
|
||||
restart: "unless-stopped"
|
20
cloudflare-ddns/docker-compose.yaml
Normal file
20
cloudflare-ddns/docker-compose.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
version: "3"
|
||||
services:
|
||||
cloudflare-ddns:
|
||||
image: "favonia/cloudflare-ddns:1.15.1"
|
||||
container_name: cloudflare-ddns
|
||||
user: "${PUID}:${PGID}"
|
||||
cap_drop:
|
||||
- all
|
||||
read_only: true
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
environment:
|
||||
- CF_API_TOKEN=${CF_API_TOKEN}
|
||||
- DOMAINS=${DOMAINS}
|
||||
- PROXIED=${PROXIED}
|
||||
- IP6_PROVIDER=${IP6_PROVIDER}
|
||||
- UPDATE_CRON=${UPDATE_CRON}
|
||||
- HEALTHCHECKS=${HEALTHCHECKS}
|
||||
- TTL=${TTL}
|
||||
restart: unless-stopped
|
15
dockerproxy/docker-compose.yaml
Normal file
15
dockerproxy/docker-compose.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
version: "3.3"
|
||||
services:
|
||||
dockerproxy:
|
||||
image: "ghcr.io/tecnativa/docker-socket-proxy:0.3.0"
|
||||
container_name: "dockerproxy"
|
||||
environment:
|
||||
- "CONTAINERS=${CONTAINERS}"
|
||||
- "SERVICES=${SERVICES}"
|
||||
- "TASKS=${TASKS}"
|
||||
- "POST=${POST}"
|
||||
ports:
|
||||
- "${PORT}:2375"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
restart: "unless-stopped"
|
19
duplicati/docker-compose.yaml
Normal file
19
duplicati/docker-compose.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
duplicati:
|
||||
image: "linuxserver/duplicati:2.1.0"
|
||||
container_name: "duplicati"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
- "${SOURCE_PATH}:/source"
|
||||
- "${BACKUP_PATH}:/backups"
|
||||
- "${SCRIPTS_PATH}:/scripts"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
- "/usr/bin/docker:/usr/bin/docker"
|
||||
ports:
|
||||
- "${PORT}:8200"
|
||||
restart: "unless-stopped"
|
6
duplicati/readme.md
Normal file
6
duplicati/readme.md
Normal file
@@ -0,0 +1,6 @@
|
||||
## Duplicati Scripts:
|
||||
|
||||
Add scripts to backup jobs for stoping and starting docker containers
|
||||
|
||||
* run-script-before - /scripts/stop-containers.sh
|
||||
* run-script-after - /scripts/start-containers.sh
|
10
duplicati/start-containers.sh
Normal file
10
duplicati/start-containers.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Start Database Containers and Dependant Containers
|
||||
docker start db_container db_container_2
|
||||
|
||||
# Sleep for 10 sec for Database Containers and Dependant Containers startup
|
||||
sleep 10
|
||||
|
||||
# Start Server Containers and Other Containers
|
||||
docker start container container_2
|
10
duplicati/stop-containers.sh
Normal file
10
duplicati/stop-containers.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Stop Server Containers and Other Containers
|
||||
docker stop container container_2
|
||||
|
||||
# Sleep for 10 sec for Server Containers and Other Containers to stop
|
||||
sleep 10
|
||||
|
||||
# Stop Database Containers and Dependant Containers
|
||||
docker stop db_container db_container_2
|
28
ferdium-server/docker-compose.yaml
Normal file
28
ferdium-server/docker-compose.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
ferdium-server:
|
||||
image: "ferdium/ferdium-server:2.0.10"
|
||||
container_name: "ferdium-server"
|
||||
environment:
|
||||
- "NODE_ENV=${NODE_ENV}"
|
||||
- "APP_URL=${APP_URL}"
|
||||
- "DB_CONNECTION=${DB_CONNECTION}"
|
||||
- "MAIL_CONNECTION=smtp"
|
||||
- "SMTP_HOST=${SMTP_HOST}"
|
||||
- "SMTP_PORT=${SMTP_PORT}"
|
||||
- "MAIL_SSL=${MAIL_SSL}"
|
||||
- "MAIL_USERNAME=${MAIL_USERNAME}"
|
||||
- "MAIL_PASSWORD=${MAIL_PASSWORD}"
|
||||
- "MAIL_SENDER=${MAIL_SENDER}"
|
||||
- "IS_CREATION_ENABLED=${IS_CREATION_ENABLED}"
|
||||
- "IS_DASHBOARD_ENABLED=${IS_DASHBOARD_ENABLED}"
|
||||
- "IS_REGISTRATION_ENABLED=${IS_REGISTRATION_ENABLED}"
|
||||
- "CONNECT_WITH_FRANZ=${CONNECT_WITH_FRANZ}"
|
||||
- "DATA_DIR=${DATA_DIR}"
|
||||
- "JWT_USE_PEM=${JWT_USE_PEM}"
|
||||
volumes:
|
||||
- "${DB_PATH}:/data"
|
||||
- "${RECIPES_PATH}:/app/build/recipes"
|
||||
ports:
|
||||
- "${PORT}:3333"
|
||||
restart: "unless-stopped"
|
39
forgejo/docker-compose.yaml
Normal file
39
forgejo/docker-compose.yaml
Normal file
@@ -0,0 +1,39 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
forgejo_db:
|
||||
image: "linuxserver/mariadb:11.4.5"
|
||||
container_name: "forgejo_db"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
- "MYSQL_DATABASE=${MYSQL_DATABASE}"
|
||||
- "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"
|
||||
- "MYSQL_USER=${MYSQL_USER}"
|
||||
- "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
|
||||
volumes:
|
||||
- "${DB_PATH}:/config"
|
||||
ports:
|
||||
- "${DB_PORT}:3306"
|
||||
restart: "unless-stopped"
|
||||
|
||||
forgejo_server:
|
||||
image: "codeberg.org/forgejo/forgejo:11.0.1-rootless"
|
||||
container_name: "forgejo_server"
|
||||
depends_on:
|
||||
- "forgejo_db"
|
||||
environment:
|
||||
- "USER_UID=${PUID}"
|
||||
- "USER_GID=${PGID}"
|
||||
- "FORGEJO__database__DB_TYPE=mysql"
|
||||
- "FORGEJO__database__HOST=forgejo_db"
|
||||
- "FORGEJO__database__NAME=${MYSQL_DATABASE}"
|
||||
- "FORGEJO__database__USER=${MYSQL_USER}"
|
||||
- "FORGEJO__database__PASSWD=${MYSQL_PASSWORD}"
|
||||
volumes:
|
||||
- "${SERVER_PATH}:/data"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
ports:
|
||||
- "${SERVER_PORT}:3000"
|
||||
restart: "unless-stopped"
|
15
glances/docker-compose-cosmoem.yaml
Normal file
15
glances/docker-compose-cosmoem.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
glances:
|
||||
image: "nicolargo/glances:4.3.0.8"
|
||||
container_name: "glances"
|
||||
hostname: "Cosmoem"
|
||||
pid: "host"
|
||||
environment:
|
||||
- "GLANCES_OPT=-w"
|
||||
ports:
|
||||
- "${PORT}:61208"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
- "/:/mnt/root"
|
||||
restart: "unless-stopped"
|
15
glances/docker-compose-rayquaza.yaml
Normal file
15
glances/docker-compose-rayquaza.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
glances:
|
||||
image: "nicolargo/glances:4.3.0.8"
|
||||
container_name: "glances"
|
||||
hostname: "Rayquaza"
|
||||
pid: "host"
|
||||
environment:
|
||||
- "GLANCES_OPT=-w"
|
||||
ports:
|
||||
- "${PORT}:61208"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
- "/:/mnt/root"
|
||||
restart: "unless-stopped"
|
15
glances/docker-compose.yaml
Normal file
15
glances/docker-compose.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
glances:
|
||||
image: "nicolargo/glances:4.3.0.8"
|
||||
container_name: "glances"
|
||||
hostname: "Hostname"
|
||||
pid: "host"
|
||||
environment:
|
||||
- "GLANCES_OPT=-w"
|
||||
ports:
|
||||
- "${PORT}:61208"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
- "/:/mnt/root"
|
||||
restart: "unless-stopped"
|
13
gotify/docker-compose-arm64.yaml
Normal file
13
gotify/docker-compose-arm64.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
gotify:
|
||||
image: "gotify/server-arm64:2.6.3"
|
||||
container_name: "gotify"
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
- "GOTIFY_REGISTRATION=${GOTIFY_REGISTRATION}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/app/data"
|
||||
ports:
|
||||
- "${PORT}:80"
|
||||
restart: "unless-stopped"
|
30
healthchecks/docker-compose.yaml
Normal file
30
healthchecks/docker-compose.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
healthchecks:
|
||||
image: "linuxserver/healthchecks:3.10.20250526"
|
||||
container_name: "healthchecks"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
- "SITE_ROOT=${SITE_ROOT}"
|
||||
- "SITE_NAME=${SITE_NAME}"
|
||||
- "DEFAULT_FROM_EMAIL=${DEFAULT_FROM_EMAIL}"
|
||||
- "EMAIL_HOST=${EMAIL_HOST}"
|
||||
- "EMAIL_PORT=${EMAIL_PORT}"
|
||||
- "EMAIL_HOST_USER=${EMAIL_HOST_USER}"
|
||||
- "EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD}"
|
||||
- "EMAIL_USE_TLS=${EMAIL_USE_TLS}"
|
||||
- "EMAIL_USE_SSL=${EMAIL_USE_SSL}"
|
||||
- "SUPERUSER_EMAIL=${SUPERUSER_EMAIL}"
|
||||
- "SUPERUSER_PASSWORD=${SUPERUSER_PASSWORD}"
|
||||
- "SECRET_KEY=${SECRET_KEY}"
|
||||
- "APPRISE_ENABLED=${APPRISE_ENABLED}"
|
||||
- "REGISTRATION_OPEN=${REGISTRATION_OPEN}"
|
||||
- "DEBUG=${DEBUG}"
|
||||
- "SITE_LOGO_URL=${SITE_LOGO_URL}"
|
||||
volumes:
|
||||
- ${CONFIG_PATH}:/config
|
||||
ports:
|
||||
- "${PORT}:8000"
|
||||
restart: "unless-stopped"
|
13
homeassistant/docker-compose-ls.yaml
Normal file
13
homeassistant/docker-compose-ls.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
homeassistant:
|
||||
image: "linuxserver/homeassistant:2025.5.3"
|
||||
container_name: "homeassistant"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
network_mode: "host"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
restart: "unless-stopped"
|
11
homeassistant/docker-compose.yaml
Normal file
11
homeassistant/docker-compose.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
homeassistant:
|
||||
image: "homeassistant/home-assistant:2025.5.3"
|
||||
container_name: "homeassistant"
|
||||
network_mode: "host"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "/run/dbus:/run/dbus:ro"
|
||||
restart: "unless-stopped"
|
29
homepage/docker-compose.yaml
Normal file
29
homepage/docker-compose.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
version: "3.3"
|
||||
services:
|
||||
dockerproxy:
|
||||
image: "tecnativa/docker-socket-proxy:0.3.0"
|
||||
container_name: "dockerproxy"
|
||||
environment:
|
||||
- "CONTAINERS=${CONTAINERS}" # Allow access to viewing containers
|
||||
- "SERVICES=${SERVICES}" # Allow access to viewing services (necessary when using Docker Swarm)
|
||||
- "TASKS=${TASKS}" # Allow access to viewing tasks (necessary when using Docker Swarm)
|
||||
- "POST=${POST}" # Disallow any POST operations (effectively read-only)
|
||||
ports:
|
||||
- "${PROXY_PORT}:2375"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
restart: "unless-stopped"
|
||||
|
||||
homepage:
|
||||
image: "gethomepage/homepage:v1.2.0"
|
||||
container_name: "homepage"
|
||||
environment:
|
||||
- "HOMEPAGE_ALLOWED_HOSTS=${HOMEPAGE_ALLOWED_HOSTS}"
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/app/config"
|
||||
- "${IMAGES_PATH}:/app/public/images"
|
||||
ports:
|
||||
- "${PORT}:3000"
|
||||
restart: "unless-stopped"
|
64
immich/docker-compose.yaml
Normal file
64
immich/docker-compose.yaml
Normal file
@@ -0,0 +1,64 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
immich-server:
|
||||
container_name: immich_server
|
||||
image: ghcr.io/immich-app/immich-server:v1.134.0
|
||||
command: ['start.sh', 'immich']
|
||||
volumes:
|
||||
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
||||
- ${PHOTOS_PATH_1}:/usr/src/app/external/${USER_1}/photos
|
||||
- ${VIDEOS_PATH_1}:/usr/src/app/external/${USER_1}/videos
|
||||
- ${PHOTOS_PATH_2}:/usr/src/app/external/${USER_2}/photos
|
||||
- ${VIDEOS_PATH_2}:/usr/src/app/external/${USER_2}/videos
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
env_file:
|
||||
- ../stack.env
|
||||
ports:
|
||||
- ${SERVER_PORT}:3001
|
||||
depends_on:
|
||||
- immich-redis
|
||||
- immich-postgres
|
||||
restart: unless-stopped
|
||||
|
||||
immich-microservices:
|
||||
container_name: immich_microservices
|
||||
image: ghcr.io/immich-app/immich-server:v1.134.0
|
||||
command: ['start.sh', 'microservices']
|
||||
volumes:
|
||||
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
||||
- ${PHOTOS_PATH_1}:/usr/src/app/external/${USER_1}/photos
|
||||
- ${VIDEOS_PATH_1}:/usr/src/app/external/${USER_1}/videos
|
||||
- ${PHOTOS_PATH_2}:/usr/src/app/external/${USER_2}/photos
|
||||
- ${VIDEOS_PATH_2}:/usr/src/app/external/${USER_2}/videos
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
env_file:
|
||||
- ../stack.env
|
||||
depends_on:
|
||||
- immich-redis
|
||||
- immich-postgres
|
||||
restart: unless-stopped
|
||||
|
||||
immich-machine-learning:
|
||||
container_name: immich_machine_learning
|
||||
image: ghcr.io/immich-app/immich-machine-learning:v1.134.0
|
||||
volumes:
|
||||
- ${CACHE_PATH}:/cache
|
||||
env_file:
|
||||
- ../stack.env
|
||||
restart: unless-stopped
|
||||
|
||||
immich-redis:
|
||||
container_name: immich_redis
|
||||
image: redis:8.0.2
|
||||
restart: unless-stopped
|
||||
|
||||
immich-postgres:
|
||||
container_name: immich_postgres
|
||||
image: tensorchord/pgvecto-rs:pg15-v0.2.1
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
POSTGRES_USER: ${DB_USERNAME}
|
||||
POSTGRES_DB: ${DB_DATABASE_NAME}
|
||||
volumes:
|
||||
- ${DB_PATH}:/var/lib/postgresql/data
|
||||
restart: unless-stopped
|
32
joplin/docker-compose.yaml
Normal file
32
joplin/docker-compose.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
joplin-server:
|
||||
image: "joplin/server:3.3.9-beta"
|
||||
container_name: "joplin-server"
|
||||
depends_on:
|
||||
- "joplin-db"
|
||||
environment:
|
||||
- "APP_PORT=${APP_PORT}"
|
||||
- "APP_BASE_URL=${APP_BASE_URL}"
|
||||
- "DB_CLIENT=pg"
|
||||
- "POSTGRES_DATABASE=${POSTGRES_DATABASE}"
|
||||
- "POSTGRES_USER=${POSTGRES_USER}"
|
||||
- "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
|
||||
- "POSTGRES_HOST=joplin-db"
|
||||
- "POSTGRES_PORT=5432"
|
||||
ports:
|
||||
- "${APP_PORT}:22300"
|
||||
restart: "unless-stopped"
|
||||
|
||||
joplin-db:
|
||||
image: "postgres:17.5"
|
||||
container_name: "joplin-db"
|
||||
environment:
|
||||
- "POSTGRES_DB=${POSTGRES_DATABASE}"
|
||||
- "POSTGRES_USER=${POSTGRES_USER}"
|
||||
- "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
|
||||
volumes:
|
||||
- "${DB_PATH}:/var/lib/postgresql/data"
|
||||
ports:
|
||||
- "${DB_PORT}:5432"
|
||||
restart: "unless-stopped"
|
15
komga/docker-compose.yaml
Normal file
15
komga/docker-compose.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
komga:
|
||||
image: "gotson/komga:1.21.3"
|
||||
container_name: "komga"
|
||||
user: "${UID}:${GID}"
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
- "JAVA_TOOL_OPTIONS=-Xmx${RAM_LIMIT}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
- "${DATA_PATH}:/data"
|
||||
ports:
|
||||
- "${PORT}:25600"
|
||||
restart: "unless-stopped"
|
20
letsencrypt-cloudflare/docker-compose-dry.yaml
Normal file
20
letsencrypt-cloudflare/docker-compose-dry.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
version: "3"
|
||||
services:
|
||||
letsencrypt-cloudflare:
|
||||
image: "certbot/dns-cloudflare:v4.0.0"
|
||||
container_name: "letsencrypt-cloudflare"
|
||||
|
||||
# Dry Run
|
||||
command: certonly --non-interactive --dns-cloudflare --dns-cloudflare-credentials /opt/cloudflare/cloudflare.ini --agree-tos --email ${EMAIL} -d ${DOMAIN} -d *.${DOMAIN} --server https://acme-v02.api.letsencrypt.org/directory --dns-cloudflare-propagation-seconds ${PROPAGATION} --dry-run
|
||||
|
||||
# Issue certificate
|
||||
# command: certonly --non-interactive --dns-cloudflare --dns-cloudflare-credentials /opt/cloudflare/cloudflare.ini --agree-tos --email ${EMAIL} -d ${DOMAIN} -d *.${DOMAIN} --server https://acme-v02.api.letsencrypt.org/directory --dns-cloudflare-propagation-seconds ${PROPAGATION}
|
||||
|
||||
# Renew certificate
|
||||
# command: renew --non-interactive --dns-cloudflare --dns-cloudflare-credentials /opt/cloudflare/cloudflare.ini --agree-tos --server https://acme-v02.api.letsencrypt.org/directory --dns-cloudflare-propagation-seconds ${PROPAGATION}
|
||||
|
||||
volumes:
|
||||
- "${CLOUDFLARE_PATH}:/opt/cloudflare"
|
||||
- "${LETSENCRYPT_PATH}:/etc/letsencrypt"
|
||||
- "${LETSENCRYPT_LOG_PATH}:/var/log/letsencrypt"
|
||||
- "${LETSENCRYPT_LIB_PATH}:/var/lib/letsencrypt"
|
20
letsencrypt-cloudflare/docker-compose-issue.yaml
Normal file
20
letsencrypt-cloudflare/docker-compose-issue.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
version: "3"
|
||||
services:
|
||||
letsencrypt-cloudflare:
|
||||
image: "certbot/dns-cloudflare:v4.0.0"
|
||||
container_name: "letsencrypt-cloudflare"
|
||||
|
||||
# Dry Run
|
||||
# command: certonly --non-interactive --dns-cloudflare --dns-cloudflare-credentials /opt/cloudflare/cloudflare.ini --agree-tos --email ${EMAIL} -d ${DOMAIN} -d *.${DOMAIN} --server https://acme-v02.api.letsencrypt.org/directory --dns-cloudflare-propagation-seconds ${PROPAGATION} --dry-run
|
||||
|
||||
# Issue certificate
|
||||
command: certonly --non-interactive --dns-cloudflare --dns-cloudflare-credentials /opt/cloudflare/cloudflare.ini --agree-tos --email ${EMAIL} -d ${DOMAIN} -d *.${DOMAIN} --server https://acme-v02.api.letsencrypt.org/directory --dns-cloudflare-propagation-seconds ${PROPAGATION}
|
||||
|
||||
# Renew certificate
|
||||
# command: renew --non-interactive --dns-cloudflare --dns-cloudflare-credentials /opt/cloudflare/cloudflare.ini --agree-tos --server https://acme-v02.api.letsencrypt.org/directory --dns-cloudflare-propagation-seconds ${PROPAGATION}
|
||||
|
||||
volumes:
|
||||
- "${CLOUDFLARE_PATH}:/opt/cloudflare"
|
||||
- "${LETSENCRYPT_PATH}:/etc/letsencrypt"
|
||||
- "${LETSENCRYPT_LOG_PATH}:/var/log/letsencrypt"
|
||||
- "${LETSENCRYPT_LIB_PATH}:/var/lib/letsencrypt"
|
20
letsencrypt-cloudflare/docker-compose-renew.yaml
Normal file
20
letsencrypt-cloudflare/docker-compose-renew.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
version: "3"
|
||||
services:
|
||||
letsencrypt-cloudflare:
|
||||
image: "certbot/dns-cloudflare:v4.0.0"
|
||||
container_name: "letsencrypt-cloudflare"
|
||||
|
||||
# Dry Run
|
||||
# command: certonly --non-interactive --dns-cloudflare --dns-cloudflare-credentials /opt/cloudflare/cloudflare.ini --agree-tos --email ${EMAIL} -d ${DOMAIN} -d *.${DOMAIN} --server https://acme-v02.api.letsencrypt.org/directory --dns-cloudflare-propagation-seconds ${PROPAGATION} --dry-run
|
||||
|
||||
# Issue certificate
|
||||
# command: certonly --non-interactive --dns-cloudflare --dns-cloudflare-credentials /opt/cloudflare/cloudflare.ini --agree-tos --email ${EMAIL} -d ${DOMAIN} -d *.${DOMAIN} --server https://acme-v02.api.letsencrypt.org/directory --dns-cloudflare-propagation-seconds ${PROPAGATION}
|
||||
|
||||
# Renew certificate
|
||||
command: renew --non-interactive --dns-cloudflare --dns-cloudflare-credentials /opt/cloudflare/cloudflare.ini --agree-tos --server https://acme-v02.api.letsencrypt.org/directory --dns-cloudflare-propagation-seconds ${PROPAGATION}
|
||||
|
||||
volumes:
|
||||
- "${CLOUDFLARE_PATH}:/opt/cloudflare"
|
||||
- "${LETSENCRYPT_PATH}:/etc/letsencrypt"
|
||||
- "${LETSENCRYPT_LOG_PATH}:/var/log/letsencrypt"
|
||||
- "${LETSENCRYPT_LIB_PATH}:/var/lib/letsencrypt"
|
10
mailrise/docker-compose.yaml
Normal file
10
mailrise/docker-compose.yaml
Normal file
@@ -0,0 +1,10 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
mailrise:
|
||||
image: "yoryan/mailrise:latest"
|
||||
container_name: "mailrise"
|
||||
volumes:
|
||||
- "${CONF}:/etc/mailrise.conf"
|
||||
ports:
|
||||
- "${PORT}:8025"
|
||||
restart: "unless-stopped"
|
17
minio/docker-compose.yaml
Normal file
17
minio/docker-compose.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
minio:
|
||||
image: "minio/minio:latest"
|
||||
container_name: "minio"
|
||||
environment:
|
||||
- "MINIO_ROOT_USER=${MINIO_ROOT_USER}"
|
||||
- "MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}"
|
||||
- "MINIO_BROWSER_REDIRECT_URL=${MINIO_BROWSER_REDIRECT_URL}"
|
||||
- "MINIO_SERVER_URL=${MINIO_SERVER_URL}"
|
||||
command: server --console-address ":9001" /data
|
||||
volumes:
|
||||
- "${DATA_PATH}:/data"
|
||||
ports:
|
||||
- "${PORT1}:9000"
|
||||
- "${PORT2}:9001"
|
||||
restart: "unless-stopped"
|
46
nextcloud/docker-compose-ls.yaml
Normal file
46
nextcloud/docker-compose-ls.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
nextcloud_app:
|
||||
image: "linuxserver/nextcloud:31.0.5"
|
||||
container_name: "nextcloud_app"
|
||||
depends_on:
|
||||
- "nextcloud_db"
|
||||
- "nextcloud_redis"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
- "${DATA_PATH}:/data"
|
||||
- "${HDD_DATA_PATH}:/hdd"
|
||||
ports:
|
||||
- "${APP_PORT}:443"
|
||||
restart: "unless-stopped"
|
||||
|
||||
nextcloud_db:
|
||||
image: "linuxserver/mariadb:11.4.5"
|
||||
container_name: "nextcloud_db"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
- "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"
|
||||
- "MYSQL_DATABASE=${MYSQL_DATABASE}"
|
||||
- "MYSQL_USER=${MYSQL_USER}"
|
||||
- "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
|
||||
volumes:
|
||||
- "${DB_PATH}:/config"
|
||||
ports:
|
||||
- "${DB_PORT}:3306"
|
||||
restart: "unless-stopped"
|
||||
|
||||
nextcloud_redis:
|
||||
image: "redis:8.0.2"
|
||||
container_name: "nextcloud_redis"
|
||||
command: redis-server --requirepass ${REDIS_PASSWORD}
|
||||
volumes:
|
||||
- "${REDIS_PATH}:/data"
|
||||
ports:
|
||||
- "${REDIS_PORT}:6379"
|
||||
restart: "unless-stopped"
|
74
nextcloud/docker-compose.yaml
Normal file
74
nextcloud/docker-compose.yaml
Normal file
@@ -0,0 +1,74 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
nextcloud_app:
|
||||
image: "nextcloud:31.0.5"
|
||||
container_name: "nextcloud_app"
|
||||
depends_on:
|
||||
- "nextcloud_db"
|
||||
- "nextcloud_redis"
|
||||
environment:
|
||||
- "MYSQL_HOST=nextcloud_db:3306"
|
||||
- "MYSQL_DATABASE=${MYSQL_DATABASE}"
|
||||
- "MYSQL_USER=${MYSQL_USER}"
|
||||
- "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
|
||||
- "REDIS_HOST=nextcloud_redis"
|
||||
- "REDIS_HOST_PORT=6379"
|
||||
- "REDIS_HOST_PASSWORD=${REDIS_PASSWORD}"
|
||||
- "PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT}"
|
||||
- "PHP_UPLOAD_LIMIT=${PHP_UPLOAD_LIMIT}"
|
||||
- "APACHE_DISABLE_REWRITE_IP=${APACHE_DISABLE_REWRITE_IP}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/var/www/html"
|
||||
- "${DATA_PATH}:/var/www/html/data"
|
||||
- "${HDD_PATH}:/hdd"
|
||||
ports:
|
||||
- "${APP_PORT}:80"
|
||||
restart: "unless-stopped"
|
||||
|
||||
nextcloud_cron:
|
||||
image: "nextcloud:31.0.5"
|
||||
container_name: "nextcloud_cron"
|
||||
depends_on:
|
||||
- "nextcloud_app"
|
||||
entrypoint: /cron.sh
|
||||
environment:
|
||||
- "MYSQL_HOST=nextcloud_db:3306"
|
||||
- "MYSQL_DATABASE=${MYSQL_DATABASE}"
|
||||
- "MYSQL_USER=${MYSQL_USER}"
|
||||
- "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
|
||||
- "REDIS_HOST=nextcloud_redis"
|
||||
- "REDIS_HOST_PORT=6379"
|
||||
- "REDIS_HOST_PASSWORD=${REDIS_PASSWORD}"
|
||||
- "PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT}"
|
||||
- "PHP_UPLOAD_LIMIT=${PHP_UPLOAD_LIMIT}"
|
||||
- "APACHE_DISABLE_REWRITE_IP=${APACHE_DISABLE_REWRITE_IP}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/var/www/html"
|
||||
- "${DATA_PATH}:/var/www/html/data"
|
||||
- "${HDD_PATH}:/hdd"
|
||||
restart: "unless-stopped"
|
||||
|
||||
nextcloud_db:
|
||||
image: "mariadb:11.7.2"
|
||||
container_name: "nextcloud_db"
|
||||
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
|
||||
environment:
|
||||
- "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"
|
||||
- "MYSQL_DATABASE=${MYSQL_DATABASE}"
|
||||
- "MYSQL_USER=${MYSQL_USER}"
|
||||
- "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
|
||||
volumes:
|
||||
- "${DB_PATH}:/var/lib/mysql"
|
||||
ports:
|
||||
- "${DB_PORT}:3306"
|
||||
restart: "unless-stopped"
|
||||
|
||||
nextcloud_redis:
|
||||
image: "redis:8.0.2"
|
||||
container_name: "nextcloud_redis"
|
||||
command: "redis-server --requirepass ${REDIS_PASSWORD}"
|
||||
volumes:
|
||||
- "${REDIS_PATH}:/data"
|
||||
ports:
|
||||
- "${REDIS_PORT}:6379"
|
||||
restart: "unless-stopped"
|
13
nginx-proxy-manager/docker-compose.yaml
Normal file
13
nginx-proxy-manager/docker-compose.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
nginx-proxy-manager:
|
||||
image: "jc21/nginx-proxy-manager:2.12.3"
|
||||
container_name: "nginx-proxy-manager"
|
||||
volumes:
|
||||
- "${DATA_PATH}:/data"
|
||||
- "${LETSENCRYPT_PATH}:/etc/letsencrypt"
|
||||
ports:
|
||||
- "${PORT1}:80"
|
||||
- "${PORT2}:81"
|
||||
- "${PORT3}:443"
|
||||
restart: "unless-stopped"
|
15
nginx-reverse-proxy/docker-compose.yaml
Normal file
15
nginx-reverse-proxy/docker-compose.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
nginx-reverse-proxy:
|
||||
image: "nginx:1.28.0"
|
||||
container_name: "nginx-reverse-proxy"
|
||||
volumes:
|
||||
- "${CONF_PATH}:/etc/nginx/nginx.conf"
|
||||
- "${PROXY_PATH}:/etc/nginx/conf.d"
|
||||
- "${LOG_PATH}:/var/log/nginx"
|
||||
- "${LETSENCRYPT_PATH}:/letsencrypt"
|
||||
|
||||
ports:
|
||||
- "${HTTP}:80"
|
||||
- "${HTTPS}:443"
|
||||
restart: "unless-stopped"
|
38
paperless-ngx/docker-compose.yaml
Normal file
38
paperless-ngx/docker-compose.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
paperless-ngx-server:
|
||||
image: "paperlessngx/paperless-ngx:2.16.2"
|
||||
container_name: "paperless-ngx-server"
|
||||
depends_on:
|
||||
- "paperless-ngx-redis"
|
||||
environment:
|
||||
USERMAP_UID: ${PUID}
|
||||
USERMAP_GID: ${PGID}
|
||||
PAPERLESS_TIME_ZONE: ${TZ}
|
||||
PAPERLESS_SECRET_KEY: ${PAPERLESS_SECRET_KEY}
|
||||
PAPERLESS_URL: ${URL}
|
||||
PAPERLESS_REDIS: redis://paperless-ngx-redis:6379
|
||||
PAPERLESS_FILENAME_FORMAT: "{correspondent}/{created_year}/{title}"
|
||||
PAPERLESS_OCR_DESKEW: false
|
||||
volumes:
|
||||
- "${DATA_PATH}:/usr/src/paperless/data"
|
||||
- "${MEDIA_PATH}:/usr/src/paperless/media"
|
||||
- "${EXPORT_PATH}:/usr/src/paperless/export"
|
||||
- "${CONSUME_PATH}:/usr/src/paperless/consume"
|
||||
ports:
|
||||
- "${SERVER_PORT}:8000"
|
||||
restart: "unless-stopped"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8000"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
|
||||
paperless-ngx-redis:
|
||||
image: "redis:8.0.2"
|
||||
container_name: "paperless-ngx-redis"
|
||||
volumes:
|
||||
- "${REDIS_PATH}:/data"
|
||||
ports:
|
||||
- "${REDIS_PORT}:6379"
|
||||
restart: "unless-stopped"
|
33
picsur/docker-compose.yaml
Normal file
33
picsur/docker-compose.yaml
Normal file
@@ -0,0 +1,33 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
picsur_app:
|
||||
image: "ghcr.io/caramelfur/picsur:0.5.6"
|
||||
container_name: "picsur_app"
|
||||
depends_on:
|
||||
- "picsur_db"
|
||||
environment:
|
||||
PICSUR_DB_HOST: picsur_db
|
||||
PICSUR_DB_DATABASE: ${POSTGRES_DB}
|
||||
PICSUR_DB_USERNAME: ${POSTGRES_USER}
|
||||
PICSUR_DB_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
PICSUR_ADMIN_PASSWORD: ${PICSUR_ADMIN_PASSWORD}
|
||||
PICSUR_JWT_SECRET: ${PICSUR_JWT_SECRET}
|
||||
PICSUR_JWT_EXPIRY: ${PICSUR_JWT_EXPIRY}
|
||||
PICSUR_MAX_FILE_SIZE: ${PICSUR_MAX_FILE_SIZE}
|
||||
PICSUR_VERBOSE: "${PICSUR_VERBOSE}"
|
||||
ports:
|
||||
- "${APP_PORT}:8080"
|
||||
restart: "unless-stopped"
|
||||
|
||||
picsur_db:
|
||||
image: "postgres:17.5"
|
||||
container_name: "picsur_db"
|
||||
environment:
|
||||
POSTGRES_DB: ${POSTGRES_DB}
|
||||
POSTGRES_USER: ${POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
volumes:
|
||||
- "${DB_CONFIG}:/var/lib/postgresql/data"
|
||||
ports:
|
||||
- "${DB_PORT}:5432"
|
||||
restart: "unless-stopped"
|
17
pihole-unbound/docker-compose.yaml
Normal file
17
pihole-unbound/docker-compose.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
pihole-unbound:
|
||||
container_name: "pihole-unbound"
|
||||
image: "rlabinc/pihole-unbound:2024.02.2"
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
- "WEBPASSWORD=${WEBPASSWORD}"
|
||||
volumes:
|
||||
- "${ETC_PIHOLE_PATH}:/etc/pihole"
|
||||
- "${ETC_DNSMASQ_PATH}:/etc/dnsmasq.d"
|
||||
# - "${UNBOUND_PATH}:/opt/unbound/etc/unbound" #For custom Unbound conf
|
||||
ports:
|
||||
- "53:53/tcp"
|
||||
- "53:53/udp"
|
||||
- "${PORT}:80/tcp"
|
||||
restart: "unless-stopped"
|
16
pihole/docker-compose.yaml
Normal file
16
pihole/docker-compose.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
pihole:
|
||||
container_name: "pihole"
|
||||
image: "pihole/pihole:2025.05.1"
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
- "WEBPASSWORD=${WEBPASSWORD}"
|
||||
volumes:
|
||||
- "${ETC_PIHOLE_PATH}:/etc/pihole"
|
||||
- "${ETC_DNSMASQ_PATH}:/etc/dnsmasq.d"
|
||||
ports:
|
||||
- "53:53/tcp"
|
||||
- "53:53/udp"
|
||||
- "80:80/tcp"
|
||||
restart: "unless-stopped"
|
11
portainer-agent/docker-compose.yaml
Normal file
11
portainer-agent/docker-compose.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
portainer-agent:
|
||||
image: "portainer/agent:lts"
|
||||
container_name: "portainer-agent"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
- "/var/lib/docker/volumes:/var/lib/docker/volumes"
|
||||
ports:
|
||||
- "9001:9001"
|
||||
restart: "unless-stopped"
|
13
portainer/docker-compose.yaml
Normal file
13
portainer/docker-compose.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
portainer:
|
||||
image: "portainer/portainer-ee:lts"
|
||||
container_name: "portainer"
|
||||
volumes:
|
||||
- "./data:/data"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
ports:
|
||||
- "8000:8000"
|
||||
- "9443:9443"
|
||||
restart: "unless-stopped"
|
18
qbittorrent/docker-compose.yaml
Normal file
18
qbittorrent/docker-compose.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
qbittorrent:
|
||||
image: "linuxserver/qbittorrent:latest"
|
||||
container_name: "qbittorrent"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
- "WEBUI_PORT=${PORT}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
- "${DOWNLOADS}:/downloads"
|
||||
ports:
|
||||
- "${PORT}:${PORT}"
|
||||
- "6881:6881"
|
||||
- "6881:6881/udp"
|
||||
restart: "unless-stopped"
|
27
radicale/docker-compose.yaml
Normal file
27
radicale/docker-compose.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
radicale:
|
||||
image: "tomsquest/docker-radicale:3.5.4.0"
|
||||
container_name: "radicale"
|
||||
init: "true"
|
||||
read_only: "true"
|
||||
security_opt:
|
||||
- "no-new-privileges:true"
|
||||
cap_drop:
|
||||
- "ALL"
|
||||
cap_add:
|
||||
- "SETUID"
|
||||
- "SETGID"
|
||||
- "CHOWN"
|
||||
- "KILL"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
- "${DATA_PATH}:/data"
|
||||
- "${USERS_PATH}:/users:ro"
|
||||
ports:
|
||||
- "${PORT}:5232"
|
||||
restart: "unless-stopped"
|
||||
healthcheck:
|
||||
test: curl -f http://127.0.0.1:5232 || exit 1
|
||||
interval: 30s
|
||||
retries: 3
|
18
stirling-pdf/docker-compose.yaml
Normal file
18
stirling-pdf/docker-compose.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
stirling-pdf:
|
||||
image: "frooodle/s-pdf:0.46.2-fat"
|
||||
container_name: "stirling-pdf"
|
||||
environment:
|
||||
- "DOCKER_ENABLE_SECURITY=${DOCKER_ENABLE_SECURITY}"
|
||||
- "SECURITY_ENABLELOGIN=${SECURITY_ENABLELOGIN}"
|
||||
- "LANGS=${LANGS}"
|
||||
ports:
|
||||
- "${PORT}:8080"
|
||||
volumes:
|
||||
- "${TRAINIG_DATA}:/usr/share/tessdata" #Required for extra OCR languages
|
||||
- "${CONFIG_PATH}:/configs"
|
||||
- "${CUSTOM_FILES}:/customFiles/"
|
||||
- "${LOGS}:/logs/"
|
||||
- "${PIPELINE}:/pipeline/"
|
||||
restart: "unless-stopped"
|
10
uptime-kuma/docker-compose.yaml
Normal file
10
uptime-kuma/docker-compose.yaml
Normal file
@@ -0,0 +1,10 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
uptime-kuma:
|
||||
image: "louislam/uptime-kuma:1.23.16"
|
||||
container_name: "uptime-kuma"
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/app/data"
|
||||
ports:
|
||||
- "${PORT}:3001"
|
||||
restart: "unless-stopped"
|
24
vaultwarden/docker-compose.yaml
Normal file
24
vaultwarden/docker-compose.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
vaultwarden:
|
||||
image: "vaultwarden/server:1.34.1"
|
||||
container_name: "vaultwarden"
|
||||
environment:
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "TZ=${TZ}"
|
||||
- "WEBSOCKET_ENABLED=${WEBSOCKET_ENABLED}"
|
||||
# - "SIGNUPS_ALLOWED=${SIGNUPS_ALLOWED}"
|
||||
# - "ADMIN_TOKEN=${ADMIN_TOKEN}"
|
||||
# - "SMTP_HOST=${SMTP_HOST}"
|
||||
# - "SMTP_FROM=${SMTP_FROM}"
|
||||
# - "SMTP_PORT=${SMTP_PORT}"
|
||||
# - "SMTP_SECURITY=starttls"
|
||||
# - "SMTP_USERNAME=${SMTP_USERNAME}"
|
||||
# - "SMTP_PASSWORD=${SMTP_PASSWORD}"
|
||||
- "LOG_FILE=/data/vaultwarden.log"
|
||||
volumes:
|
||||
- "${DATA_PATH}:/data/"
|
||||
ports:
|
||||
- "${PORT}:80"
|
||||
restart: "unless-stopped"
|
13
wallos/docker-compose.yaml
Normal file
13
wallos/docker-compose.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
wallos:
|
||||
image: "bellamy/wallos:3.1.1"
|
||||
container_name: "wallos"
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
volumes:
|
||||
- "${DB_PATH}:/var/www/html/db"
|
||||
- "${LOGOS_PATH}:/var/www/html/images/uploads/logos"
|
||||
ports:
|
||||
- "${PORT}:80/tcp"
|
||||
restart: "unless-stopped"
|
Reference in New Issue
Block a user