Refactor docker-compose files

This commit is contained in:
2022-08-29 14:37:55 +03:00
parent 7b0636312c
commit 9c051ed370
28 changed files with 624 additions and 700 deletions

View File

@@ -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

View 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

View 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

View 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

View File

@@ -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

View File

@@ -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
View 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

View File

@@ -1,9 +1,8 @@
version: "3.9" version: "3.9"
services: services:
mc_ftb_0: mc-ftb-0:
image: itzg/minecraft-server:java11-openj9 image: itzg/minecraft-server:java11-openj9
container_name: mc_ftb_0
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- '/home/nick/configs/gaming/mc_ftb_0:/data' - '/home/nick/configs/gaming/mc_ftb_0:/data'
@@ -17,7 +16,7 @@ services:
- OVERRIDE_SERVER_PROPERTIES=true - OVERRIDE_SERVER_PROPERTIES=true
- DIFFICULTY=normal - DIFFICULTY=normal
- ENABLE_WHITELIST=TRUE - ENABLE_WHITELIST=TRUE
- OPS=${OPS} - OPS=Nikas36
- ENABLE_COMMAND_BLOCK=TRUE - ENABLE_COMMAND_BLOCK=TRUE
- SPAWN_PROTECTION=0 - SPAWN_PROTECTION=0
- LEVEL_TYPE=BIOMESOPLENTY - LEVEL_TYPE=BIOMESOPLENTY
@@ -35,9 +34,8 @@ services:
tty: true tty: true
stdin_open: true stdin_open: true
ksp_0: ksp-0:
image: lmpsrv-custom:0.28.0 image: lmpsrv-custom:0.28.0
container_name: ksp_0
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- '/home/nick/configs/gaming/ksp_0/config:/LMPServer/Config' - '/home/nick/configs/gaming/ksp_0/config:/LMPServer/Config'
@@ -49,4 +47,3 @@ services:
- 8800:8800/udp - 8800:8800/udp
- 8900:8900 - 8900:8900
user: "1000:1000" user: "1000:1000"

View File

@@ -3,85 +3,36 @@ version: '3.9'
services: services:
ghost: ghost:
image: ghost image: ghost
container_name: ghost
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- '/home/nick/configs/ghost/ghost:/var/lib/ghost/content' - '/home/nick/configs/ghost:/var/lib/ghost/content'
environment: 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: networks:
- proxy - default
- ghost - routing
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
depends_on: depends_on:
- commento_db - 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
user: '1000:1000' user: '1000:1000'
umami: db:
image: ghcr.io/mikecao/umami:postgresql-latest image: mysql
container_name: umami
restart: unless-stopped 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: volumes:
- '/home/nick/configs/ghost/umami/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro' - '/home/nick/configs/ghost/db:/var/lib/mysql'
- '/home/nick/configs/ghost/umami/data:/var/lib/postgresql/data' environment:
networks: MYSQL_USER: ghost
- ghost MYSQL_DATABASE: ghost
MYSQL_PASSWORD: ghost
MYSQL_RANDOM_ROOT_PASSWORD: yes
user: '1000:1000' user: '1000:1000'
networks: networks:
proxy: routing:
external: true external: true
name: proxy name: routing
ghost:
name: ghost

View File

@@ -1,24 +1,8 @@
version: '3.9' version: '3.9'
services: 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: gitlab:
image: gitlab/gitlab-ce image: gitlab/gitlab-ce
container_name: gitlab
hostname: ${GITLAB_HOSTNAME} hostname: ${GITLAB_HOSTNAME}
restart: unless-stopped restart: unless-stopped
environment: environment:
@@ -48,30 +32,25 @@ services:
gitlab_rails['smtp_tls'] = false gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer' gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
volumes: volumes:
- '/home/nick/configs/devops/gitlab/config:/etc/gitlab' - '/home/nick/configs/gitlab/config:/etc/gitlab'
- '/home/nick/configs/devops/gitlab/logs:/var/log/gitlab' - '/home/nick/configs/gitlab/logs:/var/log/gitlab'
- '/home/nick/configs/devops/gitlab/data:/var/opt/gitlab' - '/home/nick/configs/gitlab/data:/var/opt/gitlab'
- '/home/nick/configs/devops/gitlab/registry:/etc/registry' - '/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/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' - '/home/nick/configs/routing/nginx/certs/letsencrypt/live/karaolidis.com/privkey.pem:/etc/gitlab/ssl/privkey.pem:ro'
networks: networks:
- devops - default
- proxy - routing
shm_size: '256m' shm_size: '256m'
gitlab_runner: runner:
image: gitlab/gitlab-runner image: gitlab/gitlab-runner
container_name: gitlab_runner
restart: unless-stopped restart: unless-stopped
volumes: 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' - '/var/run/docker.sock:/var/run/docker.sock'
networks:
- devops
networks: networks:
proxy: routing:
external: true external: true
name: proxy name: routing
devops:
name: devops

View 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

View 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

View File

@@ -1,22 +1,8 @@
version: '3.9' version: '3.9'
services: services:
flame: littlelink:
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:
image: timothystewart6/littlelink-server image: timothystewart6/littlelink-server
container_name: littlelink
restart: unless-stopped restart: unless-stopped
environment: environment:
- META_TITLE=Nick Karaolidis - META_TITLE=Nick Karaolidis
@@ -56,9 +42,9 @@ services:
- SOUND_CLOUD=https://soundcloud.com/nikas36 - SOUND_CLOUD=https://soundcloud.com/nikas36
- STEAM=https://steamcommunity.com/profiles/76561198118267119 - STEAM=https://steamcommunity.com/profiles/76561198118267119
networks: networks:
- proxy - routing
networks: networks:
proxy: routing:
external: true external: true
name: proxy name: routing

View File

@@ -3,7 +3,6 @@ version: '3.9'
services: services:
plex: plex:
image: plexinc/pms-docker image: plexinc/pms-docker
container_name: plex
restart: unless-stopped restart: unless-stopped
hostname: 'jupiter' hostname: 'jupiter'
environment: environment:
@@ -22,8 +21,8 @@ services:
devices: devices:
- '/dev/dri:/dev/dri' - '/dev/dri:/dev/dri'
networks: networks:
- proxy - default
- media - routing
ports: ports:
- '32400:32400/tcp' - '32400:32400/tcp'
- '3005:3005/tcp' - '3005:3005/tcp'
@@ -35,26 +34,8 @@ services:
- '32413:32413/udp' - '32413:32413/udp'
- '32414:32414/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: ombi:
image: linuxserver/ombi image: linuxserver/ombi
container_name: ombi
restart: unless-stopped restart: unless-stopped
environment: environment:
- 'PUID=1000' - 'PUID=1000'
@@ -64,12 +45,11 @@ services:
volumes: volumes:
- /home/nick/configs/media/ombi:/config - /home/nick/configs/media/ombi:/config
networks: networks:
- proxy - default
- media - routing
tautulli: tautulli:
image: tautulli/tautulli image: tautulli/tautulli
container_name: tautulli
restart: unless-stopped restart: unless-stopped
environment: environment:
- 'PUID=1000' - 'PUID=1000'
@@ -78,12 +58,11 @@ services:
volumes: volumes:
- /home/nick/configs/media/tautulli:/config - /home/nick/configs/media/tautulli:/config
networks: networks:
- proxy - default
- media - routing
prowlarr: prowlarr:
image: linuxserver/prowlarr:develop image: linuxserver/prowlarr:develop
container_name: prowlarr
restart: unless-stopped restart: unless-stopped
environment: environment:
- PUID=1000 - PUID=1000
@@ -93,11 +72,10 @@ services:
- '/home/nick/configs/media/prowlarr:/config' - '/home/nick/configs/media/prowlarr:/config'
- '/mnt/storage/public:/data' - '/mnt/storage/public:/data'
networks: networks:
- proxy - routing
radarr: radarr:
image: linuxserver/radarr image: linuxserver/radarr
container_name: radarr
restart: unless-stopped restart: unless-stopped
environment: environment:
- PGID=1000 - PGID=1000
@@ -107,13 +85,12 @@ services:
- '/home/nick/configs/media/radarr:/config' - '/home/nick/configs/media/radarr:/config'
- '/mnt/storage/public:/data' - '/mnt/storage/public:/data'
networks: networks:
- proxy - routing
depends_on: depends_on:
- prowlarr - prowlarr
sonarr: sonarr:
image: linuxserver/sonarr image: linuxserver/sonarr
container_name: sonarr
restart: unless-stopped restart: unless-stopped
environment: environment:
- PGID=1000 - PGID=1000
@@ -123,13 +100,12 @@ services:
- '/home/nick/configs/media/sonarr:/config' - '/home/nick/configs/media/sonarr:/config'
- '/mnt/storage/public:/data' - '/mnt/storage/public:/data'
networks: networks:
- proxy - routing
depends_on: depends_on:
- prowlarr - prowlarr
lidarr: lidarr:
image: linuxserver/lidarr image: linuxserver/lidarr
container_name: lidarr
restart: unless-stopped restart: unless-stopped
environment: environment:
- PGID=1000 - PGID=1000
@@ -139,13 +115,12 @@ services:
- '/home/nick/configs/media/lidarr:/config' - '/home/nick/configs/media/lidarr:/config'
- '/mnt/storage/public:/data' - '/mnt/storage/public:/data'
networks: networks:
- proxy - routing
depends_on: depends_on:
- prowlarr - prowlarr
bazarr: bazarr:
image: linuxserver/bazarr image: linuxserver/bazarr
container_name: bazarr
restart: unless-stopped restart: unless-stopped
environment: environment:
- PGID=1000 - PGID=1000
@@ -155,25 +130,23 @@ services:
- '/home/nick/configs/media/bazarr:/config' - '/home/nick/configs/media/bazarr:/config'
- '/mnt/storage/public:/data' - '/mnt/storage/public:/data'
networks: networks:
- proxy - routing
depends_on: depends_on:
- radarr - radarr
- sonarr - sonarr
subs_upload: subs-upload:
image: registry.karaolidis.com/nikas36/plex-subtitle-uploader image: registry.karaolidis.com/nikas36/plex-subtitle-uploader
container_name: subs_uploader
restart: unless-stopped restart: unless-stopped
environment: environment:
- "PLEX_URL=http://plex:32400" - "PLEX_URL=http://plex:32400"
- "SUBDOMAIN=/subs-upload" - "SUBDOMAIN=/subs-upload"
- "PLEX_TOKEN=${PLEX_TOKEN}" - "PLEX_TOKEN=${PLEX_TOKEN}"
networks: networks:
- proxy - default
- routing
networks: networks:
proxy: routing:
external: true external: true
name: proxy name: routing
media:
name: media

View File

@@ -3,10 +3,9 @@ version: '3.9'
services: services:
nextcloud: nextcloud:
image: linuxserver/nextcloud image: linuxserver/nextcloud
container_name: nextcloud
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- '/home/nick/configs/cloud/nc_conf:/config' - '/home/nick/configs/nextcloud/nc_conf:/config'
- '/mnt/storage/configs/nextcloud/data:/data' - '/mnt/storage/configs/nextcloud/data:/data'
- '/mnt/storage/public:/public' - '/mnt/storage/public:/public'
- '/mnt/storage/private:/private' - '/mnt/storage/private:/private'
@@ -15,31 +14,24 @@ services:
- PGID=1000 - PGID=1000
- TZ=Europe/Greece - TZ=Europe/Greece
networks: networks:
- nextcloud - default
- proxy - routing
depends_on: depends_on:
- nextcloud_db - db
nextcloud_db: db:
image: mariadb:10.5 image: mariadb:10.5
container_name: nextcloud_db
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- '/home/nick/configs/cloud/nc_db:/var/lib/mysql' - '/home/nick/configs/nextcloud/nc_db:/var/lib/mysql'
environment: environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASS} - MYSQL_RANDOM_ROOT_PASSWORD=yes
- MYSQL_USER=nextcloud - MYSQL_USER=nextcloud
- MYSQL_PASSWORD=nextcloud - MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud - MYSQL_DATABASE=nextcloud
networks:
- nextcloud
user: '1000:1000' user: '1000:1000'
networks: networks:
nextcloud: routing:
name: nextcloud
yourls:
name: yourls
proxy:
external: true external: true
name: proxy name: routing

View 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

View 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

View File

@@ -3,14 +3,14 @@ version: '3.9'
services: services:
peercalls: peercalls:
image: peercalls/peercalls image: peercalls/peercalls
container_name: peercalls
restart: unless-stopped restart: unless-stopped
environment: environment:
- "PEERCALLS_BASE_URL=/p2p" - "PEERCALLS_BASE_URL=/p2p"
networks: networks:
- proxy - default
- routing
networks: networks:
proxy: routing:
external: true external: true
name: proxy name: routing

View File

@@ -3,7 +3,6 @@ version: '3.9'
services: services:
nginx: nginx:
image: nginx image: nginx
container_name: nginx
restart: unless-stopped restart: unless-stopped
command: nginx -c /config/nginx.conf command: nginx -c /config/nginx.conf
volumes: volumes:
@@ -12,35 +11,26 @@ services:
ports: ports:
- 80:80 - 80:80
- 443:443 - 443:443
networks:
- proxy
extra_hosts: extra_hosts:
- "host.docker.internal:host-gateway" - "host.docker.internal:host-gateway"
certbot: certbot:
image: certbot/dns-cloudflare image: certbot/dns-cloudflare
container_name: certbot
restart: unless-stopped 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;\"" entrypoint: "/bin/sh -c \"trap exit TERM; while :; do certbot renew --post-hook 'chown -R 1000:1000 /etc/letsencrypt'; sleep 12h & wait $${!}; done;\""
volumes: volumes:
- /home/nick/configs/routing/nginx/certs/letsencrypt:/etc/letsencrypt - /home/nick/configs/routing/nginx/certs/letsencrypt:/etc/letsencrypt
networks:
- proxy
cloudflare_argo_tunnel: cloudflare-argo-tunnel:
image: cloudflare/cloudflared image: cloudflare/cloudflared
container_name: cloudflared
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- '/home/nick/configs/routing/cloudflared:/etc/cloudflared' - '/home/nick/configs/routing/cloudflared:/etc/cloudflared'
networks:
- proxy
command: tunnel run --url https://nginx:443 --no-tls-verify jupiter command: tunnel run --url https://nginx:443 --no-tls-verify jupiter
user: '1000:1000' user: '1000:1000'
cloudflare_ddns: cloudflare-ddns:
image: oznu/cloudflare-ddns image: oznu/cloudflare-ddns
container_name: cloudflare_ddns
restart: unless-stopped restart: unless-stopped
environment: environment:
- API_KEY=${CF_API_KEY} - API_KEY=${CF_API_KEY}
@@ -49,99 +39,10 @@ services:
- PROXIED=false - PROXIED=false
network_mode: bridge 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: whoami:
image: containous/whoami image: containous/whoami
container_name: whoami
restart: unless-stopped 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: networks:
proxy: default:
external: true name: routing
name: proxy
authelia:
name: authelia
yourls:
name: yourls

View File

@@ -3,7 +3,6 @@ version: '3.9'
services: services:
samba: samba:
image: dperson/samba image: dperson/samba
container_name: samba
restart: unless-stopped restart: unless-stopped
environment: environment:
- 'TZ=Europe/Athens' - 'TZ=Europe/Athens'

View 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
View 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

View 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
View 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

View 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

View File

@@ -3,17 +3,16 @@ version: '3.9'
services: services:
vaultwarden: vaultwarden:
image: vaultwarden/server image: vaultwarden/server
container_name: vaultwarden
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- '/home/nick/configs/vault:/data' - '/home/nick/configs/vaultwarden:/data'
environment: environment:
- 'ADMIN_TOKEN=${ADMIN_TOKEN}' - 'ADMIN_TOKEN=${ADMIN_TOKEN}'
networks: networks:
- proxy - routing
user: "1000:1000" user: "1000:1000"
networks: networks:
proxy: routing:
external: true external: true
name: proxy name: routing

View File

@@ -1,8 +1,8 @@
version: '3.9' version: '3.9'
services: services:
openvpn: openvpn:
image: kylemanna/openvpn image: kylemanna/openvpn
container_name: openvpn
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- '/home/nick/configs/vpn/openvpn:/etc/openvpn' - '/home/nick/configs/vpn/openvpn:/etc/openvpn'
@@ -11,14 +11,11 @@ services:
- PGID=1000 - PGID=1000
ports: ports:
- '1194:1194/udp' - '1194:1194/udp'
networks:
- vpn
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
wireguard: wireguard:
image: weejewel/wg-easy image: weejewel/wg-easy
container_name: wireguard
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- '/home/nick/configs/vpn/wireguard:/etc/wireguard' - '/home/nick/configs/vpn/wireguard:/etc/wireguard'
@@ -28,8 +25,8 @@ services:
ports: ports:
- '51820:51820/udp' - '51820:51820/udp'
networks: networks:
- vpn - default
- proxy - routing
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
- SYS_MODULE - SYS_MODULE
@@ -37,29 +34,7 @@ services:
- 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
tor:
image: dperson/torproxy
container_name: tor
restart: unless-stopped
environment:
- TZ=Europe/Athens
- USERID=1000
- GROUPID=1000
ports:
- '8118:8118'
- '9050:9050'
networks: networks:
- tor routing:
networks:
vpn:
name: vpn
ipam:
driver: default
config:
- subnet: "172.20.0.0/16"
tor:
name: tor
proxy:
external: true external: true
name: proxy name: routing

35
yourls/docker-compose.yml Normal file
View 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