nws/docker-compose.yaml

71 lines
1.7 KiB
YAML

version: '3'
networks:
nostr:
enable_ipv6: true
ipam:
config:
- subnet: fd00:db8:a::/64
gateway: fd00:db8:a::1
services:
mint:
image: cashubtc/nutshell:0.15.3
container_name: mint
ports:
- "3338"
networks:
nostr:
environment:
- MINT_BACKEND_BOLT11_SAT=FakeWallet
- MINT_LISTEN_HOST=0.0.0.0
- MINT_LISTEN_PORT=3338
- MINT_PRIVATE_KEY=TEST_PRIVATE_KEY
- MINT_INFO_DESCRIPTION=This Cashu test mint has no public IP address and can only be reached via NWS powered by Nostr
- MINT_INFO_NAME=Cashu NWS mint
command: ["poetry", "run", "mint"]
exit:
build:
context: .
dockerfile: cmd/exit/Dockerfile
container_name: exit
networks:
nostr:
environment:
- NOSTR_RELAYS=ws://nostr-relay:8080
- NOSTR_PRIVATE_KEY=
- BACKEND_HOST=mint:3338
exit-https:
build:
context: .
dockerfile: cmd/exit/Dockerfile
container_name: exit-https
command: ["./exit", "--port", "4443", "--target", "http://mint:3338"]
networks:
nostr:
environment:
- NOSTR_RELAYS=ws://nostr-relay:8080
- NOSTR_PRIVATE_KEY=
- BACKEND_HOST=:4443
entry:
build:
context: .
dockerfile: cmd/proxy/Dockerfile
container_name: entry
ports:
- 8882:8882
networks:
nostr:
environment:
- NOSTR_RELAYS=ws://nostr-relay:8080
nostr:
image: scsibug/nostr-rs-relay:latest
container_name: nostr-relay
ports:
- 8080:8080
networks:
nostr:
restart: always
volumes:
- ./nostr/data:/usr/src/app/db:Z
- ./nostr/config/config.toml:/usr/src/app/config.toml:ro,Z
user: 100:100