···
165
+
# PostgreSQL Database for PLC Directory (Port 5436)
166
+
# Separate database for local PLC directory to avoid conflicts
169
+
container_name: coves-dev-postgres-plc
173
+
POSTGRES_DB: plc_dev
174
+
POSTGRES_USER: plc_user
175
+
POSTGRES_PASSWORD: plc_password
177
+
- postgres-plc-data:/var/lib/postgresql/data
181
+
test: ["CMD-SHELL", "pg_isready -U plc_user -d plc_dev"]
188
+
# Local PLC Directory - For E2E testing without polluting production plc.directory
189
+
# This allows dev mode DID registration for testing community provisioning
192
+
# docker-compose --profile plc up postgres-plc plc-directory
193
+
# Or with all services: docker-compose --profile jetstream --profile plc up
195
+
# Configuration in your tests:
196
+
# PLC_DIRECTORY_URL=http://localhost:3002
197
+
# IS_DEV_ENV=false # Use production mode but point to local PLC
199
+
image: node:18-alpine
200
+
container_name: coves-dev-plc
202
+
- "3002:3000" # PLC directory API
206
+
if [ ! -d '/app/.git' ]; then
207
+
echo 'First run: Installing PLC directory...' &&
208
+
apk add --no-cache git python3 make g++ yarn &&
209
+
git clone https://github.com/did-method-plc/did-method-plc.git . &&
210
+
yarn install --frozen-lockfile &&
212
+
echo 'PLC directory installed successfully!'
214
+
cd packages/server &&
218
+
# Point to dedicated PLC PostgreSQL database
219
+
DATABASE_URL: postgresql://plc_user:plc_password@postgres-plc:5432/plc_dev?sslmode=disable
221
+
# Development settings
223
+
LOG_ENABLED: "true"
225
+
LOG_DESTINATION: "1"
226
+
NODE_ENV: development
228
+
# API configuration
231
+
# Persist the PLC repo so we don't rebuild every time
232
+
- plc-app-data:/app
237
+
condition: service_healthy
239
+
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
340
+
name: coves-dev-postgres-plc-data
name: coves-dev-jetstream-data
346
+
name: coves-dev-plc-app-data