services: traefik: image: traefik:v3.5.3 restart: unless-stopped container_name: ti-traefik command: - --configFile=/etc/traefik/traefik.yml ports: - "443:443" - "80:80" volumes: - /var/run/docker.sock:/var/run/docker.sock - ./conf/traefik.yml:/etc/traefik/traefik.yml:ro - ./conf/tls.yml:/etc/traefik/dynamic/tls.yml:ro - ./conf/middlewares.yml:/etc/traefik/dynamic/middlewares.yml:ro - ./certs/:/certs/:ro cache: image: bitnami/redis:latest restart: unless-stopped container_name: ti-cache env_file: - .env volumes: - ./.data/redis:/data command: /opt/bitnami/scripts/redis/run.sh --maxmemory 0 tiny-instancer: build: . image: tiny-instancer:latest restart: unless-stopped container_name: tiny-instancer depends_on: - traefik - cache env_file: - .env volumes: - ./challenges.yaml:/app/challenges.yaml:ro - /var/run/docker.sock:/var/run/docker.sock labels: - "traefik.enable=true" # https - "traefik.http.routers.ti-instance.rule=Host(`${INSTANCES_HOST}`)" - "traefik.http.routers.ti-instance.entrypoints=websecure" - "traefik.http.routers.ti-instance.tls=true" - "traefik.http.routers.ti-instance.service=ti-instance" # service - "traefik.http.services.ti-instance.loadbalancer.server.port=${BIND_PORT}" # redirect from http - "traefik.http.routers.ti-instance-redirect.rule=Host(`${INSTANCES_HOST}`)" - "traefik.http.routers.ti-instance-redirect.entrypoints=web" - "traefik.http.routers.ti-instance-redirect.middlewares=${TRAEFIK_PERMANENT_REDIRECT_MIDDLEWARE_NAME}"