# ============================================================================= # SYMBOLS SERVER - LOCAL DEVELOPMENT STACK # ============================================================================= # Symbols server local development environment with PostgreSQL and RustFS. # # Usage: # docker compose -f docker-compose.symbols.yaml up -d # # For production, use compose/docker-compose.stella-ops.yml instead. # ============================================================================= services: postgres: image: postgres:18.1-alpine restart: unless-stopped environment: POSTGRES_USER: symbols POSTGRES_PASSWORD: ${SYMBOLS_DB_PASSWORD:-symbols_dev} POSTGRES_DB: symbols volumes: - postgres-data:/var/lib/postgresql/data ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U symbols -d symbols"] interval: 10s timeout: 5s retries: 5 rustfs: image: registry.stella-ops.org/stellaops/rustfs:2025.09.2 restart: unless-stopped command: ["serve", "--listen", "0.0.0.0:8080", "--root", "/data"] environment: RUSTFS__LOG__LEVEL: info RUSTFS__STORAGE__PATH: /data volumes: - rustfs-data:/data ports: - "9000:8080" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 30s timeout: 10s retries: 3 symbols: image: ghcr.io/stella-ops/symbols-server:edge depends_on: postgres: condition: service_healthy rustfs: condition: service_healthy environment: Storage__Driver: postgres Storage__Postgres__ConnectionString: "Host=postgres;Port=5432;Database=symbols;Username=symbols;Password=${SYMBOLS_DB_PASSWORD:-symbols_dev}" Storage__Provider: S3 Storage__S3__Endpoint: http://rustfs:8080 Storage__S3__Bucket: symbols Storage__S3__UsePathStyle: "true" Logging__Console__FormatterName: json ports: - "8080:8080" healthcheck: test: ["CMD", "curl", "-fsS", "http://localhost:8080/healthz"] interval: 10s timeout: 5s retries: 6 start_period: 10s volumes: postgres-data: rustfs-data: networks: default: name: symbols-ci