diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..5d75e41 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,50 @@ +volumes: + redis_data: + +services: + traefik: + image: traefik:latest + container_name: traefik + ports: + - "80:80" + - "443:443" + volumes: + - "/var/run/docker.sock:/var/run/docker.sock" + restart: always + command: + - "--providers.docker=true" + - "--providers.docker.exposedByDefault=false" + - "--entrypoints.web.address=:80" + - "--entrypoints.web-secure.address=:443" + - "--accesslog=true" + - "--entrypoints.web.http.redirections.entryPoint.to=web-secure" + - "--entrypoints.web.http.redirections.entryPoint.scheme=https" + - "--entrypoints.web.http.redirections.entrypoint.permanent=true" + + redis: + image: redis:latest + container_name: redis + restart: always + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 30s + timeout: 10s + retries: 3 + volumes: + - redis_data:/data + + api: + labels: + - "traefik.enable=true" + - "traefik.http.routers.api.entrypoints=web-secure" + - "traefik.http.routers.api.rule=Host(`localhost`) || Host(`127.0.0.1`)" + - "traefik.http.routers.api.tls=true" + - "traefik.http.services.api.loadbalancer.server.port=8080" + image: siteworxpro/top-wallpaper:v1.3.0 + container_name: top-wallpaper + environment: + REDIS_URL: "redis" + CORS_ORIGINS: "https://localhost" + depends_on: + redis: + condition: service_healthy