continuous-integration/drone/push Build is failing
Publish nginx/API images from CI and deploy on the Pi with shop.zea.lt, admin.zea.lt, and api.iled.zea.lt. Co-authored-by: Cursor <cursoragent@cursor.com>
118 lines
3.4 KiB
YAML
118 lines
3.4 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: iled-postgres
|
|
restart: always
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB:-iled}
|
|
POSTGRES_USER: ${POSTGRES_USER:-iled}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-iled123}
|
|
volumes:
|
|
- iled_pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- iled
|
|
- homelab
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: iled-redis
|
|
restart: always
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- iled
|
|
|
|
openobserve:
|
|
image: public.ecr.aws/zinclabs/openobserve:latest
|
|
container_name: iled-openobserve
|
|
restart: always
|
|
environment:
|
|
ZO_ROOT_USER_EMAIL: ${ZO_ROOT_USER_EMAIL:-root@iled.local}
|
|
ZO_ROOT_USER_PASSWORD: ${ZO_ROOT_USER_PASSWORD:-Complexpass#123}
|
|
ZO_DATA_DIR: /data
|
|
volumes:
|
|
- iled_openobserve:/data
|
|
networks:
|
|
- iled
|
|
|
|
api:
|
|
image: registry.zea.lt/miczek/iled-api:latest
|
|
container_name: iled-api
|
|
restart: always
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Production
|
|
ConnectionStrings__DefaultConnection: "Host=postgres;Port=5432;Database=${POSTGRES_DB:-iled};Username=${POSTGRES_USER:-iled};Password=${POSTGRES_PASSWORD:-iled123}"
|
|
ConnectionStrings__Redis: "redis:6379"
|
|
Cors__Origins__0: "https://shop.zea.lt"
|
|
Cors__Origins__1: "https://admin.zea.lt"
|
|
OpenTelemetry__OtlpEndpoint: "http://openobserve:5080/api/default"
|
|
OpenTelemetry__OtlpHeaders: "Authorization=Basic cm9vdEBpbGVkLmxvY2FsOkNvbXBsZXhwYXNzIzEyMw=="
|
|
OpenTelemetry__ServiceName: "iled-api"
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
networks:
|
|
- iled
|
|
- homelab
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=homelab"
|
|
- "traefik.http.routers.iled-api.rule=Host(`api.iled.zea.lt`)"
|
|
- "traefik.http.routers.iled-api.entrypoints=websecure"
|
|
- "traefik.http.routers.iled-api.tls.certresolver=leresolver"
|
|
- "traefik.http.services.iled-api.loadbalancer.server.port=8080"
|
|
|
|
shop:
|
|
image: registry.zea.lt/miczek/iled-shop:latest
|
|
container_name: iled-shop
|
|
restart: always
|
|
depends_on:
|
|
- api
|
|
networks:
|
|
- homelab
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=homelab"
|
|
- "traefik.http.routers.iled-shop.rule=Host(`shop.zea.lt`)"
|
|
- "traefik.http.routers.iled-shop.entrypoints=websecure"
|
|
- "traefik.http.routers.iled-shop.tls.certresolver=leresolver"
|
|
- "traefik.http.services.iled-shop.loadbalancer.server.port=80"
|
|
|
|
admin:
|
|
image: registry.zea.lt/miczek/iled-admin:latest
|
|
container_name: iled-admin
|
|
restart: always
|
|
depends_on:
|
|
- api
|
|
networks:
|
|
- homelab
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=homelab"
|
|
- "traefik.http.routers.iled-admin.rule=Host(`admin.zea.lt`)"
|
|
- "traefik.http.routers.iled-admin.entrypoints=websecure"
|
|
- "traefik.http.routers.iled-admin.tls.certresolver=leresolver"
|
|
- "traefik.http.services.iled-admin.loadbalancer.server.port=80"
|
|
|
|
volumes:
|
|
iled_pgdata:
|
|
iled_openobserve:
|
|
|
|
networks:
|
|
iled:
|
|
name: iled
|
|
driver: bridge
|
|
homelab:
|
|
name: homelab
|
|
external: true
|