feat: base go mkiso

This commit is contained in:
2026-06-05 08:11:44 +07:00
commit 983667a76a
63 changed files with 5322 additions and 0 deletions

44
config.example.yaml Normal file
View File

@@ -0,0 +1,44 @@
# mkiso-server configuration
# Copy to config.yaml and adjust for your environment
server:
port: 8080
read_timeout: 300s # ISO generation can take minutes
write_timeout: 600s
auth:
enabled: false # Stage 1: no auth. Stage 2: set to true
api_key: "" # Stage 2: shared API key
dcmtk:
storescp: "/data/dcmtk-bin/storescp"
movescu: "/data/dcmtk-bin/movescu"
storescu: "/data/dcmtk-bin/storescu"
pacs:
ae_title: "ABPACS"
host: "localhost"
port: 11112
our_ae:
ae_title: "CDRECORD"
base_port: 10104 # storescp listen port range start
port_range: 100 # 10104-10203 (100 unique ports for concurrent requests)
patient_api:
base_url: "http://his-server/api"
endpoint: "/patient/by-accession"
auth_type: "api_key" # "jwt", "api_key", or "none"
auth_header: "X-API-Key"
auth_token: ""
timeout: 10s
retry: 3
retry_backoff: 500ms
cd_publisher:
host: "172.16.0.120" # CD Publisher server (for print/relay)
port: 104 # DICOM port on CD Publisher
iso:
microdicom_path: "/var/www/html/microdicom"
temp_dir: "/tmp"