# Meezi platform admin — use WITH main stack (shared Postgres + Redis) # # docker compose up -d postgres redis # docker compose -f docker-compose.yml -f docker-compose.admin.yml up -d --build # # URLs: # Admin web http://localhost:3102/fa/admin/login # Admin API http://localhost:5081/swagger # Health http://localhost:5081/health services: admin-api: build: context: . dockerfile: docker/admin-api/Dockerfile args: DOTNET_SDK_IMAGE: ${DOTNET_SDK_IMAGE:-mcr.microsoft.com/dotnet/sdk:10.0} DOTNET_ASPNET_IMAGE: ${DOTNET_ASPNET_IMAGE:-mcr.microsoft.com/dotnet/aspnet:10.0} container_name: meezi-admin-api restart: unless-stopped depends_on: postgres: condition: service_healthy redis: condition: service_healthy environment: ASPNETCORE_ENVIRONMENT: Development ASPNETCORE_URLS: http://+:8080 RUN_MIGRATIONS: "false" ConnectionStrings__DefaultConnection: Host=postgres;Port=5432;Database=meezi;Username=meezi;Password=meezi_local_pass ConnectionStrings__Redis: redis:6379 Cors__Origins__0: http://localhost:${ADMIN_WEB_PORT:-3102} Cors__Origins__1: http://localhost:3101 Kavenegar__ApiKey: "" ports: - "${ADMIN_API_PORT:-5081}:8080" healthcheck: test: ["CMD-SHELL", "bash -c 'cat /dev/tcp/127.0.0.1/8080' || exit 1"] interval: 10s timeout: 5s retries: 12 start_period: 40s admin-web: build: context: . dockerfile: docker/admin-web/Dockerfile args: NEXT_PUBLIC_ADMIN_API_URL: ${NEXT_PUBLIC_ADMIN_API_URL:-http://localhost:5081} container_name: meezi-admin-web restart: unless-stopped depends_on: admin-api: condition: service_healthy environment: PORT: "3000" HOSTNAME: 0.0.0.0 ports: - "${ADMIN_WEB_PORT:-3102}:3000"