Refactor docker-compose files
This commit is contained in:
@@ -1,166 +0,0 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
grafana:
|
||||
image: grafana/grafana:8.4.5
|
||||
container_name: grafana
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/analytics/grafana:/var/lib/grafana'
|
||||
environment:
|
||||
- 'GF_SECURITY_ALLOW_EMBEDDING=true'
|
||||
- 'GF_SMTP_ENABLED=true'
|
||||
- 'GF_SMTP_HOST=${SMTP_HOST}'
|
||||
- 'GF_SMTP_USER=${SMTP_USER}'
|
||||
- 'GF_SMTP_PASSWORD=${SMTP_PASSWORD}'
|
||||
- 'GF_SMTP_FROM_ADDRESS=${SMTP_FROM}'
|
||||
- 'GF_RENDERING_SERVER_URL=http://grafana_image_renderer:8081/render'
|
||||
- 'GF_RENDERING_CALLBACK_URL=http://grafana:3000'
|
||||
- 'GF_LOG_FILTERS=rendering:debug'
|
||||
- 'GF_SERVER_ROOT_URL=${GF_ROOT}'
|
||||
- 'GF_SERVER_DOMAIN=${GF_DOMAIN}'
|
||||
- 'GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-worldmap-panel'
|
||||
- 'GF_AUTH_PROXY_ENABLED=true'
|
||||
- 'GF_AUTH_PROXY_HEADER_NAME=Remote-User'
|
||||
- 'GF_AUTH_PROXY_HEADERS=Name:Remote-Name Email:Remote-Email'
|
||||
networks:
|
||||
- proxy
|
||||
- grafana
|
||||
user: "1000:1000"
|
||||
depends_on:
|
||||
- grafana_image_renderer
|
||||
|
||||
grafana_image_renderer:
|
||||
image: grafana/grafana-image-renderer
|
||||
container_name: grafana_image_renderer
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- grafana
|
||||
|
||||
influxdb:
|
||||
image: influxdb:1.8
|
||||
container_name: influxdb
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/analytics/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf'
|
||||
- '/home/nick/configs/analytics/influxdb/db:/var/lib/influxdb'
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
networks:
|
||||
- grafana
|
||||
|
||||
telegraf:
|
||||
image: telegraf:1.20.4
|
||||
container_name: telegraf
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/:/hostfs:ro'
|
||||
- '/etc:/hostfs/etc:ro'
|
||||
- '/proc:/hostfs/proc:ro'
|
||||
- '/sys:/hostfs/sys:ro'
|
||||
- '/var:/hostfs/var:ro'
|
||||
- '/run:/hostfs/run:ro'
|
||||
- '/var/run/docker.sock:/var/run/docker.sock'
|
||||
- '/home/nick/configs/analytics/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro'
|
||||
- '/home/nick/configs/analytics/telegraf/hostnet.sh:/etc/telegraf/hostnet.sh'
|
||||
environment:
|
||||
- HOST_ETC=/hostfs/etc
|
||||
- HOST_PROC=/hostfs/proc
|
||||
- HOST_SYS=/hostfs/sys
|
||||
- HOST_VAR=/hostfs/var
|
||||
- HOST_RUN=/hostfs/run
|
||||
- HOST_MOUNT_PREFIX=/hostfs
|
||||
networks:
|
||||
- grafana
|
||||
- proxy
|
||||
user: "1000:975"
|
||||
depends_on:
|
||||
- influxdb
|
||||
|
||||
speedtest:
|
||||
image: atribe/speedtest-for-influxdb-and-grafana
|
||||
container_name: speedtest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/analytics/speedtest/config.ini:/src/config.ini'
|
||||
- '/home/nick/configs/analytics/speedtest/speedtest.py:/usr/local/lib/python3.7/site-packages/speedtest.py'
|
||||
environment:
|
||||
- PGID=1000
|
||||
- PUID=1000
|
||||
networks:
|
||||
- grafana
|
||||
depends_on:
|
||||
- influxdb
|
||||
|
||||
speedport-smart-reconnect:
|
||||
image: registry.karaolidis.com/nikas36/speedport-smart-reconnect
|
||||
container_name: speedport_smart_reconnect
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- 'ROUTER_USERNAME=${ROUTER_USERNAME}'
|
||||
- 'ROUTER_PASSWORD=${ROUTER_PASSWORD}'
|
||||
networks:
|
||||
- grafana
|
||||
depends_on:
|
||||
- grafana
|
||||
- speedtest
|
||||
|
||||
scrutiny:
|
||||
image: ghcr.io/analogj/scrutiny:master-omnibus
|
||||
container_name: scrutiny
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/analytics/scrutiny/config:/opt/scrutiny/config'
|
||||
- '/home/nick/configs/analytics/scrutiny/influxdb2:/opt/scrutiny/influxdb'
|
||||
- '/run/udev:/run/udev:ro'
|
||||
environment:
|
||||
- 'PUID=1000'
|
||||
- 'PGID=1000'
|
||||
- 'TZ=Europe/Athens'
|
||||
- 'COLLECTOR_API_ENDPOINT=http://localhost:8080/storage'
|
||||
devices:
|
||||
- /dev/sda:/dev/sda
|
||||
- /dev/sdb:/dev/sdb
|
||||
- /dev/sdc:/dev/sdc
|
||||
- /dev/sdd:/dev/sdd
|
||||
- /dev/sde:/dev/sde
|
||||
cap_add:
|
||||
- SYS_RAWIO
|
||||
- SYS_ADMIN
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
uptime-kuma:
|
||||
image: louislam/uptime-kuma
|
||||
container_name: uptime_kuma
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/analytics/uptime-kuma:/app/data'
|
||||
networks:
|
||||
- proxy
|
||||
dns:
|
||||
- 1.1.1.1
|
||||
- 1.0.0.1
|
||||
|
||||
goaccess:
|
||||
image: registry.karaolidis.com/nikas36/goaccess-docker
|
||||
container_name: goaccess
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/analytics/goaccess/config:/config'
|
||||
- '/home/nick/configs/analytics/goaccess/GeoLite2-City.mmdb:/GeoLite2-City.mmdb'
|
||||
- '/home/nick/configs/routing/nginx/log:/opt/log:ro'
|
||||
environment:
|
||||
- 'PGID=1000'
|
||||
- 'PUID=1000'
|
||||
- 'TZ=Europe/Athens'
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
grafana:
|
||||
name: grafana
|
||||
proxy:
|
||||
external: true
|
||||
name: proxy
|
36
authelia/docker-compose.yml
Normal file
36
authelia/docker-compose.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
authelia:
|
||||
image: authelia/authelia
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=Europe/Athens
|
||||
volumes:
|
||||
- /home/nick/configs/authelia:/config
|
||||
healthcheck:
|
||||
disable: true
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
user: 1000:1000
|
||||
|
||||
db:
|
||||
image: postgres
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=authelia
|
||||
- POSTGRES_PASSWORD=authelia
|
||||
- POSTGRES_DB=authelia
|
||||
volumes:
|
||||
- /home/nick/configs/authelia/db:/var/lib/postgresql/data
|
||||
user: 1000:1000
|
||||
|
||||
redis:
|
||||
image: redis
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
21
code-server/docker-compose.yml
Normal file
21
code-server/docker-compose.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
vscode:
|
||||
image: codercom/code-server
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- DOCKER_USER=nick
|
||||
volumes:
|
||||
- /home/nick/configs/code-server:/home/coder/.config
|
||||
- /mnt/storage/private/nick/development:/home/coder/dev
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
user: '1000:1000'
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
38
commento/docker-compose.yml
Normal file
38
commento/docker-compose.yml
Normal file
@@ -0,0 +1,38 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
commento:
|
||||
image: caroga/commentoplusplus
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
COMMENTO_ORIGIN: 'https://stats.karaolidis.com/comments/'
|
||||
COMMENTO_CDN_PREFIX: 'https://stats.karaolidis.com/comments/'
|
||||
COMMENTO_PORT: 8080
|
||||
COMMENTO_POSTGRES: postgres://postgres:postgres@db:5432/commento?sslmode=disable
|
||||
COMMENTO_SMTP_HOST: '${SMTP_HOST}'
|
||||
COMMENTO_SMTP_PORT: '${SMTP_PORT}'
|
||||
COMMENTO_SMTP_USERNAME: '${SMTP_USER}'
|
||||
COMMENTO_SMTP_PASSWORD: '${SMTP_PASSWORD}'
|
||||
COMMENTO_SMTP_FROM_ADDRESS: '${SMTP_FROM}'
|
||||
COMMENTO_FORBID_NEW_OWNERS: 'true'
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
db:
|
||||
image: postgres:13.4
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: commento
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
volumes:
|
||||
- '/home/nick/configs/commento:/var/lib/postgresql/data'
|
||||
user: '1000:1000'
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
@@ -1,162 +0,0 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
outline:
|
||||
image: outlinewiki/outline
|
||||
container_name: outline
|
||||
restart: unless-stopped
|
||||
command: sh -c "yarn sequelize:migrate --env production-ssl-disabled && yarn start"
|
||||
environment:
|
||||
- SECRET_KEY=${OUTLINE_SECRET_KEY}
|
||||
- UTILS_SECRET=${OUTLINE_UTILS_SECRET}
|
||||
- DATABASE_URL=postgres://outline:outline@outline_db:5432/outline
|
||||
- DATABASE_URL_TEST=postgres://outline:outline@outline_db:5432/outline-test
|
||||
- PGSSLMODE=disable
|
||||
- REDIS_URL=redis://outline_broker:6379
|
||||
- URL=${OUTLINE_URL}
|
||||
- PORT=${OUTLINE_PORT}
|
||||
- AWS_ACCESS_KEY_ID=${MINIO_ID}
|
||||
- AWS_SECRET_ACCESS_KEY=${MINIO_SECRET}
|
||||
- AWS_REGION=us-east-1
|
||||
- AWS_S3_UPLOAD_BUCKET_URL=${MINIO_URL}
|
||||
- AWS_S3_UPLOAD_BUCKET_NAME=outline
|
||||
- AWS_S3_UPLOAD_MAX_SIZE=26214400
|
||||
- AWS_S3_FORCE_PATH_STYLE=true
|
||||
- AWS_S3_ACL=private
|
||||
- OIDC_CLIENT_ID=${OIDC_ID}
|
||||
- OIDC_CLIENT_SECRET=${OIDC_SECRET}
|
||||
- OIDC_AUTH_URI=${OIDC_AUTH_URI}
|
||||
- OIDC_TOKEN_URI=${OIDC_TOKEN_URI}
|
||||
- OIDC_USERINFO_URI=${OIDC_USERINFO_URI}
|
||||
- OIDC_USERNAME_CLAIM=nickname
|
||||
- OIDC_DISPLAY_NAME=GitLab
|
||||
- OIDC_SCOPES=openid profile email
|
||||
- FORCE_HTTPS=false
|
||||
- ENABLE_UPDATES=true
|
||||
- SMTP_HOST=${SMTP_HOST}
|
||||
- SMTP_PORT=${SMTP_PORT}
|
||||
- SMTP_USERNAME=${SMTP_USERNAME}
|
||||
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
||||
- SMTP_FROM_EMAIL=${SMTP_FROM_EMAIL}
|
||||
- SMTP_SECURE=${SMTP_SECURE}
|
||||
depends_on:
|
||||
- outline_db
|
||||
- outline_broker
|
||||
networks:
|
||||
- outline
|
||||
- proxy
|
||||
|
||||
outline_db:
|
||||
image: postgres
|
||||
container_name: outline_db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=outline
|
||||
- POSTGRES_PASSWORD=outline
|
||||
- POSTGRES_DB=outline
|
||||
volumes:
|
||||
- /home/nick/configs/documents/outline/db:/var/lib/postgresql/data
|
||||
networks:
|
||||
- outline
|
||||
user: 1000:1000
|
||||
|
||||
outline_broker:
|
||||
image: redis
|
||||
container_name: outline_broker
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- outline
|
||||
|
||||
outline_s3:
|
||||
image: minio/minio
|
||||
container_name: outline_s3
|
||||
restart: unless-stopped
|
||||
command: "minio server /data"
|
||||
environment:
|
||||
- MINIO_ROOT_USER=${MINIO_ID}
|
||||
- MINIO_ROOT_PASSWORD=${MINIO_SECRET}
|
||||
- MINIO_BROWSER=off
|
||||
volumes:
|
||||
- /home/nick/configs/documents/outline/s3:/data
|
||||
networks:
|
||||
- outline
|
||||
- proxy
|
||||
user: 1000:1000
|
||||
|
||||
outline_s3_init:
|
||||
image: minio/mc
|
||||
container_name: outline_s3_init
|
||||
entrypoint: >
|
||||
/bin/sh -c "
|
||||
until (/usr/bin/mc config host add minio http://outline_s3:9000 ${MINIO_ID} ${MINIO_SECRET}) do
|
||||
echo 'Waiting for minio...' && sleep 1;
|
||||
done;
|
||||
/usr/bin/mc mb minio/outline;
|
||||
/usr/bin/mc policy set download minio/outline;
|
||||
exit 0;
|
||||
"
|
||||
networks:
|
||||
- outline
|
||||
depends_on:
|
||||
- outline_s3
|
||||
|
||||
paperless:
|
||||
image: ghcr.io/paperless-ngx/paperless-ngx
|
||||
container_name: paperless
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- paperless_db
|
||||
- paperless_broker
|
||||
healthcheck:
|
||||
disable: true
|
||||
volumes:
|
||||
- '/mnt/storage/configs/documents/paperless/data:/usr/src/paperless/data'
|
||||
- '/mnt/storage/configs/documents/paperless/media:/usr/src/paperless/media'
|
||||
- '/mnt/storage/configs/documents/paperless/export:/usr/src/paperless/export'
|
||||
- '/mnt/storage/configs/documents/paperless/consume:/usr/src/paperless/consume'
|
||||
environment:
|
||||
- PAPERLESS_URL=${PAPERLESS_URL}
|
||||
- PAPERLESS_REDIS=redis://paperless_broker:6379
|
||||
- PAPERLESS_DBHOST=paperless_db
|
||||
- USERMAP_UID=1000
|
||||
- USERMAP_GID=1000
|
||||
- PAPERLESS_OCR_LANGUAGES=ell
|
||||
- PAPERLESS_SECRET_KEY=${PAPERLESS_SECRET_KEY}
|
||||
- PAPERLESS_TIME_ZONE=Europe/Athens
|
||||
- PAPERLESS_OCR_LANGUAGE=eng
|
||||
- PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD=15
|
||||
- PAPERLESS_FORCE_SCRIPT_NAME=/paperless
|
||||
- PAPERLESS_ENABLE_HTTP_REMOTE_USER=true
|
||||
networks:
|
||||
- paperless
|
||||
- proxy
|
||||
|
||||
paperless_broker:
|
||||
image: redis:6.0
|
||||
container_name: paperless_broker
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- paperless
|
||||
|
||||
paperless_db:
|
||||
image: postgres:13
|
||||
container_name: paperless_db
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/documents/paperless/db:/var/lib/postgresql/data'
|
||||
environment:
|
||||
POSTGRES_DB: paperless
|
||||
POSTGRES_USER: paperless
|
||||
POSTGRES_PASSWORD: paperless
|
||||
networks:
|
||||
- paperless
|
||||
user: '1000:1000'
|
||||
|
||||
networks:
|
||||
outline:
|
||||
name: outline
|
||||
paperless:
|
||||
name: paperless
|
||||
proxy:
|
||||
external: true
|
||||
name: proxy
|
@@ -1,44 +0,0 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
transmission:
|
||||
image: linuxserver/transmission
|
||||
container_name: transmission
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PGID=1000
|
||||
- PUID=1000
|
||||
- TZ=Europe/Athens
|
||||
- TRANSMISSION_WEB_HOME=/flood-for-transmission/
|
||||
volumes:
|
||||
- '/home/nick/configs/download/transmission:/config'
|
||||
- '/mnt/storage/public:/data'
|
||||
ports:
|
||||
- '51413:51413'
|
||||
- '51413:51413/udp'
|
||||
networks:
|
||||
- proxy
|
||||
- tor
|
||||
|
||||
pyload:
|
||||
image: linuxserver/pyload
|
||||
container_name: pyload
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Athens
|
||||
volumes:
|
||||
- '/home/nick/configs/download/pyload:/config'
|
||||
- '/mnt/storage/public:/data'
|
||||
networks:
|
||||
- proxy
|
||||
- tor
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
name: proxy
|
||||
tor:
|
||||
external: true
|
||||
name: tor
|
20
flame/docker-compose.yml
Normal file
20
flame/docker-compose.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
flame:
|
||||
image: pawelmalak/flame
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /home/nick/configs/flame:/app/data
|
||||
environment:
|
||||
- UID=1000
|
||||
- GID=1000
|
||||
- PASSWORD=${FLAME_PASSWORD}
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
@@ -1,9 +1,8 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
mc_ftb_0:
|
||||
mc-ftb-0:
|
||||
image: itzg/minecraft-server:java11-openj9
|
||||
container_name: mc_ftb_0
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/gaming/mc_ftb_0:/data'
|
||||
@@ -17,7 +16,7 @@ services:
|
||||
- OVERRIDE_SERVER_PROPERTIES=true
|
||||
- DIFFICULTY=normal
|
||||
- ENABLE_WHITELIST=TRUE
|
||||
- OPS=${OPS}
|
||||
- OPS=Nikas36
|
||||
- ENABLE_COMMAND_BLOCK=TRUE
|
||||
- SPAWN_PROTECTION=0
|
||||
- LEVEL_TYPE=BIOMESOPLENTY
|
||||
@@ -35,9 +34,8 @@ services:
|
||||
tty: true
|
||||
stdin_open: true
|
||||
|
||||
ksp_0:
|
||||
ksp-0:
|
||||
image: lmpsrv-custom:0.28.0
|
||||
container_name: ksp_0
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/gaming/ksp_0/config:/LMPServer/Config'
|
||||
@@ -49,4 +47,3 @@ services:
|
||||
- 8800:8800/udp
|
||||
- 8900:8900
|
||||
user: "1000:1000"
|
||||
|
||||
|
@@ -3,85 +3,36 @@ version: '3.9'
|
||||
services:
|
||||
ghost:
|
||||
image: ghost
|
||||
container_name: ghost
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/ghost/ghost:/var/lib/ghost/content'
|
||||
- '/home/nick/configs/ghost:/var/lib/ghost/content'
|
||||
environment:
|
||||
url: ${URL}
|
||||
url: https://blog.karaolidis.com
|
||||
database__client: mysql
|
||||
database__connection__host: db
|
||||
database__connection__user: ghost
|
||||
database__connection__database: ghost
|
||||
database__connection__password: ghost
|
||||
networks:
|
||||
- proxy
|
||||
- ghost
|
||||
user: '1000:1000'
|
||||
|
||||
commento:
|
||||
image: caroga/commentoplusplus
|
||||
container_name: commento
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
COMMENTO_ORIGIN: 'https://stats.karaolidis.com/comments/'
|
||||
COMMENTO_CDN_PREFIX: 'https://stats.karaolidis.com/comments/'
|
||||
COMMENTO_PORT: 8080
|
||||
COMMENTO_POSTGRES: postgres://postgres:postgres@commento_db:5432/commento?sslmode=disable
|
||||
COMMENTO_SMTP_HOST: '${SMTP_HOST}'
|
||||
COMMENTO_SMTP_PORT: '${SMTP_PORT}'
|
||||
COMMENTO_SMTP_USERNAME: '${SMTP_USER}'
|
||||
COMMENTO_SMTP_PASSWORD: '${SMTP_PASSWORD}'
|
||||
COMMENTO_SMTP_FROM_ADDRESS: '${SMTP_FROM}'
|
||||
COMMENTO_FORBID_NEW_OWNERS: 'true'
|
||||
networks:
|
||||
- proxy
|
||||
- ghost
|
||||
- default
|
||||
- routing
|
||||
depends_on:
|
||||
- commento_db
|
||||
|
||||
commento_db:
|
||||
image: postgres:13.4
|
||||
container_name: commento_db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: commento
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
volumes:
|
||||
- '/home/nick/configs/ghost/commento:/var/lib/postgresql/data'
|
||||
networks:
|
||||
- ghost
|
||||
- db
|
||||
user: '1000:1000'
|
||||
|
||||
umami:
|
||||
image: ghcr.io/mikecao/umami:postgresql-latest
|
||||
container_name: umami
|
||||
db:
|
||||
image: mysql
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
DATABASE_URL: postgresql://umami:umami@umami_db:5432/umami
|
||||
DATABASE_TYPE: postgresql
|
||||
HASH_SALT: ${SALT}
|
||||
TRACKER_SCRIPT_NAME: u
|
||||
depends_on:
|
||||
- umami_db
|
||||
networks:
|
||||
- proxy
|
||||
- ghost
|
||||
|
||||
umami_db:
|
||||
image: postgres:13.4
|
||||
container_name: umami_db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: umami
|
||||
POSTGRES_USER: umami
|
||||
POSTGRES_PASSWORD: umami
|
||||
volumes:
|
||||
- '/home/nick/configs/ghost/umami/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro'
|
||||
- '/home/nick/configs/ghost/umami/data:/var/lib/postgresql/data'
|
||||
networks:
|
||||
- ghost
|
||||
- '/home/nick/configs/ghost/db:/var/lib/mysql'
|
||||
environment:
|
||||
MYSQL_USER: ghost
|
||||
MYSQL_DATABASE: ghost
|
||||
MYSQL_PASSWORD: ghost
|
||||
MYSQL_RANDOM_ROOT_PASSWORD: yes
|
||||
user: '1000:1000'
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
routing:
|
||||
external: true
|
||||
name: proxy
|
||||
ghost:
|
||||
name: ghost
|
||||
name: routing
|
||||
|
@@ -1,24 +1,8 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
vscode:
|
||||
image: codercom/code-server
|
||||
container_name: vscode
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- DOCKER_USER=nick
|
||||
volumes:
|
||||
- /home/nick/configs/devops/code:/home/coder/.config
|
||||
- /mnt/storage/private/nick/development:/home/coder/dev
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
networks:
|
||||
- proxy
|
||||
- devops
|
||||
user: '1000:1000'
|
||||
|
||||
gitlab:
|
||||
image: gitlab/gitlab-ce
|
||||
container_name: gitlab
|
||||
hostname: ${GITLAB_HOSTNAME}
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
@@ -48,30 +32,25 @@ services:
|
||||
gitlab_rails['smtp_tls'] = false
|
||||
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
|
||||
volumes:
|
||||
- '/home/nick/configs/devops/gitlab/config:/etc/gitlab'
|
||||
- '/home/nick/configs/devops/gitlab/logs:/var/log/gitlab'
|
||||
- '/home/nick/configs/devops/gitlab/data:/var/opt/gitlab'
|
||||
- '/home/nick/configs/devops/gitlab/registry:/etc/registry'
|
||||
- '/home/nick/configs/gitlab/config:/etc/gitlab'
|
||||
- '/home/nick/configs/gitlab/logs:/var/log/gitlab'
|
||||
- '/home/nick/configs/gitlab/data:/var/opt/gitlab'
|
||||
- '/home/nick/configs/gitlab/registry:/etc/registry'
|
||||
- '/home/nick/configs/routing/nginx/certs/letsencrypt/live/karaolidis.com/fullchain.pem:/etc/gitlab/ssl/fullchain.pem:ro'
|
||||
- '/home/nick/configs/routing/nginx/certs/letsencrypt/live/karaolidis.com/privkey.pem:/etc/gitlab/ssl/privkey.pem:ro'
|
||||
networks:
|
||||
- devops
|
||||
- proxy
|
||||
- default
|
||||
- routing
|
||||
shm_size: '256m'
|
||||
|
||||
gitlab_runner:
|
||||
runner:
|
||||
image: gitlab/gitlab-runner
|
||||
container_name: gitlab_runner
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/devops/gitlab/runner:/etc/gitlab-runner'
|
||||
- '/home/nick/configs/gitlab/runner:/etc/gitlab-runner'
|
||||
- '/var/run/docker.sock:/var/run/docker.sock'
|
||||
networks:
|
||||
- devops
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
routing:
|
||||
external: true
|
||||
name: proxy
|
||||
devops:
|
||||
name: devops
|
||||
name: routing
|
22
goaccess/docker-compose.yml
Normal file
22
goaccess/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
goaccess:
|
||||
image: registry.karaolidis.com/nikas36/goaccess-docker
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/goaccess/config:/config'
|
||||
- '/home/nick/configs/goaccess/GeoLite2-City.mmdb:/GeoLite2-City.mmdb'
|
||||
- '/home/nick/configs/routing/nginx/log:/opt/log:ro'
|
||||
environment:
|
||||
- 'PGID=1000'
|
||||
- 'PUID=1000'
|
||||
- 'TZ=Europe/Athens'
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
98
grafana/docker-compose.yml
Normal file
98
grafana/docker-compose.yml
Normal file
@@ -0,0 +1,98 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
grafana:
|
||||
image: grafana/grafana:8.4.5
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/grafana/grafana:/var/lib/grafana'
|
||||
environment:
|
||||
- 'GF_SECURITY_ALLOW_EMBEDDING=true'
|
||||
- 'GF_SMTP_ENABLED=true'
|
||||
- 'GF_SMTP_HOST=${SMTP_HOST}'
|
||||
- 'GF_SMTP_USER=${SMTP_USER}'
|
||||
- 'GF_SMTP_PASSWORD=${SMTP_PASSWORD}'
|
||||
- 'GF_SMTP_FROM_ADDRESS=${SMTP_FROM}'
|
||||
- 'GF_RENDERING_SERVER_URL=http://grafana-image-renderer:8081/render'
|
||||
- 'GF_RENDERING_CALLBACK_URL=http://grafana:3000'
|
||||
- 'GF_LOG_FILTERS=rendering:debug'
|
||||
- 'GF_SERVER_ROOT_URL=${GF_ROOT}'
|
||||
- 'GF_SERVER_DOMAIN=${GF_DOMAIN}'
|
||||
- 'GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-worldmap-panel'
|
||||
- 'GF_AUTH_PROXY_ENABLED=true'
|
||||
- 'GF_AUTH_PROXY_HEADER_NAME=Remote-User'
|
||||
- 'GF_AUTH_PROXY_HEADERS=Name:Remote-Name Email:Remote-Email'
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
user: "1000:1000"
|
||||
depends_on:
|
||||
- grafana_image_renderer
|
||||
|
||||
image-renderer:
|
||||
image: grafana/grafana-image-renderer
|
||||
restart: unless-stopped
|
||||
|
||||
influxdb:
|
||||
image: influxdb:1.8
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/grafana/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf'
|
||||
- '/home/nick/configs/grafana/influxdb/db:/var/lib/influxdb'
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
|
||||
telegraf:
|
||||
image: telegraf:1.20.4
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/:/hostfs:ro'
|
||||
- '/etc:/hostfs/etc:ro'
|
||||
- '/proc:/hostfs/proc:ro'
|
||||
- '/sys:/hostfs/sys:ro'
|
||||
- '/var:/hostfs/var:ro'
|
||||
- '/run:/hostfs/run:ro'
|
||||
- '/var/run/docker.sock:/var/run/docker.sock'
|
||||
- '/home/nick/configs/grafana/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro'
|
||||
- '/home/nick/configs/grafana/telegraf/hostnet.sh:/etc/telegraf/hostnet.sh'
|
||||
environment:
|
||||
- HOST_ETC=/hostfs/etc
|
||||
- HOST_PROC=/hostfs/proc
|
||||
- HOST_SYS=/hostfs/sys
|
||||
- HOST_VAR=/hostfs/var
|
||||
- HOST_RUN=/hostfs/run
|
||||
- HOST_MOUNT_PREFIX=/hostfs
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
user: "1000:975"
|
||||
depends_on:
|
||||
- influxdb
|
||||
|
||||
speedtest:
|
||||
image: atribe/speedtest-for-influxdb-and-grafana
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/grafana/speedtest/config.ini:/src/config.ini'
|
||||
- '/home/nick/configs/grafana/speedtest/speedtest.py:/usr/local/lib/python3.7/site-packages/speedtest.py'
|
||||
environment:
|
||||
- PGID=1000
|
||||
- PUID=1000
|
||||
depends_on:
|
||||
- influxdb
|
||||
|
||||
speedport-smart-reconnect:
|
||||
image: registry.karaolidis.com/nikas36/speedport-smart-reconnect
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- 'ROUTER_USERNAME=${ROUTER_USERNAME}'
|
||||
- 'ROUTER_PASSWORD=${ROUTER_PASSWORD}'
|
||||
depends_on:
|
||||
- grafana
|
||||
- speedtest
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
@@ -1,22 +1,8 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
flame:
|
||||
image: pawelmalak/flame
|
||||
container_name: flame
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /home/nick/configs/home/flame:/app/data
|
||||
environment:
|
||||
- UID=1000
|
||||
- GID=1000
|
||||
- PASSWORD=${FLAME_PASSWORD}
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
littlelink-server:
|
||||
littlelink:
|
||||
image: timothystewart6/littlelink-server
|
||||
container_name: littlelink
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- META_TITLE=Nick Karaolidis
|
||||
@@ -56,9 +42,9 @@ services:
|
||||
- SOUND_CLOUD=https://soundcloud.com/nikas36
|
||||
- STEAM=https://steamcommunity.com/profiles/76561198118267119
|
||||
networks:
|
||||
- proxy
|
||||
- routing
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
routing:
|
||||
external: true
|
||||
name: proxy
|
||||
name: routing
|
@@ -3,7 +3,6 @@ version: '3.9'
|
||||
services:
|
||||
plex:
|
||||
image: plexinc/pms-docker
|
||||
container_name: plex
|
||||
restart: unless-stopped
|
||||
hostname: 'jupiter'
|
||||
environment:
|
||||
@@ -22,8 +21,8 @@ services:
|
||||
devices:
|
||||
- '/dev/dri:/dev/dri'
|
||||
networks:
|
||||
- proxy
|
||||
- media
|
||||
- default
|
||||
- routing
|
||||
ports:
|
||||
- '32400:32400/tcp'
|
||||
- '3005:3005/tcp'
|
||||
@@ -35,26 +34,8 @@ services:
|
||||
- '32413:32413/udp'
|
||||
- '32414:32414/udp'
|
||||
|
||||
jellyfin:
|
||||
image: jellyfin/jellyfin
|
||||
container_name: jellyfin
|
||||
restart: "unless-stopped"
|
||||
environment:
|
||||
- "JELLYFIN_PublishedServerUrl=${URL}"
|
||||
volumes:
|
||||
- /home/nick/configs/media/jellyfin/config:/config
|
||||
- /home/nick/configs/media/jellyfin/cache:/cache
|
||||
- /mnt/storage/public/media:/media:ro
|
||||
devices:
|
||||
- '/dev/dri:/dev/dri'
|
||||
networks:
|
||||
- proxy
|
||||
- media
|
||||
user: 1000:1000
|
||||
|
||||
ombi:
|
||||
image: linuxserver/ombi
|
||||
container_name: ombi
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- 'PUID=1000'
|
||||
@@ -64,12 +45,11 @@ services:
|
||||
volumes:
|
||||
- /home/nick/configs/media/ombi:/config
|
||||
networks:
|
||||
- proxy
|
||||
- media
|
||||
- default
|
||||
- routing
|
||||
|
||||
tautulli:
|
||||
image: tautulli/tautulli
|
||||
container_name: tautulli
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- 'PUID=1000'
|
||||
@@ -78,12 +58,11 @@ services:
|
||||
volumes:
|
||||
- /home/nick/configs/media/tautulli:/config
|
||||
networks:
|
||||
- proxy
|
||||
- media
|
||||
- default
|
||||
- routing
|
||||
|
||||
prowlarr:
|
||||
image: linuxserver/prowlarr:develop
|
||||
container_name: prowlarr
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
@@ -93,11 +72,10 @@ services:
|
||||
- '/home/nick/configs/media/prowlarr:/config'
|
||||
- '/mnt/storage/public:/data'
|
||||
networks:
|
||||
- proxy
|
||||
- routing
|
||||
|
||||
radarr:
|
||||
image: linuxserver/radarr
|
||||
container_name: radarr
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PGID=1000
|
||||
@@ -107,13 +85,12 @@ services:
|
||||
- '/home/nick/configs/media/radarr:/config'
|
||||
- '/mnt/storage/public:/data'
|
||||
networks:
|
||||
- proxy
|
||||
- routing
|
||||
depends_on:
|
||||
- prowlarr
|
||||
|
||||
sonarr:
|
||||
image: linuxserver/sonarr
|
||||
container_name: sonarr
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PGID=1000
|
||||
@@ -123,13 +100,12 @@ services:
|
||||
- '/home/nick/configs/media/sonarr:/config'
|
||||
- '/mnt/storage/public:/data'
|
||||
networks:
|
||||
- proxy
|
||||
- routing
|
||||
depends_on:
|
||||
- prowlarr
|
||||
|
||||
lidarr:
|
||||
image: linuxserver/lidarr
|
||||
container_name: lidarr
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PGID=1000
|
||||
@@ -139,13 +115,12 @@ services:
|
||||
- '/home/nick/configs/media/lidarr:/config'
|
||||
- '/mnt/storage/public:/data'
|
||||
networks:
|
||||
- proxy
|
||||
- routing
|
||||
depends_on:
|
||||
- prowlarr
|
||||
|
||||
bazarr:
|
||||
image: linuxserver/bazarr
|
||||
container_name: bazarr
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PGID=1000
|
||||
@@ -155,25 +130,23 @@ services:
|
||||
- '/home/nick/configs/media/bazarr:/config'
|
||||
- '/mnt/storage/public:/data'
|
||||
networks:
|
||||
- proxy
|
||||
- routing
|
||||
depends_on:
|
||||
- radarr
|
||||
- sonarr
|
||||
|
||||
subs_upload:
|
||||
subs-upload:
|
||||
image: registry.karaolidis.com/nikas36/plex-subtitle-uploader
|
||||
container_name: subs_uploader
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- "PLEX_URL=http://plex:32400"
|
||||
- "SUBDOMAIN=/subs-upload"
|
||||
- "PLEX_TOKEN=${PLEX_TOKEN}"
|
||||
networks:
|
||||
- proxy
|
||||
- default
|
||||
- routing
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
routing:
|
||||
external: true
|
||||
name: proxy
|
||||
media:
|
||||
name: media
|
||||
name: routing
|
||||
|
@@ -3,10 +3,9 @@ version: '3.9'
|
||||
services:
|
||||
nextcloud:
|
||||
image: linuxserver/nextcloud
|
||||
container_name: nextcloud
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/cloud/nc_conf:/config'
|
||||
- '/home/nick/configs/nextcloud/nc_conf:/config'
|
||||
- '/mnt/storage/configs/nextcloud/data:/data'
|
||||
- '/mnt/storage/public:/public'
|
||||
- '/mnt/storage/private:/private'
|
||||
@@ -15,31 +14,24 @@ services:
|
||||
- PGID=1000
|
||||
- TZ=Europe/Greece
|
||||
networks:
|
||||
- nextcloud
|
||||
- proxy
|
||||
- default
|
||||
- routing
|
||||
depends_on:
|
||||
- nextcloud_db
|
||||
- db
|
||||
|
||||
nextcloud_db:
|
||||
db:
|
||||
image: mariadb:10.5
|
||||
container_name: nextcloud_db
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/cloud/nc_db:/var/lib/mysql'
|
||||
- '/home/nick/configs/nextcloud/nc_db:/var/lib/mysql'
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASS}
|
||||
- MYSQL_RANDOM_ROOT_PASSWORD=yes
|
||||
- MYSQL_USER=nextcloud
|
||||
- MYSQL_PASSWORD=nextcloud
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
networks:
|
||||
- nextcloud
|
||||
user: '1000:1000'
|
||||
|
||||
networks:
|
||||
nextcloud:
|
||||
name: nextcloud
|
||||
yourls:
|
||||
name: yourls
|
||||
proxy:
|
||||
routing:
|
||||
external: true
|
||||
name: proxy
|
||||
name: routing
|
96
outline/docker-compose.yml
Normal file
96
outline/docker-compose.yml
Normal file
@@ -0,0 +1,96 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
outline:
|
||||
image: outlinewiki/outline
|
||||
restart: unless-stopped
|
||||
command: sh -c "yarn sequelize:migrate --env production-ssl-disabled && yarn start"
|
||||
environment:
|
||||
- SECRET_KEY=${OUTLINE_SECRET_KEY}
|
||||
- UTILS_SECRET=${OUTLINE_UTILS_SECRET}
|
||||
- DATABASE_URL=postgres://outline:outline@db:5432/outline
|
||||
- DATABASE_URL_TEST=postgres://outline:outline@db:5432/outline-test
|
||||
- PGSSLMODE=disable
|
||||
- REDIS_URL=redis://redis:6379
|
||||
- URL=${OUTLINE_URL}
|
||||
- PORT=${OUTLINE_PORT}
|
||||
- AWS_ACCESS_KEY_ID=${MINIO_ID}
|
||||
- AWS_SECRET_ACCESS_KEY=${MINIO_SECRET}
|
||||
- AWS_REGION=us-east-1
|
||||
- AWS_S3_UPLOAD_BUCKET_URL=${MINIO_URL}
|
||||
- AWS_S3_UPLOAD_BUCKET_NAME=outline
|
||||
- AWS_S3_UPLOAD_MAX_SIZE=26214400
|
||||
- AWS_S3_FORCE_PATH_STYLE=true
|
||||
- AWS_S3_ACL=private
|
||||
- OIDC_CLIENT_ID=${OIDC_ID}
|
||||
- OIDC_CLIENT_SECRET=${OIDC_SECRET}
|
||||
- OIDC_AUTH_URI=${OIDC_AUTH_URI}
|
||||
- OIDC_TOKEN_URI=${OIDC_TOKEN_URI}
|
||||
- OIDC_USERINFO_URI=${OIDC_USERINFO_URI}
|
||||
- OIDC_USERNAME_CLAIM=nickname
|
||||
- OIDC_DISPLAY_NAME=GitLab
|
||||
- OIDC_SCOPES=openid profile email
|
||||
- FORCE_HTTPS=false
|
||||
- ENABLE_UPDATES=true
|
||||
- SMTP_HOST=${SMTP_HOST}
|
||||
- SMTP_PORT=${SMTP_PORT}
|
||||
- SMTP_USERNAME=${SMTP_USERNAME}
|
||||
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
||||
- SMTP_FROM_EMAIL=${SMTP_FROM_EMAIL}
|
||||
- SMTP_SECURE=${SMTP_SECURE}
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
|
||||
db:
|
||||
image: postgres
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=outline
|
||||
- POSTGRES_PASSWORD=outline
|
||||
- POSTGRES_DB=outline
|
||||
volumes:
|
||||
- /home/nick/configs/outline/db:/var/lib/postgresql/data
|
||||
user: 1000:1000
|
||||
|
||||
redis:
|
||||
image: redis
|
||||
restart: unless-stopped
|
||||
|
||||
outline-s3:
|
||||
image: minio/minio
|
||||
restart: unless-stopped
|
||||
command: "minio server /data"
|
||||
environment:
|
||||
- MINIO_ROOT_USER=${MINIO_ID}
|
||||
- MINIO_ROOT_PASSWORD=${MINIO_SECRET}
|
||||
- MINIO_BROWSER=off
|
||||
volumes:
|
||||
- /home/nick/configs/outline/s3:/data
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
user: 1000:1000
|
||||
|
||||
s3-init:
|
||||
image: minio/mc
|
||||
container_name: outline-s3-init
|
||||
entrypoint: >
|
||||
/bin/sh -c "
|
||||
until (/usr/bin/mc config host add minio http://outline-s3:9000 ${MINIO_ID} ${MINIO_SECRET}) do
|
||||
echo 'Waiting for minio...' && sleep 1;
|
||||
done;
|
||||
/usr/bin/mc mb minio/outline;
|
||||
/usr/bin/mc policy set download minio/outline;
|
||||
exit 0;
|
||||
"
|
||||
depends_on:
|
||||
- outline-s3
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
52
paperless/docker-compose.yml
Normal file
52
paperless/docker-compose.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
paperless:
|
||||
image: ghcr.io/paperless-ngx/paperless-ngx
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
healthcheck:
|
||||
disable: true
|
||||
volumes:
|
||||
- '/mnt/storage/configs/paperless/data:/usr/src/paperless/data'
|
||||
- '/mnt/storage/configs/paperless/media:/usr/src/paperless/media'
|
||||
- '/mnt/storage/configs/paperless/export:/usr/src/paperless/export'
|
||||
- '/mnt/storage/configs/paperless/consume:/usr/src/paperless/consume'
|
||||
environment:
|
||||
- PAPERLESS_URL=${PAPERLESS_URL}
|
||||
- PAPERLESS_REDIS=redis://redis:6379
|
||||
- PAPERLESS_DBHOST=db
|
||||
- USERMAP_UID=1000
|
||||
- USERMAP_GID=1000
|
||||
- PAPERLESS_OCR_LANGUAGES=ell
|
||||
- PAPERLESS_SECRET_KEY=${PAPERLESS_SECRET_KEY}
|
||||
- PAPERLESS_TIME_ZONE=Europe/Athens
|
||||
- PAPERLESS_OCR_LANGUAGE=eng
|
||||
- PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD=15
|
||||
- PAPERLESS_FORCE_SCRIPT_NAME=/paperless
|
||||
- PAPERLESS_ENABLE_HTTP_REMOTE_USER=true
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
|
||||
redis:
|
||||
image: redis:6.0
|
||||
restart: unless-stopped
|
||||
|
||||
db:
|
||||
image: postgres:13
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/paperless/db:/var/lib/postgresql/data'
|
||||
environment:
|
||||
POSTGRES_DB: paperless
|
||||
POSTGRES_USER: paperless
|
||||
POSTGRES_PASSWORD: paperless
|
||||
user: '1000:1000'
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
@@ -3,14 +3,14 @@ version: '3.9'
|
||||
services:
|
||||
peercalls:
|
||||
image: peercalls/peercalls
|
||||
container_name: peercalls
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- "PEERCALLS_BASE_URL=/p2p"
|
||||
networks:
|
||||
- proxy
|
||||
- default
|
||||
- routing
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
routing:
|
||||
external: true
|
||||
name: proxy
|
||||
name: routing
|
@@ -3,7 +3,6 @@ version: '3.9'
|
||||
services:
|
||||
nginx:
|
||||
image: nginx
|
||||
container_name: nginx
|
||||
restart: unless-stopped
|
||||
command: nginx -c /config/nginx.conf
|
||||
volumes:
|
||||
@@ -12,35 +11,26 @@ services:
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
networks:
|
||||
- proxy
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
|
||||
certbot:
|
||||
image: certbot/dns-cloudflare
|
||||
container_name: certbot
|
||||
restart: unless-stopped
|
||||
entrypoint: "/bin/sh -c \"trap exit TERM; while :; do certbot renew --post-hook 'chown -R 1000:1000 /etc/letsencrypt'; sleep 12h & wait $${!}; done;\""
|
||||
volumes:
|
||||
- /home/nick/configs/routing/nginx/certs/letsencrypt:/etc/letsencrypt
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
cloudflare_argo_tunnel:
|
||||
cloudflare-argo-tunnel:
|
||||
image: cloudflare/cloudflared
|
||||
container_name: cloudflared
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/routing/cloudflared:/etc/cloudflared'
|
||||
networks:
|
||||
- proxy
|
||||
command: tunnel run --url https://nginx:443 --no-tls-verify jupiter
|
||||
user: '1000:1000'
|
||||
|
||||
cloudflare_ddns:
|
||||
cloudflare-ddns:
|
||||
image: oznu/cloudflare-ddns
|
||||
container_name: cloudflare_ddns
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- API_KEY=${CF_API_KEY}
|
||||
@@ -49,99 +39,10 @@ services:
|
||||
- PROXIED=false
|
||||
network_mode: bridge
|
||||
|
||||
authelia:
|
||||
image: authelia/authelia
|
||||
container_name: authelia
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=Europe/Athens
|
||||
volumes:
|
||||
- /home/nick/configs/routing/auth:/config
|
||||
healthcheck:
|
||||
disable: true
|
||||
networks:
|
||||
- proxy
|
||||
- authelia
|
||||
user: 1000:1000
|
||||
|
||||
authelia_db:
|
||||
image: postgres
|
||||
container_name: authelia_db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=authelia
|
||||
- POSTGRES_PASSWORD=authelia
|
||||
- POSTGRES_DB=authelia
|
||||
volumes:
|
||||
- /home/nick/configs/routing/auth/db:/var/lib/postgresql/data
|
||||
networks:
|
||||
- authelia
|
||||
user: 1000:1000
|
||||
|
||||
authelia_broker:
|
||||
image: redis
|
||||
container_name: authelia_broker
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- authelia
|
||||
|
||||
theme_park:
|
||||
image: ghcr.io/gilbn/theme.park
|
||||
container_name: theme_park
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/London
|
||||
volumes:
|
||||
- /home/nick/configs/routing/theme_park:/config
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
whoami:
|
||||
image: containous/whoami
|
||||
container_name: whoami
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
yourls:
|
||||
image: registry.karaolidis.com/nikas36/yourls-plugins
|
||||
container_name: yourls
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- 'YOURLS_DB_HOST=yourls_db:3306'
|
||||
- 'YOURLS_DB_USER=yourls'
|
||||
- 'YOURLS_DB_PASS=yourls'
|
||||
- 'YOURLS_SITE=${YOURLS_URL}'
|
||||
- 'YOURLS_USER=${YOURLS_USER}'
|
||||
- 'YOURLS_PASS=${YOURLS_PASS}'
|
||||
networks:
|
||||
- yourls
|
||||
- proxy
|
||||
depends_on:
|
||||
- yourls_db
|
||||
|
||||
yourls_db:
|
||||
image: mysql
|
||||
container_name: yourls_db
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/routing/yourls:/var/lib/mysql'
|
||||
environment:
|
||||
- 'MYSQL_RANDOM_ROOT_PASSWORD=yes'
|
||||
- 'MYSQL_USER=yourls'
|
||||
- 'MYSQL_PASSWORD=yourls'
|
||||
- 'MYSQL_DATABASE=yourls'
|
||||
networks:
|
||||
- yourls
|
||||
user: '1000:1000'
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
name: proxy
|
||||
authelia:
|
||||
name: authelia
|
||||
yourls:
|
||||
name: yourls
|
||||
default:
|
||||
name: routing
|
||||
|
@@ -3,7 +3,6 @@ version: '3.9'
|
||||
services:
|
||||
samba:
|
||||
image: dperson/samba
|
||||
container_name: samba
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- 'TZ=Europe/Athens'
|
||||
|
32
scrutiny/docker-compose.yml
Normal file
32
scrutiny/docker-compose.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
scrutiny:
|
||||
image: ghcr.io/analogj/scrutiny:master-omnibus
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/scrutiny/config:/opt/scrutiny/config'
|
||||
- '/home/nick/configs/scrutiny/influxdb2:/opt/scrutiny/influxdb'
|
||||
- '/run/udev:/run/udev:ro'
|
||||
environment:
|
||||
- 'PUID=1000'
|
||||
- 'PGID=1000'
|
||||
- 'TZ=Europe/Athens'
|
||||
- 'COLLECTOR_API_ENDPOINT=http://localhost:8080/storage'
|
||||
devices:
|
||||
- /dev/sda:/dev/sda
|
||||
- /dev/sdb:/dev/sdb
|
||||
- /dev/sdc:/dev/sdc
|
||||
- /dev/sdd:/dev/sdd
|
||||
- /dev/sde:/dev/sde
|
||||
cap_add:
|
||||
- SYS_RAWIO
|
||||
- SYS_ADMIN
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
17
tor/docker-compose.yml
Normal file
17
tor/docker-compose.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
tor:
|
||||
image: dperson/torproxy
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=Europe/Athens
|
||||
- USERID=1000
|
||||
- GROUPID=1000
|
||||
ports:
|
||||
- '8118:8118'
|
||||
- '9050:9050'
|
||||
|
||||
networks:
|
||||
default:
|
||||
name: tor
|
25
transmission/docker-compose.yml
Normal file
25
transmission/docker-compose.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
transmission:
|
||||
image: linuxserver/transmission
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PGID=1000
|
||||
- PUID=1000
|
||||
- TZ=Europe/Athens
|
||||
- TRANSMISSION_WEB_HOME=/flood-for-transmission/
|
||||
volumes:
|
||||
- '/home/nick/configs/transmission:/config'
|
||||
- '/mnt/storage/public:/data'
|
||||
ports:
|
||||
- '51413:51413'
|
||||
- '51413:51413/udp'
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
33
umami/docker-compose.yml
Normal file
33
umami/docker-compose.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
umami:
|
||||
image: ghcr.io/mikecao/umami:postgresql-latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
DATABASE_URL: postgresql://umami:umami@db:5432/umami
|
||||
DATABASE_TYPE: postgresql
|
||||
HASH_SALT: ${SALT}
|
||||
TRACKER_SCRIPT_NAME: u
|
||||
depends_on:
|
||||
- db
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
|
||||
db:
|
||||
image: postgres:13.4
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: umami
|
||||
POSTGRES_USER: umami
|
||||
POSTGRES_PASSWORD: umami
|
||||
volumes:
|
||||
- '/home/nick/configs/umami/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro'
|
||||
- '/home/nick/configs/umami/data:/var/lib/postgresql/data'
|
||||
user: '1000:1000'
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
19
uptime-kuma/docker-compose.yml
Normal file
19
uptime-kuma/docker-compose.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
uptime-kuma:
|
||||
image: louislam/uptime-kuma
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/uptime-kuma:/app/data'
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
dns:
|
||||
- 1.1.1.1
|
||||
- 1.0.0.1
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
@@ -3,17 +3,16 @@ version: '3.9'
|
||||
services:
|
||||
vaultwarden:
|
||||
image: vaultwarden/server
|
||||
container_name: vaultwarden
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/vault:/data'
|
||||
- '/home/nick/configs/vaultwarden:/data'
|
||||
environment:
|
||||
- 'ADMIN_TOKEN=${ADMIN_TOKEN}'
|
||||
networks:
|
||||
- proxy
|
||||
- routing
|
||||
user: "1000:1000"
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
routing:
|
||||
external: true
|
||||
name: proxy
|
||||
name: routing
|
@@ -1,8 +1,8 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
openvpn:
|
||||
image: kylemanna/openvpn
|
||||
container_name: openvpn
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/vpn/openvpn:/etc/openvpn'
|
||||
@@ -11,14 +11,11 @@ services:
|
||||
- PGID=1000
|
||||
ports:
|
||||
- '1194:1194/udp'
|
||||
networks:
|
||||
- vpn
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
|
||||
wireguard:
|
||||
image: weejewel/wg-easy
|
||||
container_name: wireguard
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/vpn/wireguard:/etc/wireguard'
|
||||
@@ -28,8 +25,8 @@ services:
|
||||
ports:
|
||||
- '51820:51820/udp'
|
||||
networks:
|
||||
- vpn
|
||||
- proxy
|
||||
- default
|
||||
- routing
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- SYS_MODULE
|
||||
@@ -37,29 +34,7 @@ services:
|
||||
- net.ipv4.ip_forward=1
|
||||
- net.ipv4.conf.all.src_valid_mark=1
|
||||
|
||||
tor:
|
||||
image: dperson/torproxy
|
||||
container_name: tor
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=Europe/Athens
|
||||
- USERID=1000
|
||||
- GROUPID=1000
|
||||
ports:
|
||||
- '8118:8118'
|
||||
- '9050:9050'
|
||||
networks:
|
||||
- tor
|
||||
|
||||
networks:
|
||||
vpn:
|
||||
name: vpn
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: "172.20.0.0/16"
|
||||
tor:
|
||||
name: tor
|
||||
proxy:
|
||||
routing:
|
||||
external: true
|
||||
name: proxy
|
||||
name: routing
|
||||
|
35
yourls/docker-compose.yml
Normal file
35
yourls/docker-compose.yml
Normal file
@@ -0,0 +1,35 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
yourls:
|
||||
image: registry.karaolidis.com/nikas36/yourls-plugins
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- 'YOURLS_DB_HOST=db:3306'
|
||||
- 'YOURLS_DB_USER=yourls'
|
||||
- 'YOURLS_DB_PASS=yourls'
|
||||
- 'YOURLS_SITE=${YOURLS_URL}'
|
||||
- 'YOURLS_USER=${YOURLS_USER}'
|
||||
- 'YOURLS_PASS=${YOURLS_PASS}'
|
||||
networks:
|
||||
- default
|
||||
- routing
|
||||
depends_on:
|
||||
- yourls-db
|
||||
|
||||
db:
|
||||
image: mysql
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/home/nick/configs/yourls:/var/lib/mysql'
|
||||
environment:
|
||||
- 'MYSQL_RANDOM_ROOT_PASSWORD=yes'
|
||||
- 'MYSQL_USER=yourls'
|
||||
- 'MYSQL_PASSWORD=yourls'
|
||||
- 'MYSQL_DATABASE=yourls'
|
||||
user: '1000:1000'
|
||||
|
||||
networks:
|
||||
routing:
|
||||
external: true
|
||||
name: routing
|
Reference in New Issue
Block a user