widgettdc-api / .devcontainer /docker-compose.yml
Kraft102's picture
fix: sql.js Docker/Alpine compatibility layer for PatternMemory and FailureMemory
5a81b95
# A minimal Docker Compose file for the Dev Container environment.
# It only starts the necessary data services and the dev container itself,
# completely bypassing the complex production builds from the root docker-compose.yml.
version: '3.8'
services:
# The Development Environment Container
dev-environment:
image: mcr.microsoft.com/devcontainers/typescript-node:1-20-bullseye
volumes:
- ..:/workspaces/WidgeTDC:cached
command: sleep infinity
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
neo4j:
condition: service_healthy
networks:
- widgetdc-network
environment:
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432
POSTGRES_USER: widgetdc
POSTGRES_PASSWORD: widgetdc_dev
POSTGRES_DB: widgetdc
REDIS_HOST: redis
REDIS_PORT: 6379
NEO4J_URI: bolt://neo4j:7687
NEO4J_USER: neo4j
NEO4J_PASSWORD: password
# --- DATA SERVICES (copied from the original docker-compose.yml) ---
postgres:
image: ankane/pgvector:latest
container_name: widgetdc-postgres-dev
environment:
POSTGRES_USER: widgetdc
POSTGRES_PASSWORD: widgetdc_dev
POSTGRES_DB: widgetdc
ports:
- "5433:5432"
volumes:
- postgres_data_dev:/var/lib/postgresql/data
networks:
- widgetdc-network
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U widgetdc -d widgetdc"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: widgetdc-redis-dev
ports:
- "6379:6379"
volumes:
- redis_data_dev:/data
command: redis-server --appendonly yes
networks:
- widgetdc-network
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
neo4j:
image: neo4j:5.15
container_name: widgetdc-neo4j-dev
hostname: neo4j-dev
ports:
- "7474:7474"
- "7687:7687"
environment:
NEO4J_AUTH: neo4j/password
NEO4J_PLUGINS: '["apoc"]'
volumes:
- neo4j_data_dev:/data
networks:
- widgetdc-network
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "cypher-shell -u neo4j -p password 'RETURN 1' || exit 1"]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
networks:
widgetdc-network:
name: widgetdc-network-dev
volumes:
postgres_data_dev:
redis_data_dev:
neo4j_data_dev: