This repository has been archived on 2025-11-01. You can view files and clone it, but cannot push or open issues or pull requests.
excellon-config/docker-compose.yml

177 lines
6.6 KiB
YAML

version: '3'
services:
traefik:
image: traefik:v3.2
container_name: traefik
command:
# - "--log.level=DEBUG"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entryPoints.web.address=:80"
- "--entryPoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.httpchallenge=true"
- "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
#- "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
- "--certificatesresolvers.myresolver.acme.email=barton@akeley.tech"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/data/docker/volumes/letsencrypt:/letsencrypt:rw"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.api.rule=Host(`traefik.akeley.tech`)'
- 'traefik.http.routers.api.entryPoints=https'
- 'traefik.http.routers.api.tls=true'
- 'traefik.http.routers.api.service=api@internal'
# - 'traefik.http.routers.api.middlewares=authelia@docker'
# pktriot:
# image: packetriot/pktriot:latest
# container_name: pktriot
# restart: unless-stopped
# volumes:
# - /data/docker/volumes/pktriot:/data:rw
# mariadb:
# image: mariadb:10.6
# container_name: mariadb
# restart: always
# command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
# volumes:
# - /data/docker/volumes/mariadb:/var/lib/mysql:rw
# environment:
# - MYSQL_ROOT_PASSWORD=fji9_+jK12dEW
# - MYSQL_PASSWORD=Z67dJ0rKBSU74ZwvqIsd
# - MYSQL_DATABASE=nextcloud
# - MYSQL_USER=nextcloud
#
# nextcloud:
# image: nextcloud:30.0.4
# container_name: nextcloud
# restart: always
# ports:
# - 8088:80
# links:
# - mariadb
# volumes:
# - /data/docker/volumes/nextcloud:/var/www/html
# - /data:/data:rw
# - /docs/documents:/documents:rw
# environment:
# - MYSQL_PASSWORD=Z67dJ0rKBSU74ZwvqIsd
# - MYSQL_DATABASE=nextcloud
# - MYSQL_USER=nextcloud
# - MYSQL_HOST=mariadb
# labels:
# - traefik.enable=true
# - traefik.http.routers.nextcloud.entrypoints=web,websecure
# - traefik.http.routers.nextcloud.rule=Host(`nextcloud.akeley.tech`)
# - traefik.http.routers.nextcloud.tls=true
# - traefik.http.routers.nextcloud.tls.certresolver=myresolver
# plex:
# image: plexinc/pms-docker
# container_name: plex
# init: true
# hostname: excellon
# restart: always
# ports:
# - 32400:32400
# - 8324:8324
# - 32469:32469
# - 1900:1900
# - 32410:32410
# - 32412:32412
# - 32413:32413
# - 32414:32414
# environment:
# TZ: "America/Chicago"
# PLEX_CLAIM: "claim-7-N1LVT5AMco6ayhy4Tm"
# ADVERTISE_IP: "http://192.168.1.3:32400/"
# volumes:
# - /data/docker/volumes/plex/config:/config
# - /data/docker/volumes/plex/transcode:/transcode
# - /data:/data:rw
# forgejo:
# image: codeberg.org/forgejo/forgejo:9
# container_name: forgejo
# environment:
# - USER_UID=1000
# - USER_GID=1000
# restart: always
# volumes:
# - /data/docker/volumes/forgejo:/data
# - /etc/timezone:/etc/timezone:ro
# - /etc/localtime:/etc/localtime:ro
# ports:
# - '3000:3000'
# - '222:22'
# miniflux:
# image: miniflux/miniflux:latest
# container_name: miniflux
# ports:
# - "8081:8080"
# depends_on:
# pg_db:
# condition: service_healthy
# environment:
# - DATABASE_URL=postgres://miniflux:99uskas0_l@pg_db/miniflux?sslmode=disable
# - RUN_MIGRATIONS=1
# - CREATE_ADMIN=1
# - ADMIN_USERNAME=admin
# - ADMIN_PASSWORD=982#@2gGGHjf
#
# pg_db:
# image: postgres:17-alpine
# container_name: pg_db
# environment:
# - POSTGRES_USER=miniflux
# - POSTGRES_PASSWORD=99uskas0_l
# - POSTGRES_DB=miniflux
# volumes:
# - /data/docker/volumes/pg_db:/var/lib/postgresql/data
# healthcheck:
# test: ["CMD", "pg_isready", "-U", "miniflux"]
# interval: 10s
# start_period: 30s
# whoami:
# image: "traefik/whoami"
# container_name: whoami
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.whoami.rule=Host(`whoami.akeley.tech`)"
# - "traefik.http.routers.whoami.entrypoints=web,websecure"
# - "traefik.http.routers.whoami.tls.certresolver=myresolver"
# authelia:
# container_name: 'authelia'
# image: 'authelia/authelia'
# restart: 'unless-stopped'
# expose:
# - 9091
# volumes:
# - './authelia/config:/config'
# environment:
# TZ: "America/Chicago"
# labels:
# - 'traefik.enable=true'
# - 'traefik.http.routers.authelia.rule=Host(`auth.akeley.tech`)'
# - 'traefik.http.routers.authelia.entryPoints=https'
# - 'traefik.http.routers.authelia.tls=true'
# - 'traefik.http.middlewares.authelia.forwardAuth.address=http://authelia:9091/api/authz/forward-auth'
# ## The following commented line is for configuring the Authelia URL in the proxy. We strongly suggest this is
# ## configured in the Session Cookies section of the Authelia configuration.
# # - 'traefik.http.middlewares.authelia.forwardAuth.address=http://authelia:9091/api/authz/forward-auth?authelia_url=https%3A%2F%2Fauth.example.com%2F'
# - 'traefik.http.middlewares.authelia.forwardAuth.trustForwardHeader=true'
# - 'traefik.http.middlewares.authelia.forwardAuth.authResponseHeaders=Remote-User,Remote-Groups,Remote-Email,Remote-Name'