blob: ef1c549b76529e2f8e03e30d054c94b661b90f5b [file]
# Shared substrate ingress — ONE instance for all projects. Operates on ~/.airavata-devstack.
# Bound to 127.0.0.1 only. Cert + router fragments are dropped into traefik/dynamic by ensure.
name: airavata-devstack-ingress
services:
proxy:
image: tecnativa/docker-socket-proxy:0.3.0
container_name: airavata-devstack-proxy
environment: { CONTAINERS: 1, NETWORKS: 1, SERVICES: 1, TASKS: 1, ENDPOINTS: 1, INFO: 1 }
volumes: [ "/var/run/docker.sock:/var/run/docker.sock:ro" ]
networks: [ ingress ]
restart: unless-stopped
traefik:
# v3.7+ negotiates the Docker API version. v3.3 was stuck at the ancient default 1.24,
# which colima's daemon (min API 1.40) rejects, breaking the docker provider entirely.
# Do NOT downgrade below v3.7.
image: traefik:v3.7
container_name: airavata-devstack-traefik
depends_on: [ proxy ]
ports: [ "127.0.0.1:80:80", "127.0.0.1:443:443" ]
volumes:
- "${DEVSTACK_HOME}/traefik/traefik.yml:/etc/traefik/traefik.yml:ro"
- "${DEVSTACK_HOME}/traefik/dynamic:/etc/traefik/dynamic:ro"
- "${DEVSTACK_HOME}/certs:/certs:ro"
networks: [ ingress ]
restart: unless-stopped
networks:
ingress:
name: airavata-devstack-ingress
attachable: true