78 lines
2.2 KiB
YAML
78 lines
2.2 KiB
YAML
# =============================================================================
|
|
# 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
|