version: '3.8' services: canva-connector-db: image: postgres:16-alpine environment: - POSTGRES_USER=canva - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-change-me} - POSTGRES_DB=canva_connector volumes: - canva-connector-db:/var/lib/postgresql/data restart: unless-stopped canva-connector-dev: build: context: . dockerfile: Dockerfile.dev ports: - "3000:3000" command: ["sh", "-c", "pnpm install --shamefully-hoist && pnpm dev --host"] environment: - CI=true - NODE_ENV=development - VITE_CANVA_CLIENT_ID=${CANVA_CLIENT_ID:-} - VITE_CANVA_CLIENT_SECRET=${CANVA_CLIENT_SECRET:-} stdin_open: true tty: true restart: unless-stopped canva-connector-canva-app: build: context: . dockerfile: Dockerfile.canva-app args: VITE_API_BASE: ${VITE_API_BASE:-} ports: - "8081:8080" environment: - NODE_ENV=production restart: unless-stopped canva-connector-api: build: context: . dockerfile: Dockerfile.api ports: - "4000:4000" environment: - PORT=4000 - CANVA_CLIENT_ID=${CANVA_CLIENT_ID:-} - CANVA_CLIENT_SECRET=${CANVA_CLIENT_SECRET:-} - CANVA_REDIRECT_URI=${CANVA_REDIRECT_URI:-http://127.0.0.1:4000/auth/canva/callback} - FRONTEND_SUCCESS_URL=${FRONTEND_SUCCESS_URL:-http://localhost:3000/connect} - AUTH_JWT_SECRET=${AUTH_JWT_SECRET:-} - AUTH_JWT_TTL_HOURS=${AUTH_JWT_TTL_HOURS:-24} - AUTH_USER_STORE_PATH=${AUTH_USER_STORE_PATH:-data/users.json} - USER_SETTINGS_STORE_PATH=${USER_SETTINGS_STORE_PATH:-data/user_settings.json} - ALLOW_SESSION_AUTH=${ALLOW_SESSION_AUTH:-true} - DATABASE_URL=${DATABASE_URL} - ENCRYPTION_KEY=${ENCRYPTION_KEY:-} depends_on: - canva-connector-db restart: unless-stopped volumes: canva-connector-db: