feat: add docker

This commit is contained in:
2026-05-04 14:33:12 +03:00
parent 295c3a9d6d
commit 2cd058721c
2 changed files with 87 additions and 0 deletions

59
docker-compose.yml Normal file
View File

@@ -0,0 +1,59 @@
services:
api:
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
ports:
- '${API_PORT:-3001}:${API_PORT:-3001}'
environment:
API_PORT: '${API_PORT:-3001}'
LOG_LEVEL: '${LOG_LEVEL:-INFO}'
DB_HOST: '${DB_HOST:-postgres}'
DB_PORT: '${DB_PORT:-5432}'
DB_USER: '${DB_USER:-cryptowallet}'
DB_PASSWORD: '${DB_PASSWORD:-cryptowallet}'
DB_NAME: '${DB_NAME:-cryptowallet}'
VAULT_ADDR: '${VAULT_ADDR:-}'
VAULT_ROLE_ID: '${VAULT_ROLE_ID:-}'
VAULT_SECRET_ID: '${VAULT_SECRET_ID:-}'
VAULT_MOUNT_POINT: '${VAULT_MOUNT_POINT:-dev-secrets}'
VAULT_SECRET_PATH: '${VAULT_SECRET_PATH:-database}'
VAULT_JWT_KID_PATH: '${VAULT_JWT_KID_PATH:-jwt/kid}'
VAULT_JWT_KIDS_PREFIX: '${VAULT_JWT_KIDS_PREFIX:-jwt/kids}'
VAULT_CSRF_PATH: '${VAULT_CSRF_PATH:-}'
JWT_ALGORITHM: '${JWT_ALGORITHM:-RS256}'
JWT_ISSUER: '${JWT_ISSUER:-auth-service}'
JWT_AUDIENCE: '${JWT_AUDIENCE:-elcsa}'
CORS_ORIGINS: '${CORS_ORIGINS:-}'
CORS_ALLOW_CREDENTIALS: '${CORS_ALLOW_CREDENTIALS:-true}'
RELAY_API_KEY: '${RELAY_API_KEY:-}'
TRON_API_KEY: '${TRON_API_KEY:-}'
JUPITER_API_KEY: '${JUPITER_API_KEY:-}'
JUPITER_REFERRAL_ACCOUNT: '${JUPITER_REFERRAL_ACCOUNT:-}'
JUPITER_FEE_BPS: '${JUPITER_FEE_BPS:-70}'
ETHERSCAN_API_KEY: '${ETHERSCAN_API_KEY:-}'
BSCSCAN_API_KEY: '${BSCSCAN_API_KEY:-}'
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: '${DB_USER:-cryptowallet}'
POSTGRES_PASSWORD: '${DB_PASSWORD:-cryptowallet}'
POSTGRES_DB: '${DB_NAME:-cryptowallet}'
ports:
- '${POSTGRES_PORT:-5432}:5432'
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL','pg_isready -U "$$POSTGRES_USER" -d "$$POSTGRES_DB"']
interval: 5s
timeout: 5s
retries: 10
volumes:
postgres-data: