services: arkd: image: asoltys/arkd container_name: arkd restart: unless-stopped depends_on: - arkd-wallet ports: - "7070:7070" environment: - ARKD_LOG_LEVEL=6 - ARKD_NO_MACAROONS=true - ARKD_VTXO_TREE_EXPIRY=100 - ARKD_SCHEDULER_TYPE=block - ARKD_UNILATERAL_EXIT_DELAY=512 - ARKD_BOARDING_EXIT_DELAY=1024 - ARKD_DATADIR=./data/regtest - ARKD_WALLET_ADDR=arkd-wallet:6060 - ARKD_ESPLORA_URL=http://cs:3000 - ARKD_VTXO_MIN_AMOUNT=1 - ARKD_LIVE_STORE_TYPE=inmemory - ARKD_EVENT_DB_TYPE=badger - ARKD_DB_TYPE=sqlite - ARKD_ROUND_INTERVAL=10 - ARKD_ALLOW_CSV_BLOCK_TYPE=true - ARKD_UNLOCKER_TYPE=env - ARKD_UNLOCKER_PASSWORD=testpassword volumes: - ./data/ark:/app/data tb: image: ghcr.io/tigerbeetle/tigerbeetle:latest container_name: tb privileged: true command: ["start", "--addresses=0.0.0.0:3000", "/data/0_0.tigerbeetle"] volumes: - ./data/tigerbeetle:/data ports: - "3001:3000" restart: always app: image: asoltys/coinos-server container_name: app depends_on: - db - bc - cl - sf - tb security_opt: - seccomp:unconfined command: "bun run dev" environment: URL: http://localhost:5173 ports: - '3119:3119' volumes: - .aws/:/root/.aws - ./:/home/bun/app - ./logs:/logs - ./data/bitcoin/bitcoin.conf:/bitcoin.conf - ./data/sockets:/sockets - ./mklittlefs:/usr/bin/mklittlefs restart: always bc: image: asoltys/bitcoin:28.0 container_name: bc volumes: - ./data/bitcoin:/home/bitcoin/.bitcoin restart: always lq: image: asoltys/elements:23.2.4 container_name: lq volumes: - ./data/liquid:/home/elements/.elements restart: always ports: - 7043:7040 cl: image: elementsproject/lightningd:v25.12.1 container_name: cl environment: LIGHTNINGD_NETWORK: regtest volumes: - ./data/lightning:/root/.lightning ports: - '3010:3010' - '1984:1984' restart: always clb: image: elementsproject/lightningd:v25.05 container_name: clb environment: LIGHTNINGD_NETWORK: regtest volumes: - ./data/lightningb:/root/.lightning restart: always clc: image: elementsproject/lightningd:v25.05 container_name: clc environment: LIGHTNINGD_NETWORK: regtest volumes: - ./data/lightningc:/root/.lightning restart: always db: image: valkey/valkey:8.0 container_name: db ports: - '6379:6379' command: ["valkey-server", "/etc/valkey/valkey.conf"] volumes: - ./data/db:/data - ./data/db/valkey.conf:/etc/valkey/valkey.conf restart: always arc: image: apache/kvrocks container_name: arc ports: - '6380:6379' entrypoint: ["kvrocks", "-c", "/data/kvrocks.conf", "--dir", "/data", "--bind", "0.0.0.0"] volumes: - ./data/archive-kv:/data restart: always sf: container_name: sf image: asoltys/strsrv cap_add: - SYS_PTRACE security_opt: - seccomp:unconfined volumes: - ./strsrv:/app/strsrv - ./data/strfry/strfry.conf:/etc/strfry.conf - ./data/strfry/db:/app/strfry-db - ./data/sockets:/app/sockets ports: - "7777:7777" mon: container_name: mon image: asoltys/mon volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - RUNE=S9ybLdb07sJLlsAXMM7k4wa-VBw2nZ-_6XQtIwT8maw9MA== cs: image: ghcr.io/vulpemventures/nigiri-chopsticks:latest container_name: cs command: - --wallet-name - coinos - --use-faucet - --use-logger - --rpc-addr - bc:18443 - --electrs-addr - eb:30000 - --addr - 0.0.0.0:3000 depends_on: - bc - eb restart: unless-stopped ports: - "3000:3000" arkd-wallet: restart: unless-stopped build: context: . dockerfile: wallet.Dockerfile container_name: arkd-wallet depends_on: - nbxplorer ports: - "6060:6060" environment: - ARKD_WALLET_LOG_LEVEL=5 - ARKD_WALLET_NBXPLORER_URL=http://nbxplorer:32838 - ARKD_WALLET_DATADIR=./data/regtest - ARKD_WALLET_NETWORK=regtest - ARKD_WALLET_SIGNER_KEY=afcd3fa10f82a05fddc9574fdb13b3991b568e89cc39a72ba4401df8abef35f0 volumes: - ./data/arkd-wallet:/app/data nbxplorer: restart: unless-stopped container_name: nbxplorer ports: - 32838:32838 image: nicolasdorier/nbxplorer:2.5.30 environment: - NBXPLORER_NETWORK=regtest - NBXPLORER_CHAINS=btc - NBXPLORER_BTCRPCURL=http://bc:18443/wallet/coinos - NBXPLORER_BTCNODEENDPOINT=bc:18444 - NBXPLORER_BTCRPCUSER=admin1 - NBXPLORER_BTCRPCPASSWORD=123 - NBXPLORER_VERBOSE=1 - NBXPLORER_BIND=0.0.0.0:32838 - NBXPLORER_TRIMEVENTS=10000 - NBXPLORER_SIGNALFILESDIR=/datadir - NBXPLORER_POSTGRES=User ID=postgres;Host=pgnbxplorer;Port=5432;Application Name=nbxplorer;MaxPoolSize=20;Database=nbxplorer - NBXPLORER_EXPOSERPC=1 - NBXPLORER_NOAUTH=1 volumes: - type: tmpfs target: /datadir depends_on: pgnbxplorer: condition: service_healthy eb: image: ghcr.io/vulpemventures/electrs:latest container_name: eb entrypoint: - /build/electrs command: - --jsonrpc-import - -vvvv - --network - regtest - --daemon-dir - /config - --daemon-rpc-addr - bc:18443 - --cookie - admin1:123 - --http-addr - 0.0.0.0:30000 - --electrum-rpc-addr - 0.0.0.0:50000 - --cors - "*" depends_on: - bc volumes: - ./data/bitcoin:/config restart: unless-stopped # el: # image: vulpemventures/electrs-liquid:latest # container_name: el # entrypoint: # - /build/electrs # command: # - --jsonrpc-import # - -vvvv # - --parent-network # - regtest # - --network # - liquidregtest # - --daemon-dir # - /config # - --daemon-rpc-addr # - lq:7040 # - --cookie # - admin1:123 # - --http-addr # - 0.0.0.0:3002 # - --electrum-rpc-addr # - 0.0.0.0:60401 # - --cors # - "*" # depends_on: # - lq # ports: # - '3003:3002' # restart: unless-stopped mint: image: asoltys/nutshell:main container_name: mint ports: - "3338:3338" environment: - MINT_RPC_SERVER_ENABLE=TRUE - MINT_RPC_SERVER_ADDR=localhost - MINT_RPC_SERVER_PORT=8086 - MINT_RPC_SERVER_KEY=./server_private.pem - MINT_RPC_SERVER_CERT=./server_cert.pem - MINT_RPC_SERVER_CA=./ca_cert.pem - MINT_CLNREST_URL=http://cl:3010 - MINT_CLNREST_RUNE=S9ybLdb07sJLlsAXMM7k4wa-VBw2nZ-_6XQtIwT8maw9MA== - MINT_BACKEND_BOLT11_SAT=CLNRestWallet - MINT_INFO_CONTACT=[["email","support@coinos.io"],["twitter","@coinoswallet"],["nostr","npub1h2qfjpnxau9k7ja9qkf50043xfpfy8j5v60xsqryef64y44puwnq28w8ch"]] - MINT_INFO_ICON_URL="https://coinos.io/images/icon.png" # - MINT_BACKEND_BOLT11_SAT=FakeWallet - MINT_LISTEN_HOST=0.0.0.0 - MINT_LISTEN_PORT=3338 - MINT_PRIVATE_KEY=TEST_PRIVATE_KEY - MINT_CLNREST_COINOS_URL=http://app:3119 - MINT_CLNREST_COINOS_JWT=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjI4MDE4NmMwLWQzODktNDViZS1iOGI2LWM4N2EwN2VlNjA5ZiIsImlhdCI6MTc0MTgwNDQyN30.oDDQeHN2CxjAOSOa6x75La8mQYnozkuSbVrBnTTto4A command: ["poetry", "run", "mint"] volumes: - "/home/adam/nutshell:/app" - "./data/mint:/app/data/mint" # mintb: # image: asoltys/nutshell # container_name: mintb # ports: # - "3339:3338" # environment: # - MINT_CLNREST_URL=http://clb:3010 # - MINT_CLNREST_RUNE=kTyXJ6yJwESVezCl4yB4z0zGMjXi11qggnKRQ4nnc2Y9MA== # - MINT_BACKEND_BOLT11_SAT=CLNRestWallet # # - MINT_BACKEND_BOLT11_SAT=FakeWallet # - MINT_LISTEN_HOST=0.0.0.0 # - MINT_LISTEN_PORT=3338 # - MINT_PRIVATE_KEY=TEST_PRIVATE_KEYB # - MINT_CLNREST_COINOS_URL=http://app:3119 # - MINT_CLNREST_COINOS_JWT=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVjYTM0YWU4LTdiMTItNDU4OS04ODMyLTUyMTNjOWVhMjc5NyIsImlhdCI6MTcyNDA0NjI3OH0.bdX1YLnpgqpjmjrkCdIdDbdmZUdViNSVrAJ0OX3ByPo # command: ["poetry", "run", "mint"] # volumes: # - "/home/adam/nutshell:/app" # - "./data/mint:/app/data/mint" # wallet: image: asoltys/nutshell container_name: wallet ports: - "4448:4448" depends_on: - mint environment: - MINT_URL=http://mint:3338 - API_HOST=0.0.0.0 command: ["poetry", "run", "cashu", "-d"] pgnbxplorer: restart: unless-stopped image: postgres:16 container_name: pgnbxplorer ports: - 5432:5432 environment: - POSTGRES_HOST_AUTH_METHOD=trust volumes: - type: tmpfs target: /var/lib/postgresql/data healthcheck: test: [ "CMD-SHELL", "pg_isready -U postgres -d nbxplorer -h 127.0.0.1 -p 5432", ] interval: 2s timeout: 2s retries: 30 networks: default: name: net external: true