Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 22 additions & 3 deletions pmoves/docker-compose.ui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,27 @@ services:
context: ./ui
dockerfile: Dockerfile
restart: unless-stopped
env_file: [env.shared.generated, env.shared, env.tier-ui, .env.generated, .env.local]
env_file:
- path: env.shared.generated
required: false
- path: env.shared
required: false
- path: env.tier-ui
required: false
Comment on lines +18 to +21

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep shared UI env files required

This expansion makes env.shared and env.tier-ui optional for pmoves-ui, not just the per-node .env.local file. The intended fix below for the Grayjay services only marks .env.local optional, while this service can now come up on a node where env-setup was skipped or env.tier-ui is missing, leaving Supabase keys/URLs empty and causing /api/health to degrade instead of failing fast at Compose config load. Keep the shared/tier files in short form (or required: true) and reserve required: false for .env.local.

AGENTS.md reference: pmoves/AGENTS.md:L214-L214

Useful? React with 👍 / 👎.

- path: .env.generated
required: false
# .env.local is a per-node opt-in; short-form listing made it REQUIRED
# and hard-failed bring-up on nodes without it.
- path: .env.local
required: false
environment:
- NODE_ENV=production
- HOSTNAME=0.0.0.0
# Server-side Supabase client (health check, service routes): the shared
# env carries host-oriented SUPABASE_URL=http://localhost:8000, which is
# unreachable from inside the container. supabaseServer.ts checks
# SUPABASE_SERVICE_URL first for exactly this split.
- SUPABASE_SERVICE_URL=${PMOVES_UI_SUPABASE_SERVICE_URL:-http://supabase-kong:8000}
# Room manifests — the rooms API reads catalog.json + the per-room
# manifests from this directory. Without it, the Rooms tab on the
# home page renders "Room manifests are not available yet" and
Expand Down Expand Up @@ -303,7 +320,8 @@ services:
- env.shared.generated
- env.shared
- .env.generated
- .env.local
- path: .env.local
required: false
environment:
- JELLYFIN_PUBLIC_URL=${JELLYFIN_PUBLIC_BASE_URL:-http://localhost:8096}
- GRAYJAY_PLUGIN_HOST_PUBLIC_URL=${GRAYJAY_PLUGIN_HOST_PUBLIC_URL:-http://localhost:9096}
Expand Down Expand Up @@ -344,7 +362,8 @@ services:
- env.shared.generated
- env.shared
- .env.generated
- .env.local
- path: .env.local
required: false
environment:
- GRAYJAY_PLUGIN_REGISTRY_URL=${GRAYJAY_PLUGIN_REGISTRY_URL:-http://grayjay-plugin-host:8080/plugins}
- GRAYJAY_SERVER_BIND=${GRAYJAY_SERVER_BIND:-127.0.0.1}
Expand Down
Loading