Files
cdk/docker-compose.yaml
C 28a01398fd Add PostgreSQL support for mint and wallet (#878)
* Add PostgreSQL support for mint and wallet

* Fixed bug to avoid empty calls `get_proofs_states`

* Fixed SQL bug

* Avoid redudant clone()

* Add more tests for the storage layer

* Minor enhacements

* Add a generic function to execute db operations

This function would log slow operations and log errors

* Provision a postgres db for tests

* Update deps for msrv

* Add postgres to pipeline

* feat: add psgl to example and docker

* feat: db url fmt

---------

Co-authored-by: thesimplekid <tsk@thesimplekid.com>
2025-08-18 17:45:11 +01:00

81 lines
2.4 KiB
YAML

services:
# CDK Mint service
mintd:
build:
context: .
dockerfile: Dockerfile
container_name: mint
ports:
- "8085:8085"
environment:
- CDK_MINTD_URL=https://example.com
- CDK_MINTD_LN_BACKEND=fakewallet
- CDK_MINTD_LISTEN_HOST=0.0.0.0
- CDK_MINTD_LISTEN_PORT=8085
- CDK_MINTD_MNEMONIC=
# Database configuration - choose one:
# Option 1: SQLite (embedded, no additional setup needed)
- CDK_MINTD_DATABASE=sqlite
# Option 2: ReDB (embedded, no additional setup needed)
# - CDK_MINTD_DATABASE=redb
# Option 3: PostgreSQL (requires postgres service, enable with: docker-compose --profile postgres up)
# - CDK_MINTD_DATABASE=postgres
# - CDK_MINTD_DATABASE_URL=postgresql://cdk_user:cdk_password@postgres:5432/cdk_mint
# Cache configuration
- CDK_MINTD_CACHE_BACKEND=memory
# For Redis cache (requires redis service, enable with: docker-compose --profile redis up):
# - CDK_MINTD_CACHE_REDIS_URL=redis://redis:6379
# - CDK_MINTD_CACHE_REDIS_KEY_PREFIX=cdk-mintd
command: ["cdk-mintd"]
# Uncomment when using PostgreSQL:
# depends_on:
# - postgres
# PostgreSQL database service
# Enable with: docker-compose --profile postgres up
# postgres:
# image: postgres:16-alpine
# container_name: mint_postgres
# restart: unless-stopped
# profiles:
# - postgres
# environment:
# - POSTGRES_USER=cdk_user
# - POSTGRES_PASSWORD=cdk_password
# - POSTGRES_DB=cdk_mint
# - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
# ports:
# - "5432:5432"
# volumes:
# - postgres_data:/var/lib/postgresql/data
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -U cdk_user -d cdk_mint"]
# interval: 10s
# timeout: 5s
# retries: 5
# Redis cache service (optional)
# Enable with: docker-compose --profile redis up
# redis:
# image: redis:7-alpine
# container_name: mint_redis
# restart: unless-stopped
# profiles:
# - redis
# ports:
# - "6379:6379"
# volumes:
# - redis_data:/data
# command: redis-server --save 60 1 --loglevel warning
# healthcheck:
# test: ["CMD", "redis-cli", "ping"]
# interval: 10s
# timeout: 3s
# retries: 5
volumes:
postgres_data:
driver: local
# redis_data:
# driver: local