parent
db3e668191
commit
662b777ed8
@ -1,45 +1,62 @@
|
||||
---
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:alpine
|
||||
command: |-
|
||||
--entryPoints="Name:http Address::80 Redirect.EntryPoint:https"
|
||||
--entryPoints="Name:https Address::443 TLS"
|
||||
--defaultentrypoints="http,https"
|
||||
--accesslogsfile="/var/log/access.log"
|
||||
--acme
|
||||
--acme.acmelogging="true"
|
||||
# Change this to an actual email address
|
||||
--acme.email="me@jowj.net"
|
||||
--acme.entrypoint="https"
|
||||
--acme.storage="/acme/acme.json"
|
||||
--acme.onhostrule="true"
|
||||
--docker
|
||||
--docker.swarmmode
|
||||
# Change this to your primary domain
|
||||
--docker.domain="home.jowj.net"
|
||||
--docker.watch
|
||||
--web
|
||||
image: traefik:v2.0
|
||||
command: --web --docker --docker.swarmmode --docker.watch --docker.domain="hatchery.home.jowj.net" --logLevel=DEBUG
|
||||
container_name: traefik
|
||||
ports:
|
||||
- 8080:8080
|
||||
- 80:80
|
||||
- 443:443
|
||||
- 8080:8080
|
||||
networks:
|
||||
- traefik_public
|
||||
volumes:
|
||||
- traefik_acme:/acme/
|
||||
- traefik_logs:/var/log/access.log
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /home/josiah/apps/traefik/traefik.toml:/etc/traefik/traefik.toml
|
||||
networks:
|
||||
- pubnet
|
||||
- privnet
|
||||
deploy:
|
||||
placement:
|
||||
constraints:
|
||||
- node.role == manager
|
||||
|
||||
- node.role == manager
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.mediaserver-traefik-api.rule=Host(`hatchery.home.jowj.net`)&&(PathPrefix(`/api`)||PathPrefix(`/dashboard`)||PathPrefix(`/debug`))"
|
||||
- "traefik.http.routers.mediaserver-traefik-api.service=api@internal"
|
||||
- "traefik.http.routers.mediaserver-traefik-api.entrypoints=http"
|
||||
|
||||
hydra2:
|
||||
image: linuxserver/hydra2:latest
|
||||
container_name: hydra2
|
||||
hostname: hydra2
|
||||
volumes:
|
||||
- /home/josiah/apps/hydra2/:/config
|
||||
- /home/josiah/Downloads/usenet-complete/:/downloads
|
||||
environment:
|
||||
PGID: 1000
|
||||
PUID: 1000
|
||||
TZ: American/Chicago
|
||||
deploy:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.hydra2.service=hydra2"
|
||||
- "traefik.http.routers.hydra2.rule=Host(`hatchery.home.jowj.net`) && PathPrefix(`/hydra2`))"
|
||||
- "traefik.http.routers.hydra2.entrypoints=http"
|
||||
- "traefik.http.services.hydra2.loadbalancer.server.port=5076"
|
||||
networks:
|
||||
- privnet
|
||||
|
||||
volumes:
|
||||
traefik_acme:
|
||||
traefik_logs:
|
||||
|
||||
networks:
|
||||
traefik_public:
|
||||
pubnet:
|
||||
external: true
|
||||
networks:
|
||||
pubnet:
|
||||
driver: overlay
|
||||
privnet:
|
||||
driver: overlay
|
||||
|
@ -1,36 +1,34 @@
|
||||
checkNewVersion = true
|
||||
# defaultEntryPoints must be at the top
|
||||
# because it should not be in any table below
|
||||
|
||||
defaultEntryPoints = ["http", "https"]
|
||||
|
||||
# This section enable LetsEncrypt automatic certificate generation / renewal
|
||||
[acme]
|
||||
email = "me@jowj.net"
|
||||
storage = "acme.json" # or "traefik/acme/account" if using KV store
|
||||
entryPoint = "https"
|
||||
acmeLogging = true
|
||||
onDemand = true
|
||||
OnHostRule = true
|
||||
|
||||
# Request wildcard certificates per https://docs.traefik.io/configuration/acme/#wildcard-domains
|
||||
[[acme.domains]]
|
||||
main = "hatchery.jowj.net"
|
||||
sans = ["jowj.net"]
|
||||
|
||||
# Redirect all HTTP to HTTPS (why wouldn't you?)
|
||||
[log]
|
||||
level = "DEBUG"
|
||||
|
||||
[api]
|
||||
dashboard = true
|
||||
|
||||
[entryPoints]
|
||||
[entryPoints.http]
|
||||
address = ":80"
|
||||
[entryPoints.http.redirect]
|
||||
entryPoint = "https"
|
||||
address = ":80"
|
||||
[entryPoints.https]
|
||||
address = ":443"
|
||||
[entryPoints.https.tls]
|
||||
address = ":443"
|
||||
|
||||
[http.middlewares]
|
||||
[http.middlewares.mediaserver-https-redir.redirectScheme]
|
||||
scheme = "https"
|
||||
permanent = true
|
||||
|
||||
[certificatesResolvers.mediaserver-resolver.acme]
|
||||
storage = "/acme.json"
|
||||
email = "<me@jowj.net>"
|
||||
|
||||
|
||||
[web]
|
||||
address = ":8080"
|
||||
watch = true
|
||||
[providers.docker]
|
||||
|
||||
[docker]
|
||||
endpoint = "tcp://127.0.0.1:2375"
|
||||
domain = "home.jowj.net"
|
||||
watch = true
|
||||
swarmmode = true
|
||||
endpoint = "unix:///var/run/docker.sock"
|
||||
domain = "hatchery.home.jowj.net"
|
||||
watch = true
|
||||
exposedbydefault = false
|
||||
|
Loading…
Reference in new issue