I'm trying to put Gogs behind a reverse proxy using Traefik and Docker. I've swapped out the sensitive information.
docker-compose.yml
version: "3.9"
services:
gogs:
image: gogs/gogs
#ports:
# - "10880:3000"
expose:
- 3000
restart: unless-stopped
volumes:
- ./gogs/data:/data
labels:
- "traefik.http.routers.gogs.rule=Host(`internal.example.com`) && Path(`/gogs`)"
- "traefik.http.routers.gogs.tls=true"
- "traefik.http.services.gogs.loadbalancer.server.port=3000"
#- "traefik.http.routers.gogs.entrypoints=websecure"
- "traefik.http.routers.gogs.tls.certresolver=le"
traefik:
image: traefik:v2.6
ports:
- "80:80"
- "443:443"
restart: unless-stopped
labels:
# Dashboard
- "traefik.http.routers.traefik.rule=Host(`internal.example.com`)"
- "traefik.http.routers.traefik.service=api@internal"
- "traefik.http.routers.traefik.middlewares=admin"
- "traefik.http.routers.traefik.tls.certresolver=le"
- "traefik.http.routers.traefik.entrypoints=websecure"
- "traefik.http.middlewares.admin.basicauth.users=admin:XXX"
command:
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --providers.docker
- --api
- --certificatesresolvers.le.acme.email=me@example.com
- --certificatesresolvers.le.acme.storage=/acme.json
- --certificatesresolvers.le.acme.tlschallenge=true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik/acme.json:/acme.json
Going to the Traefik dashboard works fine, there are no errors shown. Trying to go to Gogs at [ https://internal.example.com/gogs
redirects to the Gogs login at [ https://internal.example.com/gogs/user/login
as it should, but only gives a "404 page not found" error.
I'm totally at a loss of what to do from here.