Files
websocket-qris/docker-compose.yml
2025-10-24 12:33:10 +00:00

137 lines
4.4 KiB
YAML

services:
# Main Application
app:
build:
context: .
dockerfile: Dockerfile
target: prod
restart: unless-stopped
ports:
- "8070:8070"
environment:
# Server Configuration
APP_ENV: production
PORT: 8070
GIN_MODE: release
# Default Database Configuration (PostgreSQL)
DB_CONNECTION: postgres
DB_USERNAME: stim
DB_PASSWORD: stim*RS54
DB_HOST: 10.10.123.165
DB_DATABASE: satu_db
DB_PORT: 5432
DB_SSLMODE: disable
# # satudata Database Configuration (PostgreSQL)
# POSTGRES_SATUDATA_CONNECTION: postgres
# POSTGRES_SATUDATA_USERNAME: stim
# POSTGRES_SATUDATA_PASSWORD: stim*RS54
# POSTGRES_SATUDATA_HOST: 10.10.123.165
# POSTGRES_SATUDATA_DATABASE: satu_db
# POSTGRES_SATUDATA_PORT: 5432
# POSTGRES_SATUDATA_SSLMODE: disable
# # Mongo Database
# MONGODB_MONGOHL7_CONNECTION: mongodb
# MONGODB_MONGOHL7_HOST: 10.10.123.206
# MONGODB_MONGOHL7_PORT: 27017
# MONGODB_MONGOHL7_USER: admin
# MONGODB_MONGOHL7_PASS: stim*rs54
# MONGODB_MONGOHL7_MASTER: master
# MONGODB_MONGOHL7_LOCAL: local
# MONGODB_MONGOHL7_SSLMODE: disable
# # MYSQL Antrian Database
# # MYSQL_ANTRIAN_CONNECTION: mysql
# # MYSQL_ANTRIAN_HOST: mysql_antrian
# # MYSQL_ANTRIAN_USERNAME: www-data
# # MYSQL_ANTRIAN_PASSWORD: www-data
# # MYSQL_ANTRIAN_DATABASE: antrian_rssa
# # MYSQL_ANTRIAN_PORT: 3306
# # MYSQL_ANTRIAN_SSLMODE: disable
# # MYSQL Medical Database
# MYSQL_MEDICAL_CONNECTION: mysql
# MYSQL_MEDICAL_HOST: 10.10.123.163
# MYSQL_MEDICAL_USERNAME: meninjardev
# MYSQL_MEDICAL_PASSWORD: meninjar*RS54
# MYSQL_MEDICAL_DATABASE: healtcare_database
# MYSQL_MEDICAL_PORT: 3306
# MYSQL_MEDICAL_SSLMODE: disable
# Keycloak Configuration
KEYCLOAK_ISSUER: https://auth.rssa.top/realms/sandbox
KEYCLOAK_AUDIENCE: nuxtsim-pendaftaran
KEYCLOAK_JWKS_URL: https://auth.rssa.top/realms/sandbox/protocol/openid-connect/certs
KEYCLOAK_ENABLED: "true"
# BPJS Configuration
BPJS_BASEURL: https://apijkn.bpjs-kesehatan.go.id/vclaim-rest
BPJS_CONSID: 5257
BPJS_USERKEY: 4cf1cbef8c008440bbe9ef9ba789e482
BPJS_SECRETKEY: 1bV363512D
# SatuSehat Configuration
BRIDGING_SATUSEHAT_ORG_ID: 100026555
BRIDGING_SATUSEHAT_FASYAKES_ID: 3573011
BRIDGING_SATUSEHAT_CLIENT_ID: l1ZgJGW6K5pnrqGUikWM7fgIoquA2AQ5UUG0U8WqHaq2VEyZ
BRIDGING_SATUSEHAT_CLIENT_SECRET: Al3PTYAW6axPiAFwaFlpn8qShLFW5YGMgG8w1qhexgCc7lGTEjjcR6zxa06ThPDy
BRIDGING_SATUSEHAT_AUTH_URL: https://api-satusehat.kemkes.go.id/oauth2/v1
BRIDGING_SATUSEHAT_BASE_URL: https://api-satusehat.kemkes.go.id/fhir-r4/v1
BRIDGING_SATUSEHAT_CONSENT_URL: https://api-satusehat.dto.kemkes.go.id/consent/v1
BRIDGING_SATUSEHAT_KFA_URL: https://api-satusehat.kemkes.go.id/kfa-v2
# Swagger Configuration
SWAGGER_TITLE: My Custom API Service
SWAGGER_DESCRIPTION: This is a custom API service for managing various resources
SWAGGER_VERSION: 2.0.0
SWAGGER_CONTACT_NAME: Support Team
SWAGGER_HOST: api.mycompany.com:8080
SWAGGER_BASE_PATH: /api/v2
SWAGGER_SCHEMES: https
# API Configuration
API_TITLE: API Service UJICOBA
API_DESCRIPTION: Dokumentation SWAGGER
API_VERSION: 3.0.0
# WebSocket Configuration
WS_READ_TIMEOUT: 300s
WS_WRITE_TIMEOUT: 30s
WS_PING_INTERVAL: 60s
WS_PONG_TIMEOUT: 70s
WS_HANDSHAKE_TIMEOUT: 45s
WS_READ_BUFFER_SIZE: 8192
WS_WRITE_BUFFER_SIZE: 8192
WS_CHANNEL_BUFFER_SIZE: 512
WS_MESSAGE_QUEUE_SIZE: 5000
WS_MAX_MESSAGE_SIZE: 8192
WS_QUEUE_WORKERS: 10
WS_ACTIVITY_LOG_SIZE: 1000
WS_CLEANUP_INTERVAL: 2m
WS_INACTIVE_TIMEOUT: 5m
WS_SERVER_ID: api-service-v1
WS_ENABLE_COMPRESSION: "true"
WS_ENABLE_METRICS: "true"
WS_ENABLE_MONITORING: "true"
# depends_on:
# psql_bp:
# condition: service_healthy
# mongodb:
# condition: service_started
# mysql_antrian:
# condition: service_healthy
# mysql_medical:
# condition: service_healthy
networks:
- goservice
# volumes:
# postgres_data:
# mongodb_data:
# mysql_antrian_data:
# mysql_medical_data:
networks:
goservice: