homepage/docker-compose.yml
surtur 0b8d7d92ae
All checks were successful
continuous-integration/drone/push Build is passing
fix 8fe0e155d3: bump traefik to version 2.7
the :2.6.3 tag is apparently only available for arm arch, it's probably
best not to base the decision to bump versions on a new release
notification. instead, availability of the new version for our default
arch (amd64) should always be checked:
    podman run -it --rm docker.io/library/traefik:2.6.3
    Trying to pull docker.io/library/traefik:2.6.3...
    Error: choosing an image from manifest list docker://traefik:2.6.3: no image found in manifest list for architecture amd64, variant "", OS linux

    ~ took 2s
    (╯°□°)╯︵ ┻━┻ 125 🔥  podman run -it --rm docker.io/library/traefik:2.7
    Trying to pull docker.io/library/traefik:2.7...
    Getting image source signatures
    Copying blob 491249faa733 done
2022-03-30 17:26:02 +02:00

49 lines
1.7 KiB
YAML

version: '3'
services:
reverse-proxy:
image: traefik:2.7
command: --api=false --api.dashboard=false --providers.docker
networks:
- internal-nw
- default
ports:
- 127.0.0.1:1314:80
restart: always
volumes:
# So that traefik can listen to the Docker events
- /var/run/docker.sock:/var/run/docker.sock:ro
homepage:
build:
context: .
image: homepage
networks:
- internal-nw
restart: always
labels:
- traefik.enable=true
- traefik.http.services.homepage.loadbalancer.server.port=80
- traefik.http.routers.homepage.rule=Host(`localhost`) || Host(`127.0.0.1`) || Host(`homepage`) || Host(`6426tqrh4y5uobmo5y2csaip3m3avmjegd2kpa24sadekpxglbm34aqd.onion`)
# ref: https://stackoverflow.com/a/61976953
# ref: https://github.com/traefik/traefik/issues/563
- "traefik.http.routers.homepage.middlewares=homepage-redirectregex, homepage-replacepathregex"
- "traefik.http.middlewares.homepage-replacepathregex.replacepathregex.regex=^/tags/(.*)$$"
- "traefik.http.middlewares.homepage-replacepathregex.replacepathregex.replacement=https://dotya.ml/tags/$$1/"
- "traefik.http.middlewares.homepage-redirectregex.redirectregex.regex=^/tags$$"
- "traefik.http.middlewares.homepage-redirectregex.redirectregex.replacement=https://dotya.ml/tags/"
- "traefik.frontend.redirect.regex=^https://dotya.ml/tags/(.*)$$"
- "traefik.frontend.redirect.replacement=https://dotya.ml/tags/$$1/"
- "traefik.frontend.rule=PathPrefix:/tags;ReplacePathRegex: ^/tags/(.*) /tags/$$1/"
logging:
driver: json-file
options:
max-size: "5m"
max-file: "5"
networks:
internal-nw:
internal: true
default: