39 lines
1.4 KiB
YAML
39 lines
1.4 KiB
YAML
services:
|
|
web:
|
|
build: .
|
|
container_name: deploy-panel
|
|
restart: always
|
|
environment:
|
|
- CF_API_TOKEN=${CF_API_TOKEN}
|
|
- CF_ZONE_ID=${CF_ZONE_ID}
|
|
- SELF_CONTAINER_NAME=${SELF_CONTAINER_NAME}
|
|
- PANEL_API_TOKEN=${PANEL_API_TOKEN}
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
networks:
|
|
- proxy
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=proxy
|
|
- traefik.http.services.deploy-panel.loadbalancer.server.port=5000
|
|
|
|
# Web arayuzu (Basic Auth korumali)
|
|
- traefik.http.routers.deploy-panel-ui.rule=Host(`panel.akalan.dev`)
|
|
- traefik.http.routers.deploy-panel-ui.entrypoints=websecure
|
|
- traefik.http.routers.deploy-panel-ui.tls.certresolver=letsencrypt
|
|
- traefik.http.routers.deploy-panel-ui.middlewares=deploy-panel-auth
|
|
- traefik.http.routers.deploy-panel-ui.service=deploy-panel
|
|
|
|
# API (Bearer token korumali, Flask icinde kontrol ediliyor)
|
|
- traefik.http.routers.deploy-panel-api.rule=Host(`panel.akalan.dev`) && PathPrefix(`/api`)
|
|
- traefik.http.routers.deploy-panel-api.entrypoints=websecure
|
|
- traefik.http.routers.deploy-panel-api.tls.certresolver=letsencrypt
|
|
- traefik.http.routers.deploy-panel-api.service=deploy-panel
|
|
|
|
- traefik.http.middlewares.deploy-panel-auth.basicauth.users=admin:$$apr1$$KYMJ2WN5$$Y7cgWSwTwxqXuO3.8C8Rb/
|
|
|
|
networks:
|
|
proxy:
|
|
name: proxy
|
|
external: true
|