File size: 2,446 Bytes
870ab6b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
version: "3.7"
services:
traefik:
image: traefik:2.4.8
container_name: proxy
hostname: proxy
command:
- --entrypoints.http.address=:80
- --entrypoints.https.address=:443
- --providers.docker=true
- --api=false
- --log.level=DEBUG
- --certificatesresolvers.letsencrypt.acme.httpchallenge=true
- --certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=http
- --certificatesresolvers.letsencrypt.acme.email=${EMAIL}
- --certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json
networks:
- ngptnet
labels:
- traefik.enable=true
- traefik.docker.network=ngptnet
- traefik.http.routers.to-https.rule=HostRegexp(`{host:.+}`)
- traefik.http.routers.to-https.entrypoints=http
- traefik.http.routers.to-https.middlewares=to-https
- traefik.http.middlewares.to-https.redirectscheme.scheme=https
- traefik.http.middlewares.basicauth.basicauth.users=${TRAEFIK_USER}:${TRAEFIK_PASSWORD_HASH}
ports:
- 80:80
- 443:443
volumes:
- acmes:/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock:ro
neurogengpt:
image: neurogen/neurogengpt:latest
build:
context: ../
dockerfile: Dockerfile
container_name: neurogengpt
hostname: neurogengpt
env_file:
- .env
networks:
- ngptnet
labels:
- traefik.enable=true
- traefik.docker.network=ngptnet
# WebUI config
- traefik.http.routers.ngpt-webui.rule=Host(`${DOMAIN}`)
- traefik.http.routers.ngpt-webui.entrypoints=https
- traefik.http.routers.ngpt-webui.tls=true
- traefik.http.routers.ngpt-webui.tls.certresolver=${CERT_RESOLVER}
- traefik.http.routers.ngpt-webui.service=ngpt-webui
- traefik.http.services.ngpt-webui.loadbalancer.server.port=7860
- traefik.http.routers.ngpt-webui.middlewares=basicauth
# API config
- traefik.http.routers.ngpt-api.rule=Host(`${DOMAIN}`) && PathPrefix(`/api`)
- traefik.http.routers.ngpt-api.middlewares=api-stripprefix
- traefik.http.middlewares.api-stripprefix.stripprefix.prefixes=/api
- traefik.http.routers.ngpt-api.entrypoints=https
- traefik.http.routers.ngpt-api.service=ngpt-api
- traefik.http.services.ngpt-api.loadbalancer.server.port=1337
volumes:
- ../config.json:/app/config.json
volumes:
acmes:
networks:
ngptnet:
|