From eca6052c9149344e89699f800ae688ada1a96def Mon Sep 17 00:00:00 2001 From: Debian Date: Tue, 26 Aug 2025 10:06:56 +0000 Subject: [PATCH] feat(signer): ajouter sdk_signer (docker-support), route WSS /signer/ws via Nginx --- .gitmodules | 4 ++++ docker-compose.yml | 26 ++++++++++++++++++++++++++ proxy/nginx.conf | 19 ++++++++++++++++++- sdk_signer | 1 + 4 files changed, 49 insertions(+), 1 deletion(-) create mode 160000 sdk_signer diff --git a/.gitmodules b/.gitmodules index 905867e4..6422c9e4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,3 +2,7 @@ path = sdk_storage url = https://git.4nkweb.com/4nk/sdk_storage.git branch = docker-support +[submodule "sdk_signer"] + path = sdk_signer + url = https://git.4nkweb.com/4nk/sdk_signer.git + branch = docker-support diff --git a/docker-compose.yml b/docker-compose.yml index 4a8fac73..12d118e7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -231,6 +231,7 @@ services: depends_on: - sdk_relay_1 - sdk_storage + - sdk_signer volumes: - ./proxy/nginx.conf:/etc/nginx/conf.d/default.conf:ro - ./certs:/etc/nginx/certs:ro @@ -247,6 +248,8 @@ services: build: ./sdk_storage container_name: sdk-storage restart: unless-stopped + entrypoint: > + /bin/sh -lc "chown -R 10001:10001 /app/storage || true; exec /usr/local/bin/sdk_storage --permanent" networks: btcnet: aliases: @@ -255,6 +258,27 @@ services: - sdk_storage_data:/app/storage # Service interne: aucun port exposé + sdk_signer: + build: ./sdk_signer + container_name: sdk-signer + restart: unless-stopped + environment: + - PORT=9090 + - API_KEY=dev-change-me + - RELAY_URLS=ws://sdk_relay_1:8090 + - LOG_LEVEL=info + - DATABASE_PATH=/app/data/server.db + networks: + btcnet: + aliases: + - sdk_signer + depends_on: + sdk_relay_1: + condition: service_started + volumes: + - sdk_signer_data:/app/data + # Service interne: aucun port exposé + volumes: bitcoin_data: name: 4nk_node_bitcoin_data @@ -268,6 +292,8 @@ volumes: name: 4nk_node_sdk_relay_3_data sdk_storage_data: name: 4nk_node_sdk_storage_data + sdk_signer_data: + name: 4nk_node_sdk_signer_data networks: btcnet: diff --git a/proxy/nginx.conf b/proxy/nginx.conf index 838bfb44..2889a230 100644 --- a/proxy/nginx.conf +++ b/proxy/nginx.conf @@ -48,10 +48,13 @@ server { # sdk_storage HTTP (tide 8081) location /storage/ { proxy_pass http://sdk_storage:8081/; - proxy_set_header Host $host; + proxy_http_version 1.1; + proxy_set_header Host sdk_storage; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; + proxy_read_timeout 60s; + proxy_send_timeout 60s; } # WebSocket sdk_relay @@ -68,6 +71,20 @@ server { proxy_send_timeout 86400; } + # WebSocket sdk_signer (port 9090) + location /signer/ws/ { + proxy_pass http://sdk_signer:9090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_read_timeout 86400; + proxy_send_timeout 86400; + } + # Healthcheck simple location = /health { return 200; diff --git a/sdk_signer b/sdk_signer new file mode 160000 index 00000000..ca198149 --- /dev/null +++ b/sdk_signer @@ -0,0 +1 @@ +Subproject commit ca198149c2c65c3c7c1581ed65723c37a4b5db16