version: "3.8" services: traefik: image: "traefik:latest" container_name: "traefik" command: - "--api.dashboard=true" - "--log.level=DEBUG" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - "--entrypoints.websecure.address=:443" - "--certificatesresolvers.myresolver.acme.tlschallenge=true" - "--certificatesresolvers.myresolver.acme.email=contact@luke-else.co.uk" - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" ports: - "80:80" - "443:443" volumes: - "./letsencrypt:/letsencrypt" - "/var/run/docker.sock:/var/run/docker.sock:ro" labels: - "traefik.enable=true" - "traefik.log" - "traefik.http.routers.traefik.rule=Host(`traefik.luke-else.co.uk`)" - "traefik.http.routers.traefik.entrypoints=websecure" - "traefik.http.routers.traefik.service=api@internal" - "traefik.http.routers.traefik.tls.certresolver=myresolver" # - "traefik.http.routers.traefik.middlewares=traefik-auth" # - "traefik.http.middlewares.traefik-auth.basicauth.users=user:$$2y$$05$$6m8MvyzgJ4Kl7/3rL4X6VurX1huMas8a7oPB3xRfBjFbGCR8MUi7W" restart: unless-stopped #gitea (222) gitea: image: gitea/gitea:latest container_name: gitea volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "222:22" - "3000:3000" environment: - APP_NAME="gitea" - USER_UID=1000 - USER_GID=1000 - USER=git - RUN_MODE=prod - DOMAIN=test.luke-else.co.uk - SSH_DOMAIN=test.luke-else.co.uk - HTTP_PORT=3000 - ROOT_URL=https://test.luke-else.co.uk - SSH_PORT=222 - SSH_LISTEN_PORT=22 - DB_TYPE=sqlite3 labels: ## Expose Gitea Through Trefik ## - "traefik.enable=true" # <== Enable traefik to proxy this container - "traefik.http.routers.gitea.rule=Host(`test.luke-else.co.uk`)" - "traefik.http.routers.gitea.entrypoints=websecure" - "traefik.http.routers.gitea.tls.certresolver=myresolver" restart: unless-stopped