Files
mantrae/compose.yml
2024-08-29 20:01:46 +02:00

62 lines
2.2 KiB
YAML

# Example docker-compose.yml file for mantrae
# Check the mantrae logs after first start for the admin password
services:
mantrae:
image: ghcr.io/mizuchilabs/mantrae:latest
container_name: mantrae
command:
- --url=http://traefik:8080 # if traefik is running on the same host
- --username=admin # use if you want to enable basicauth on traefik
- --password=admin
ports:
- 3000:3000 # remove this if you want to use traefik
labels:
- traefik.enable=true
- traefik.http.routers.mantrae.rule=Host(`mantrae.example.com`)
networks:
- proxy
restart: always
traefik:
image: docker.io/traefik:latest
container_name: traefik
ports:
- 80:80
- 443:443
- 8080:8080
volumes:
- ./traefik:/etc/traefik
- /var/run/docker.sock:/var/run/docker.sock
environment:
- CF_DNS_API_TOKEN=xxx # Set cloudflare token
networks:
- proxy
command:
- --log.level=INFO
- --api.dashboard=true
- --api.insecure=true # Remove me later
- --entrypoints.web.address=:80
- --entrypoints.web.http.redirections.entryPoint.to=websecure
- --entrypoints.web.http.redirections.entryPoint.scheme=https
- --entrypoints.websecure.address=:443
- --entrypoints.websecure.asDefault=true
- --entrypoints.websecure.http.tls.certresolver=letsencrypt # Set the default cert resolver
- --serversTransport.insecureSkipVerify=true
- --providers.docker=true
- --providers.docker.exposedByDefault=false
- --providers.docker.watch=true
- --providers.http.endpoint=http://mantrae:3000
- --certificatesresolvers.letsencrypt.acme.email=your@email.com
- --certificatesresolvers.letsencrypt.acme.storage=/etc/traefik/acme.json
- --certificatesresolvers.letsencrypt.acme.dnschallenge.provider=cloudflare
- --certificatesresolvers.letsencrypt.acme.dnschallenge.delaybeforecheck=0
labels:
- traefik.enable=true
- traefik.http.routers.dashboard.rule=Host(`traefik.example.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))
- traefik.http.routers.dashboard.service=api@internal
- traefik.http.routers.dashboard.entrypoints=websecure
restart: always
networks:
proxy: