-
-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
38 lines (37 loc) · 1.48 KB
/
Copy pathdocker-compose.yml
File metadata and controls
38 lines (37 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
version: '3.8'
services:
speculos:
image: ghcr.io/ledgerhq/speculos:latest
container_name: metamask-speculos
ports:
- '${SPECULOS_APDU_PORT:-9998}:9999'
- '${SPECULOS_API_PORT:-5001}:5000'
volumes:
- ./apps:/speculos/apps
- ./nvram/main_nvram.bin:/speculos/main_nvram.bin
environment:
- DISPLAY=:99
command: >
--model ${SPECULOS_DEVICE:-nanosp}
/speculos/apps/${SPECULOS_ELF_FILENAME:-ethereum-nanosp.elf}
--seed "${SPECULOS_SEED:-grit essence story volume tip entry situate found february olympic monitor hybrid}"
--display ${SPECULOS_DISPLAY:-headless}
--apdu-port 9999
--api-port 5000
--load-nvram
healthcheck:
test:
- CMD-SHELL
- python3 -c "import urllib.request; urllib.request.urlopen('http://localhost:5000/')"
interval: 2s
timeout: 3s
retries: 10
---
# Note:
# - SPECULOS_APDU_PORT / SPECULOS_API_PORT are host-side ports (defaults 9998 / 5001)
# - Container listens on 9999 (APDU) and 5000 (API) internally
# - SPECULOS_DEVICE selects the device model (nanosp, nanox, stax, flex)
# - SPECULOS_ELF_FILENAME is the ELF filename inside /speculos/apps/ (NOT the host path)
# - SPECULOS_SEED sets the mnemonic for deterministic accounts (DockerManager / Speculos seed option)
# - SPECULOS_DISPLAY sets the Speculos display backend (DockerManager display option, default headless)
# - Defaults to Nano S+ (nanosp) for local development without SPECULOS_DEVICE set