added some more container services
This commit is contained in:
+161
-65
@@ -13,6 +13,8 @@ volumes:
|
|||||||
redis-data:
|
redis-data:
|
||||||
mysql-lib:
|
mysql-lib:
|
||||||
opengist-data:
|
opengist-data:
|
||||||
|
stash-cache:
|
||||||
|
stash-blobs:
|
||||||
secrets:
|
secrets:
|
||||||
headscale.key:
|
headscale.key:
|
||||||
file: ~/.podsecrets/headscale.key
|
file: ~/.podsecrets/headscale.key
|
||||||
@@ -54,13 +56,13 @@ services:
|
|||||||
- 443:443/udp
|
- 443:443/udp
|
||||||
- 6379:6379
|
- 6379:6379
|
||||||
- 3306:3306
|
- 3306:3306
|
||||||
|
- 8999:8999
|
||||||
- ${FORGEJO_SSH_PORT:-2121}:${FORGEJO_SSH_PORT:-2121}
|
- ${FORGEJO_SSH_PORT:-2121}:${FORGEJO_SSH_PORT:-2121}
|
||||||
- ${OG_SSH_PORT:-2323}:${OG_SSH_PORT:-2323}
|
- ${OG_SSH_PORT:-2323}:${OG_SSH_PORT:-2323}
|
||||||
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.forwarding=1
|
- net.ipv6.conf.all.forwarding=1
|
||||||
# - net.ipv6.conf.all.src_valid_mark=1
|
|
||||||
environment:
|
environment:
|
||||||
PUID: 1000
|
PUID: 1000
|
||||||
PGID: 1000
|
PGID: 1000
|
||||||
@@ -86,11 +88,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- "redis-data:/data:z"
|
- "redis-data:/data:z"
|
||||||
# networks:
|
|
||||||
# - wg
|
|
||||||
network_mode: "container:wgclient"
|
network_mode: "container:wgclient"
|
||||||
# depends_on:
|
|
||||||
# - wgclient
|
|
||||||
env_file:
|
env_file:
|
||||||
- ${HOME}/.all.env
|
- ${HOME}/.all.env
|
||||||
environment:
|
environment:
|
||||||
@@ -114,11 +112,7 @@ services:
|
|||||||
# @NOTE https://dev.mysql.com/doc/refman/8.0/en/using-encrypted-connections.html
|
# @NOTE https://dev.mysql.com/doc/refman/8.0/en/using-encrypted-connections.html
|
||||||
- ~/.config/mysql:/etc/mysql/conf.d:Z
|
- ~/.config/mysql:/etc/mysql/conf.d:Z
|
||||||
- mysql-lib:/var/lib/mysql
|
- mysql-lib:/var/lib/mysql
|
||||||
# networks:
|
|
||||||
# - wg
|
|
||||||
network_mode: "container:wgclient"
|
network_mode: "container:wgclient"
|
||||||
# depends_on:
|
|
||||||
# - wgclient
|
|
||||||
env_file:
|
env_file:
|
||||||
- ${HOME}/.all.env
|
- ${HOME}/.all.env
|
||||||
- ${HOME}/.mysql.env
|
- ${HOME}/.mysql.env
|
||||||
@@ -148,13 +142,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ~/srv/${NEXTCLOUD_SUBDOMAIN}.${SERVER_FQDN}:/var/www/html:z
|
- ~/srv/${NEXTCLOUD_SUBDOMAIN}.${SERVER_FQDN}:/var/www/html:z
|
||||||
# networks:
|
|
||||||
# - wg
|
|
||||||
network_mode: "container:wgclient"
|
network_mode: "container:wgclient"
|
||||||
# depends_on:
|
|
||||||
# - cache0
|
|
||||||
# - db0
|
|
||||||
# - wgclient
|
|
||||||
env_file:
|
env_file:
|
||||||
- ${HOME}/.all.env
|
- ${HOME}/.all.env
|
||||||
- ${HOME}/.email.env
|
- ${HOME}/.email.env
|
||||||
@@ -207,12 +195,7 @@ services:
|
|||||||
expose:
|
expose:
|
||||||
- 3000
|
- 3000
|
||||||
- ${FORGEJO_SSH_PORT:-2121}
|
- ${FORGEJO_SSH_PORT:-2121}
|
||||||
# networks:
|
|
||||||
# - wg
|
|
||||||
network_mode: "container:wgclient"
|
network_mode: "container:wgclient"
|
||||||
# depends_on:
|
|
||||||
# - db0
|
|
||||||
# - wgclient
|
|
||||||
env_file:
|
env_file:
|
||||||
- ${HOME}/.all.env
|
- ${HOME}/.all.env
|
||||||
- ${HOME}/.email.env
|
- ${HOME}/.email.env
|
||||||
@@ -297,12 +280,7 @@ services:
|
|||||||
expose:
|
expose:
|
||||||
- 6157
|
- 6157
|
||||||
- ${OG_SSH_PORT:-2323}
|
- ${OG_SSH_PORT:-2323}
|
||||||
# networks:
|
|
||||||
# - wg
|
|
||||||
network_mode: "container:wgclient"
|
network_mode: "container:wgclient"
|
||||||
# depends_on:
|
|
||||||
# - db0
|
|
||||||
# - wgclient
|
|
||||||
env_file:
|
env_file:
|
||||||
- ${HOME}/.all.env
|
- ${HOME}/.all.env
|
||||||
- ${HOME}/.opengist.env
|
- ${HOME}/.opengist.env
|
||||||
@@ -314,8 +292,6 @@ services:
|
|||||||
OG_HTTP_GIT_ENABLED: true
|
OG_HTTP_GIT_ENABLED: true
|
||||||
OG_EXTERNAL_URL: "${SERVER_FQDN_SCHEME}://${OG_SUBDOMAIN}.${SERVER_FQDN}"
|
OG_EXTERNAL_URL: "${SERVER_FQDN_SCHEME}://${OG_SUBDOMAIN}.${SERVER_FQDN}"
|
||||||
OG_CUSTOM_NAME: ${OG_NAME}
|
OG_CUSTOM_NAME: ${OG_NAME}
|
||||||
# OG_CUSTOM_LOGO: ${OG_LOGO:-logo.svg}
|
|
||||||
# OG_CUSTOM_FAVICON: ${OG_FAVICON:-logo.ico}
|
|
||||||
secrets:
|
secrets:
|
||||||
- "user-mysql.pass"
|
- "user-mysql.pass"
|
||||||
# - opengist.secret
|
# - opengist.secret
|
||||||
@@ -326,6 +302,27 @@ services:
|
|||||||
glance.url: "${SERVER_FQDN_SCHEME}://${OG_SUBDOMAIN}.${SERVER_FQDN}"
|
glance.url: "${SERVER_FQDN_SCHEME}://${OG_SUBDOMAIN}.${SERVER_FQDN}"
|
||||||
glance.description: Pastebin server
|
glance.description: Pastebin server
|
||||||
|
|
||||||
|
# @TODO below in need of skato-ansible integration
|
||||||
|
forum:
|
||||||
|
# build: ../builds/nodebb
|
||||||
|
image: ghcr.io/nodebb/nodebb:latest
|
||||||
|
container_name: forum
|
||||||
|
restart: unless-stopped
|
||||||
|
expose:
|
||||||
|
- 4567
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- ~/.config/nodebb:/opt/config:Z
|
||||||
|
- ~/.local/nodebb:/usr/src/app:z # @NOTE where setup.json for nodeBB goes
|
||||||
|
env_file:
|
||||||
|
- ${HOME}/.all.env
|
||||||
|
labels:
|
||||||
|
glance.name: NodeBB
|
||||||
|
glance.id: nodebb
|
||||||
|
glance.icon: "si:nodebb"
|
||||||
|
glance.url: "${SERVER_FQDN_SCHEME}://${NODEBB_SUBDOMAIN}.${SERVER_FQDN}"
|
||||||
|
glance.description: Synchronized video playback server
|
||||||
|
|
||||||
# @NOTE https://hub.docker.com/_/caddy/
|
# @NOTE https://hub.docker.com/_/caddy/
|
||||||
# @NOTE https://blog.genxnotes.com/en/tech/how-to-move-the-hugo-public-folder-outside-the-project-root/
|
# @NOTE https://blog.genxnotes.com/en/tech/how-to-move-the-hugo-public-folder-outside-the-project-root/
|
||||||
# @NOTE https://www.turtlestoffel.com/My-Quartz-Configuration#explorer-component-with-custom-content-folder
|
# @NOTE https://www.turtlestoffel.com/My-Quartz-Configuration#explorer-component-with-custom-content-folder
|
||||||
@@ -348,15 +345,11 @@ services:
|
|||||||
- ~/srv/certbot.${SERVER_FQDN}:/srv/certbot.${SERVER_FQDN}:ro,z
|
- ~/srv/certbot.${SERVER_FQDN}:/srv/certbot.${SERVER_FQDN}:ro,z
|
||||||
- ~/srv/${NEXTCLOUD_SUBDOMAIN}.${SERVER_FQDN}:/srv/${NEXTCLOUD_SUBDOMAIN}.${SERVER_FQDN}:z
|
- ~/srv/${NEXTCLOUD_SUBDOMAIN}.${SERVER_FQDN}:/srv/${NEXTCLOUD_SUBDOMAIN}.${SERVER_FQDN}:z
|
||||||
- "caddy-share:/usr/share/caddy"
|
- "caddy-share:/usr/share/caddy"
|
||||||
- "caddy-data:/data:z"
|
- "caddy-data:/data"
|
||||||
- ~/.caddy:/config:Z
|
- ~/.caddy:/config:Z
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- cloud:ro
|
- cloud:ro
|
||||||
# networks:
|
|
||||||
# - wg
|
|
||||||
network_mode: "container:wgclient"
|
network_mode: "container:wgclient"
|
||||||
# depends_on:
|
|
||||||
# - wgclient
|
|
||||||
env_file:
|
env_file:
|
||||||
- ${HOME}/.all.env
|
- ${HOME}/.all.env
|
||||||
labels:
|
labels:
|
||||||
@@ -375,15 +368,9 @@ services:
|
|||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ~/.config/letsencrypt:/etc/letsencrypt:z
|
- ~/.config/letsencrypt:/etc/letsencrypt:z
|
||||||
- "certbot-lib:/var/lib/letsencrypt"
|
- "certbot-lib:/var/lib/letsencrypt"
|
||||||
# - ~/srv/certbot.${SERVER_FQDN}:/srv/certbot.${SERVER_FQDN}:z
|
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- revproxy0:rw
|
- revproxy0:rw
|
||||||
# networks:
|
|
||||||
# - wg
|
|
||||||
network_mode: "container:wgclient"
|
network_mode: "container:wgclient"
|
||||||
# depends_on:
|
|
||||||
# - revproxy0
|
|
||||||
# - wgclient
|
|
||||||
env_file:
|
env_file:
|
||||||
- ${HOME}/.all.env
|
- ${HOME}/.all.env
|
||||||
- ${HOME}/.certbot.env
|
- ${HOME}/.certbot.env
|
||||||
@@ -396,6 +383,37 @@ services:
|
|||||||
CRON: ${CERTBOT_CRON}
|
CRON: ${CERTBOT_CRON}
|
||||||
# entrypoint: ["certonly"]
|
# entrypoint: ["certonly"]
|
||||||
|
|
||||||
|
# @TODO all below until tailclient in need of skato-ansible integration
|
||||||
|
syncplay:
|
||||||
|
image: docker.io/dnomd343/syncplay:latest
|
||||||
|
container_name: syncplay
|
||||||
|
restart: always
|
||||||
|
expose:
|
||||||
|
- 8999
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- ~/.config/letsencrypt:/certs:z
|
||||||
|
- ~/.config/syncplay:/data:Z
|
||||||
|
network_mode: "container:wgclient"
|
||||||
|
env_file:
|
||||||
|
- ${HOME}/.all.env
|
||||||
|
- ${HOME}/.syncplay.env
|
||||||
|
environment:
|
||||||
|
PASSWORD: ${SYNCPLAY_PASSWORD}
|
||||||
|
MOTD: ${SYNCPLAY_MOTD}
|
||||||
|
SALT: ${SYNCPLAY_SALT}
|
||||||
|
PERSISTENT: ON
|
||||||
|
ENABLE_TLS: ${SYNCPLAY_TLS}
|
||||||
|
PERMANENT_ROOMS: "seasonal_live-action seasonal_anime annual_features shorts"
|
||||||
|
LISTEN_IPV4: "127.0.0.1"
|
||||||
|
LISTEN_IPV6: "::1"
|
||||||
|
labels:
|
||||||
|
glance.name: SyncPlay
|
||||||
|
glance.id: syncplay
|
||||||
|
glance.icon: "si:syncplay"
|
||||||
|
glance.url: "${SERVER_FQDN_SCHEME}://${SYNCPLAY_SUBDOMAIN}.${SERVER_FQDN}"
|
||||||
|
glance.description: Synchronized video playback server
|
||||||
|
|
||||||
# @NOTE https://tailscale.com/docs/features/containers/docker
|
# @NOTE https://tailscale.com/docs/features/containers/docker
|
||||||
# @NOTE https://tailscale.com/blog/docker-tailscale-guide
|
# @NOTE https://tailscale.com/blog/docker-tailscale-guide
|
||||||
tailclient:
|
tailclient:
|
||||||
@@ -417,6 +435,10 @@ services:
|
|||||||
- 5050:5050
|
- 5050:5050
|
||||||
- 5030:5030
|
- 5030:5030
|
||||||
- 50300:50300
|
- 50300:50300
|
||||||
|
- 9283:80
|
||||||
|
- 5000:5000
|
||||||
|
# - ${STASH_LISTEN_PORT:-9999}:${STASH_LISTEN_PORT:-9999}
|
||||||
|
# - ${ACTUAL_LISTEN_PORT:-5006}:${ACTUAL_LISTEN_PORT:-5006}
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- /lib/modules:/lib/modules:ro
|
- /lib/modules:/lib/modules:ro
|
||||||
@@ -427,6 +449,8 @@ services:
|
|||||||
hostname: tailnet
|
hostname: tailnet
|
||||||
env_file:
|
env_file:
|
||||||
- ${HOME}/.all.env
|
- ${HOME}/.all.env
|
||||||
|
# - ${HOME}/.actual.env
|
||||||
|
# - ${HOME}/.stash.env
|
||||||
# - ${HOME}/.tailscale.env
|
# - ${HOME}/.tailscale.env
|
||||||
environment:
|
environment:
|
||||||
TS_AUTHKEY_FILE: /run/secrets/headscale.key
|
TS_AUTHKEY_FILE: /run/secrets/headscale.key
|
||||||
@@ -448,8 +472,6 @@ services:
|
|||||||
- ~/.config/glance:/app/config:Z # @NOTE internal container server port is changed via 'glance.yml' config file; default is 8080
|
- ~/.config/glance:/app/config:Z # @NOTE internal container server port is changed via 'glance.yml' config file; default is 8080
|
||||||
- ~/.local/glance:/app/assets:Z
|
- ~/.local/glance:/app/assets:Z
|
||||||
network_mode: "container:tailclient"
|
network_mode: "container:tailclient"
|
||||||
# depends_on:
|
|
||||||
# - tailclient
|
|
||||||
# @NOTE https://github.com/glanceapp/glance/blob/main/docs/configuration.md#environment-variables
|
# @NOTE https://github.com/glanceapp/glance/blob/main/docs/configuration.md#environment-variables
|
||||||
labels:
|
labels:
|
||||||
glance.name: Self
|
glance.name: Self
|
||||||
@@ -467,15 +489,11 @@ services:
|
|||||||
- 1700
|
- 1700
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ~/.local/surge:/root/.local/state/surge:Z
|
- ~/.local/surge:/root/.local/state/surge:Z # token file goes in here
|
||||||
- ~/downloads:/downloads:z
|
- ~/downloads:/downloads:z
|
||||||
- ~/media:/media:z
|
- ~/media:/media:z
|
||||||
- ~/.xxx:/.xxx:z
|
- ~/.xxx:/.xxx:z
|
||||||
# networks:
|
|
||||||
# - hs
|
|
||||||
network_mode: "container:tailclient"
|
network_mode: "container:tailclient"
|
||||||
# depends_on:
|
|
||||||
# - tailclient
|
|
||||||
labels:
|
labels:
|
||||||
glance.name: SurgeDM
|
glance.name: SurgeDM
|
||||||
glance.id: surge
|
glance.id: surge
|
||||||
@@ -499,11 +517,7 @@ services:
|
|||||||
- ~/downloads:/downloads:z
|
- ~/downloads:/downloads:z
|
||||||
- ~/media:/media:z
|
- ~/media:/media:z
|
||||||
- ~/.xxx:/.xxx:z
|
- ~/.xxx:/.xxx:z
|
||||||
# networks:
|
|
||||||
# - hs
|
|
||||||
network_mode: "container:tailclient"
|
network_mode: "container:tailclient"
|
||||||
# depends_on:
|
|
||||||
# - tailclient
|
|
||||||
env_file:
|
env_file:
|
||||||
- ${HOME}/.aria.env
|
- ${HOME}/.aria.env
|
||||||
environment:
|
environment:
|
||||||
@@ -529,11 +543,7 @@ services:
|
|||||||
- 6880
|
- 6880
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
# networks:
|
|
||||||
# - hs
|
|
||||||
network_mode: "container:tailclient"
|
network_mode: "container:tailclient"
|
||||||
# depends_on:
|
|
||||||
# - tailclient
|
|
||||||
labels:
|
labels:
|
||||||
glance.name: AriaNG
|
glance.name: AriaNG
|
||||||
glance.id: ariang
|
glance.id: ariang
|
||||||
@@ -553,11 +563,7 @@ services:
|
|||||||
- ~/downloads:/downloads:z
|
- ~/downloads:/downloads:z
|
||||||
- ~/media:/media:z
|
- ~/media:/media:z
|
||||||
- ~/.xxx:/.xxx:z
|
- ~/.xxx:/.xxx:z
|
||||||
networks:
|
network_mode: "container:tailclient"
|
||||||
- hs
|
|
||||||
# depends_on:
|
|
||||||
# - aria
|
|
||||||
# - tailclient
|
|
||||||
labels:
|
labels:
|
||||||
glance.name: FlexGet
|
glance.name: FlexGet
|
||||||
glance.id: flexget
|
glance.id: flexget
|
||||||
@@ -565,25 +571,21 @@ services:
|
|||||||
command:
|
command:
|
||||||
- daemon
|
- daemon
|
||||||
- start
|
- start
|
||||||
- --autoreload-config
|
- "--autoreload-config"
|
||||||
|
|
||||||
soulseek:
|
soulseek:
|
||||||
image: slskd/slskd:latest
|
image: docker.io/slskd/slskd:latest
|
||||||
container_name: soulseek
|
container_name: soulseek
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
expose:
|
expose:
|
||||||
- 5030
|
- 5030
|
||||||
- 50300
|
- 50300
|
||||||
# networks:
|
|
||||||
# - hs
|
|
||||||
network_mode: "container:tailclient"
|
network_mode: "container:tailclient"
|
||||||
# depends_on:
|
|
||||||
# - tailclient
|
|
||||||
environment:
|
environment:
|
||||||
SLSKD_REMOTE_CONFIGURATION: true
|
SLSKD_REMOTE_CONFIGURATION: true
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ~/.local/slskd:/app
|
- ~/.local/slskd:/app:Z
|
||||||
- ~/downloads:/downloads:z
|
- ~/downloads:/downloads:z
|
||||||
- ~/media:/media:z
|
- ~/media:/media:z
|
||||||
- ~/.xxx:/.xxx:z
|
- ~/.xxx:/.xxx:z
|
||||||
@@ -592,6 +594,100 @@ services:
|
|||||||
glance.id: soulseek
|
glance.id: soulseek
|
||||||
glance.description: File-sharing client
|
glance.description: File-sharing client
|
||||||
|
|
||||||
|
# @TODO all below in need of skato-ansible integration
|
||||||
|
grocy:
|
||||||
|
image: lscr.io/linuxserver/grocy:latest
|
||||||
|
container_name: grocy
|
||||||
|
restart: unless-stopped
|
||||||
|
expose:
|
||||||
|
- 80 # 9283
|
||||||
|
network_mode: "container:tailclient"
|
||||||
|
environment:
|
||||||
|
PUID: 1000
|
||||||
|
PGID: 1000
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- ~/.config/grocy:/config:Z
|
||||||
|
labels:
|
||||||
|
glance.name: Grocy
|
||||||
|
glance.id: grocy
|
||||||
|
glance.description: Home economy manager
|
||||||
|
|
||||||
|
budget:
|
||||||
|
image: docker.io/actualbudget/actual-server:latest
|
||||||
|
container_name: budget
|
||||||
|
restart: unless-stopped
|
||||||
|
expose:
|
||||||
|
- ${ACTUAL_LISTEN_PORT:-5006}
|
||||||
|
network_mode: "container:tailclient"
|
||||||
|
env_file:
|
||||||
|
- ${HOME}/.actual.env
|
||||||
|
environment:
|
||||||
|
# ACTUAL_HTTPS_KEY: /data/selfhost.key
|
||||||
|
# ACTUAL_HTTPS_CERT: /data/selfhost.crt
|
||||||
|
ACTUAL_PORT: ${ACTUAL_LISTEN_PORT:-5006}
|
||||||
|
# ACTUAL_UPLOAD_FILE_SYNC_SIZE_LIMIT_MB: 20
|
||||||
|
# ACTUAL_UPLOAD_SYNC_ENCRYPTED_FILE_SYNC_SIZE_LIMIT_MB: 50
|
||||||
|
# ACTUAL_UPLOAD_FILE_SIZE_LIMIT_MB: 20
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- ~/.local/actual:/data:Z
|
||||||
|
labels:
|
||||||
|
glance.name: Actual
|
||||||
|
glance.id: actual
|
||||||
|
glance.description: Financial budgeting server
|
||||||
|
|
||||||
|
reader:
|
||||||
|
image: docker.io/jvmilazz0/kavita:latest
|
||||||
|
container_name: reader
|
||||||
|
restart: unless-stopped
|
||||||
|
expose:
|
||||||
|
- 5000
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- ~/downloads:/downloads:z,ro
|
||||||
|
- ~/media:/media:z,ro
|
||||||
|
- ~/.xxx:/.xxx:z,ro
|
||||||
|
- ~/.config/kavita:/kavita
|
||||||
|
labels:
|
||||||
|
glance.name: Kavita
|
||||||
|
glance.id: kavita
|
||||||
|
glance.description: Ebook catalogue and reader
|
||||||
|
|
||||||
|
stash:
|
||||||
|
image: docker.io/stashapp/stash:latest
|
||||||
|
container_name: stash
|
||||||
|
restart: unless-stopped
|
||||||
|
expose:
|
||||||
|
- ${STASH_LISTEN_PORT:-9999}
|
||||||
|
network_mode: "container:tailclient"
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-file: "10"
|
||||||
|
max-size: "2m"
|
||||||
|
env_file:
|
||||||
|
- ${HOME}/.stash.env
|
||||||
|
environment:
|
||||||
|
- STASH_STASH=/data/
|
||||||
|
- STASH_GENERATED=/generated/
|
||||||
|
- STASH_METADATA=/metadata/
|
||||||
|
- STASH_CACHE=/cache/
|
||||||
|
- STASH_PORT=${STASH_LISTEN_PORT:-9999}
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- ~/.config/stash:/root/.stash:Z
|
||||||
|
- ~/.xxx:/data:z,ro
|
||||||
|
- ~/downloads:/downloads:z,ro
|
||||||
|
- ~/.local/stash/metadata:/metadata:z
|
||||||
|
- ~/.local/stash/generated:/generated:Z
|
||||||
|
- stash-cache:/cache:Z
|
||||||
|
- stash-blobs:/blobs:Z
|
||||||
|
labels:
|
||||||
|
glance.name: Stash
|
||||||
|
glance.id: stash
|
||||||
|
glance.description: NSFW media streamer
|
||||||
|
|
||||||
# @NOTE https://github.com/glanceapp/glance/blob/main/docs/configuration.md#docker-containers
|
# @NOTE https://github.com/glanceapp/glance/blob/main/docs/configuration.md#docker-containers
|
||||||
# @TODO apply labels to each container that allows it to show up in Glance dashboard
|
# @TODO apply labels to each container that allows it to show up in Glance dashboard
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user