···
+
# PostgreSQL Database for PLC Directory (Port 5436)
+
# Separate database for local PLC directory to avoid conflicts
+
container_name: coves-dev-postgres-plc
+
POSTGRES_USER: plc_user
+
POSTGRES_PASSWORD: plc_password
+
- postgres-plc-data:/var/lib/postgresql/data
+
test: ["CMD-SHELL", "pg_isready -U plc_user -d plc_dev"]
+
# Local PLC Directory - For E2E testing without polluting production plc.directory
+
# This allows dev mode DID registration for testing community provisioning
+
# docker-compose --profile plc up postgres-plc plc-directory
+
# Or with all services: docker-compose --profile jetstream --profile plc up
+
# Configuration in your tests:
+
# PLC_DIRECTORY_URL=http://localhost:3002
+
# IS_DEV_ENV=false # Use production mode but point to local PLC
+
container_name: coves-dev-plc
+
- "3002:3000" # PLC directory API
+
if [ ! -d '/app/.git' ]; then
+
echo 'First run: Installing PLC directory...' &&
+
apk add --no-cache git python3 make g++ yarn &&
+
git clone https://github.com/did-method-plc/did-method-plc.git . &&
+
yarn install --frozen-lockfile &&
+
echo 'PLC directory installed successfully!'
+
# Point to dedicated PLC PostgreSQL database
+
DATABASE_URL: postgresql://plc_user:plc_password@postgres-plc:5432/plc_dev?sslmode=disable
+
# Persist the PLC repo so we don't rebuild every time
+
condition: service_healthy
+
test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000/"]
# Indigo Relay (BigSky) - OPTIONAL for local dev
# WARNING: BigSky is designed to crawl the entire atProto network!
# For local dev, consider using direct PDS firehose instead (see AppView config below)
···
name: coves-dev-postgres-data
name: coves-test-postgres-data
+
name: coves-dev-postgres-plc-data
name: coves-dev-jetstream-data
+
name: coves-dev-plc-app-data