robosats/docker-compose.yml

250 lines
5.7 KiB
YAML
Raw Permalink Normal View History

version: '3.9'
services:
jekyll:
container_name: pages
build: ./docs
restart: always
ports:
- 4000:4000
redis:
image: redis:6.2.6
container_name: redis
restart: always
volumes:
- redisdata:/data
network_mode: service:tor
2022-02-07 13:37:16 +00:00
backend:
build:
context: .
args:
DEVELOPMENT: True
2023-10-14 21:47:54 +00:00
image: backend-image
2022-02-07 18:11:57 +00:00
container_name: django-dev
restart: always
depends_on:
2022-02-08 11:41:03 +00:00
- bitcoind
- lnd
- redis
environment:
DEVELOPMENT: True
volumes:
2022-02-07 18:11:57 +00:00
- .:/usr/src/robosats
2022-08-15 10:44:54 +00:00
- ./node/lnd:/lnd
Add core-lightning as backend lightning node vendor (#611) * Add CLN node backend image and service (#418) * Add cln service * Add hodlvoice Dockerfile and entrypoint * Add lnnode vendor switch (#431) * Add LNNode vendor switch * Add CLN version to frontend and other fixes * init * first draft * add unsettled_local_balance and unsettled_remote_balance * gen_hold_invoice now takes 3 more variables to build a label for cln * remove unneeded payment_hash from gen_hold_invoice * remove comment * add get_cln_version * first draft of clns follow_send_payment * fix name of get_lnd_version * enable flake8 * flake8 fixes * renaming cln file, class and get_version * remove lnd specific commented code * get_version: add try/except, refactor to top to mimic lnd.py * rename htlc_cltv to htlc_expiry * add clns lookup_invoice_status * refactored double_check_htlc_is_settled to the end to match lnds file * fix generate_rpc * Add sample environmental variables, small fixes * Fix CLN gRPC port * Fix gen_hold_invoice, plus some other tiny fixes (#435) * Fix channel_balance to use int object inside Amount (#438) * Add CLN/LND volume to celery-beat service * Add CLN/LND volume to celery-beat service * Bump CLN to v23.05 * changes for 0.5 and some small fixes * change invoice expiry from absolute to relative duration * add try/except to catch timeout error * fix failure_reason to be ln_payment failure reasons, albeit inaccurate sometimes * refactor follow_send_payment and add pending check to expired case * fix status comments * add send_keysend method * fix wrong state ints in cancel and settle * switch to use hodlinvoicelookup in double_check * move pay command after lnpayment status update * remove loop in follow_send_payment and add error result for edge case * fix typeerror for payment_hash * rework follow_send_payment logic and payment_hash, watch harder if pending * use fully qualified names for status instead of raw int * missed 2 status from prev commit * Always copy the cln-grpc-hodl plugin on start up * Fix ALLOW_SELF_KEYSEND linting error * Fix missing definition of failure_reason --------- Co-authored-by: daywalker90 <admin@noserver4u.de>
2023-05-22 14:56:15 +00:00
- ./node/cln:/cln
network_mode: service:tor
2023-05-01 17:24:48 +00:00
command: python3 -u manage.py runserver 0.0.0.0:8000
2022-02-07 13:37:16 +00:00
frontend:
build: ./frontend
container_name: npm-dev
restart: always
command: npm run dev
volumes:
2022-02-07 19:25:10 +00:00
- ./frontend:/usr/src/frontend
- ./mobile:/usr/src/mobile
nodeapp: # Umbrel / Citadel app
build: ./nodeapp
container_name: nodeapp-dev
restart: always
environment:
TOR_PROXY_IP: 127.0.0.1
TOR_PROXY_PORT: 9050
network_mode: service:tor
volumes:
- ./nodeapp/:/usr/src/robosats/
- ./nodeapp/nginx.conf:/etc/nginx/nginx.conf
- ./nodeapp/coordinators/:/etc/nginx/conf.d/
- ./frontend/static:/usr/src/robosats/static
2022-02-07 13:37:16 +00:00
clean-orders:
2023-10-14 21:47:54 +00:00
image: backend-image
pull_policy: never
restart: always
container_name: clord-dev
environment:
SKIP_COLLECT_STATIC: "true"
2022-02-07 18:11:57 +00:00
command: python3 manage.py clean_orders
volumes:
2022-02-07 18:11:57 +00:00
- .:/usr/src/robosats
2022-08-15 10:44:54 +00:00
- ./node/lnd:/lnd
Add core-lightning as backend lightning node vendor (#611) * Add CLN node backend image and service (#418) * Add cln service * Add hodlvoice Dockerfile and entrypoint * Add lnnode vendor switch (#431) * Add LNNode vendor switch * Add CLN version to frontend and other fixes * init * first draft * add unsettled_local_balance and unsettled_remote_balance * gen_hold_invoice now takes 3 more variables to build a label for cln * remove unneeded payment_hash from gen_hold_invoice * remove comment * add get_cln_version * first draft of clns follow_send_payment * fix name of get_lnd_version * enable flake8 * flake8 fixes * renaming cln file, class and get_version * remove lnd specific commented code * get_version: add try/except, refactor to top to mimic lnd.py * rename htlc_cltv to htlc_expiry * add clns lookup_invoice_status * refactored double_check_htlc_is_settled to the end to match lnds file * fix generate_rpc * Add sample environmental variables, small fixes * Fix CLN gRPC port * Fix gen_hold_invoice, plus some other tiny fixes (#435) * Fix channel_balance to use int object inside Amount (#438) * Add CLN/LND volume to celery-beat service * Add CLN/LND volume to celery-beat service * Bump CLN to v23.05 * changes for 0.5 and some small fixes * change invoice expiry from absolute to relative duration * add try/except to catch timeout error * fix failure_reason to be ln_payment failure reasons, albeit inaccurate sometimes * refactor follow_send_payment and add pending check to expired case * fix status comments * add send_keysend method * fix wrong state ints in cancel and settle * switch to use hodlinvoicelookup in double_check * move pay command after lnpayment status update * remove loop in follow_send_payment and add error result for edge case * fix typeerror for payment_hash * rework follow_send_payment logic and payment_hash, watch harder if pending * use fully qualified names for status instead of raw int * missed 2 status from prev commit * Always copy the cln-grpc-hodl plugin on start up * Fix ALLOW_SELF_KEYSEND linting error * Fix missing definition of failure_reason --------- Co-authored-by: daywalker90 <admin@noserver4u.de>
2023-05-22 14:56:15 +00:00
- ./node/cln:/cln
network_mode: service:tor
2022-02-07 13:37:16 +00:00
follow-invoices:
2023-10-14 21:47:54 +00:00
image: backend-image
pull_policy: never
container_name: invo-dev
restart: always
2022-02-08 11:41:03 +00:00
depends_on:
- bitcoind
- lnd
environment:
SKIP_COLLECT_STATIC: "true"
command: python3 manage.py follow_invoices
volumes:
2022-02-07 18:11:57 +00:00
- .:/usr/src/robosats
2022-08-15 10:44:54 +00:00
- ./node/lnd:/lnd
Add core-lightning as backend lightning node vendor (#611) * Add CLN node backend image and service (#418) * Add cln service * Add hodlvoice Dockerfile and entrypoint * Add lnnode vendor switch (#431) * Add LNNode vendor switch * Add CLN version to frontend and other fixes * init * first draft * add unsettled_local_balance and unsettled_remote_balance * gen_hold_invoice now takes 3 more variables to build a label for cln * remove unneeded payment_hash from gen_hold_invoice * remove comment * add get_cln_version * first draft of clns follow_send_payment * fix name of get_lnd_version * enable flake8 * flake8 fixes * renaming cln file, class and get_version * remove lnd specific commented code * get_version: add try/except, refactor to top to mimic lnd.py * rename htlc_cltv to htlc_expiry * add clns lookup_invoice_status * refactored double_check_htlc_is_settled to the end to match lnds file * fix generate_rpc * Add sample environmental variables, small fixes * Fix CLN gRPC port * Fix gen_hold_invoice, plus some other tiny fixes (#435) * Fix channel_balance to use int object inside Amount (#438) * Add CLN/LND volume to celery-beat service * Add CLN/LND volume to celery-beat service * Bump CLN to v23.05 * changes for 0.5 and some small fixes * change invoice expiry from absolute to relative duration * add try/except to catch timeout error * fix failure_reason to be ln_payment failure reasons, albeit inaccurate sometimes * refactor follow_send_payment and add pending check to expired case * fix status comments * add send_keysend method * fix wrong state ints in cancel and settle * switch to use hodlinvoicelookup in double_check * move pay command after lnpayment status update * remove loop in follow_send_payment and add error result for edge case * fix typeerror for payment_hash * rework follow_send_payment logic and payment_hash, watch harder if pending * use fully qualified names for status instead of raw int * missed 2 status from prev commit * Always copy the cln-grpc-hodl plugin on start up * Fix ALLOW_SELF_KEYSEND linting error * Fix missing definition of failure_reason --------- Co-authored-by: daywalker90 <admin@noserver4u.de>
2023-05-22 14:56:15 +00:00
- ./node/cln:/cln
network_mode: service:tor
telegram-watcher:
2023-10-14 21:47:54 +00:00
image: backend-image
pull_policy: never
container_name: tg-dev
restart: always
environment:
SKIP_COLLECT_STATIC: "true"
command: python3 manage.py telegram_watcher
volumes:
- .:/usr/src/robosats
2022-08-15 10:44:54 +00:00
- ./node/lnd:/lnd
Add core-lightning as backend lightning node vendor (#611) * Add CLN node backend image and service (#418) * Add cln service * Add hodlvoice Dockerfile and entrypoint * Add lnnode vendor switch (#431) * Add LNNode vendor switch * Add CLN version to frontend and other fixes * init * first draft * add unsettled_local_balance and unsettled_remote_balance * gen_hold_invoice now takes 3 more variables to build a label for cln * remove unneeded payment_hash from gen_hold_invoice * remove comment * add get_cln_version * first draft of clns follow_send_payment * fix name of get_lnd_version * enable flake8 * flake8 fixes * renaming cln file, class and get_version * remove lnd specific commented code * get_version: add try/except, refactor to top to mimic lnd.py * rename htlc_cltv to htlc_expiry * add clns lookup_invoice_status * refactored double_check_htlc_is_settled to the end to match lnds file * fix generate_rpc * Add sample environmental variables, small fixes * Fix CLN gRPC port * Fix gen_hold_invoice, plus some other tiny fixes (#435) * Fix channel_balance to use int object inside Amount (#438) * Add CLN/LND volume to celery-beat service * Add CLN/LND volume to celery-beat service * Bump CLN to v23.05 * changes for 0.5 and some small fixes * change invoice expiry from absolute to relative duration * add try/except to catch timeout error * fix failure_reason to be ln_payment failure reasons, albeit inaccurate sometimes * refactor follow_send_payment and add pending check to expired case * fix status comments * add send_keysend method * fix wrong state ints in cancel and settle * switch to use hodlinvoicelookup in double_check * move pay command after lnpayment status update * remove loop in follow_send_payment and add error result for edge case * fix typeerror for payment_hash * rework follow_send_payment logic and payment_hash, watch harder if pending * use fully qualified names for status instead of raw int * missed 2 status from prev commit * Always copy the cln-grpc-hodl plugin on start up * Fix ALLOW_SELF_KEYSEND linting error * Fix missing definition of failure_reason --------- Co-authored-by: daywalker90 <admin@noserver4u.de>
2023-05-22 14:56:15 +00:00
- ./node/cln:/cln
network_mode: service:tor
celery-worker:
2023-10-14 21:47:54 +00:00
image: backend-image
pull_policy: never
container_name: cele-worker-dev
restart: always
environment:
REDIS_URL: redis://localhost:6379
SKIP_COLLECT_STATIC: "true"
volumes:
2022-02-07 18:11:57 +00:00
- .:/usr/src/robosats
2022-08-15 10:44:54 +00:00
- ./node/lnd:/lnd
Add core-lightning as backend lightning node vendor (#611) * Add CLN node backend image and service (#418) * Add cln service * Add hodlvoice Dockerfile and entrypoint * Add lnnode vendor switch (#431) * Add LNNode vendor switch * Add CLN version to frontend and other fixes * init * first draft * add unsettled_local_balance and unsettled_remote_balance * gen_hold_invoice now takes 3 more variables to build a label for cln * remove unneeded payment_hash from gen_hold_invoice * remove comment * add get_cln_version * first draft of clns follow_send_payment * fix name of get_lnd_version * enable flake8 * flake8 fixes * renaming cln file, class and get_version * remove lnd specific commented code * get_version: add try/except, refactor to top to mimic lnd.py * rename htlc_cltv to htlc_expiry * add clns lookup_invoice_status * refactored double_check_htlc_is_settled to the end to match lnds file * fix generate_rpc * Add sample environmental variables, small fixes * Fix CLN gRPC port * Fix gen_hold_invoice, plus some other tiny fixes (#435) * Fix channel_balance to use int object inside Amount (#438) * Add CLN/LND volume to celery-beat service * Add CLN/LND volume to celery-beat service * Bump CLN to v23.05 * changes for 0.5 and some small fixes * change invoice expiry from absolute to relative duration * add try/except to catch timeout error * fix failure_reason to be ln_payment failure reasons, albeit inaccurate sometimes * refactor follow_send_payment and add pending check to expired case * fix status comments * add send_keysend method * fix wrong state ints in cancel and settle * switch to use hodlinvoicelookup in double_check * move pay command after lnpayment status update * remove loop in follow_send_payment and add error result for edge case * fix typeerror for payment_hash * rework follow_send_payment logic and payment_hash, watch harder if pending * use fully qualified names for status instead of raw int * missed 2 status from prev commit * Always copy the cln-grpc-hodl plugin on start up * Fix ALLOW_SELF_KEYSEND linting error * Fix missing definition of failure_reason --------- Co-authored-by: daywalker90 <admin@noserver4u.de>
2023-05-22 14:56:15 +00:00
- ./node/cln:/cln
command: celery -A robosats worker --loglevel=INFO --concurrency 4 --max-tasks-per-child=4 --max-memory-per-child=200000
depends_on:
- redis
network_mode: service:tor
2022-10-25 18:04:12 +00:00
celery-beat:
2023-10-14 21:47:54 +00:00
image: backend-image
pull_policy: never
container_name: cele-beat-dev
restart: always
environment:
REDIS_URL: redis://localhost:6379
SKIP_COLLECT_STATIC: "true"
command: celery -A robosats beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
volumes:
- .:/usr/src/robosats
Add core-lightning as backend lightning node vendor (#611) * Add CLN node backend image and service (#418) * Add cln service * Add hodlvoice Dockerfile and entrypoint * Add lnnode vendor switch (#431) * Add LNNode vendor switch * Add CLN version to frontend and other fixes * init * first draft * add unsettled_local_balance and unsettled_remote_balance * gen_hold_invoice now takes 3 more variables to build a label for cln * remove unneeded payment_hash from gen_hold_invoice * remove comment * add get_cln_version * first draft of clns follow_send_payment * fix name of get_lnd_version * enable flake8 * flake8 fixes * renaming cln file, class and get_version * remove lnd specific commented code * get_version: add try/except, refactor to top to mimic lnd.py * rename htlc_cltv to htlc_expiry * add clns lookup_invoice_status * refactored double_check_htlc_is_settled to the end to match lnds file * fix generate_rpc * Add sample environmental variables, small fixes * Fix CLN gRPC port * Fix gen_hold_invoice, plus some other tiny fixes (#435) * Fix channel_balance to use int object inside Amount (#438) * Add CLN/LND volume to celery-beat service * Add CLN/LND volume to celery-beat service * Bump CLN to v23.05 * changes for 0.5 and some small fixes * change invoice expiry from absolute to relative duration * add try/except to catch timeout error * fix failure_reason to be ln_payment failure reasons, albeit inaccurate sometimes * refactor follow_send_payment and add pending check to expired case * fix status comments * add send_keysend method * fix wrong state ints in cancel and settle * switch to use hodlinvoicelookup in double_check * move pay command after lnpayment status update * remove loop in follow_send_payment and add error result for edge case * fix typeerror for payment_hash * rework follow_send_payment logic and payment_hash, watch harder if pending * use fully qualified names for status instead of raw int * missed 2 status from prev commit * Always copy the cln-grpc-hodl plugin on start up * Fix ALLOW_SELF_KEYSEND linting error * Fix missing definition of failure_reason --------- Co-authored-by: daywalker90 <admin@noserver4u.de>
2023-05-22 14:56:15 +00:00
- ./node/lnd:/lnd
- ./node/cln:/cln
depends_on:
- redis
network_mode: service:tor
2022-06-25 19:26:45 +00:00
i2p:
image: geti2p/i2p
container_name: i2p-dev
network_mode: host
2022-06-25 19:26:45 +00:00
volumes:
2023-04-15 11:23:43 +00:00
- ./node/i2p/i2pconfig:/i2p/.i2p
2022-06-25 19:26:45 +00:00
2022-02-08 11:41:03 +00:00
tor:
build: ./docker/tor
container_name: tor-dev
restart: always
environment:
LOCAL_USER_ID: 1000
LOCAL_GROUP_ID: 1000
volumes:
2022-08-15 10:44:54 +00:00
- ./node/tor/data:/var/lib/tor
- ./node/tor/config:/etc/tor
2022-02-09 15:21:51 +00:00
ports:
- 8000:8000 # dev frontend build
- 12596:12596 # umbrel frontend
2022-02-09 15:21:51 +00:00
lnd:
build: ./docker/lnd
restart: always
network_mode: service:tor
container_name: lnd-dev
depends_on:
- tor
- bitcoind
volumes:
2022-08-15 10:44:54 +00:00
- ./node/tor/data:/var/lib/tor
- ./node/tor/config:/etc/tor
- ./node/lnd:/home/lnd/.lnd
- ./node/lnd:/root/.lnd
2022-02-09 15:21:51 +00:00
command: lnd
environment:
LOCAL_USER_ID: 1000
LOCAL_GROUP_ID: 1000
LND_RPC_PORT: 10009
LND_REST_PORT: 8080
2022-02-09 20:51:05 +00:00
AUTO_UNLOCK_PWD: ${AUTO_UNLOCK_PWD}
2022-02-08 11:41:03 +00:00
Add core-lightning as backend lightning node vendor (#611) * Add CLN node backend image and service (#418) * Add cln service * Add hodlvoice Dockerfile and entrypoint * Add lnnode vendor switch (#431) * Add LNNode vendor switch * Add CLN version to frontend and other fixes * init * first draft * add unsettled_local_balance and unsettled_remote_balance * gen_hold_invoice now takes 3 more variables to build a label for cln * remove unneeded payment_hash from gen_hold_invoice * remove comment * add get_cln_version * first draft of clns follow_send_payment * fix name of get_lnd_version * enable flake8 * flake8 fixes * renaming cln file, class and get_version * remove lnd specific commented code * get_version: add try/except, refactor to top to mimic lnd.py * rename htlc_cltv to htlc_expiry * add clns lookup_invoice_status * refactored double_check_htlc_is_settled to the end to match lnds file * fix generate_rpc * Add sample environmental variables, small fixes * Fix CLN gRPC port * Fix gen_hold_invoice, plus some other tiny fixes (#435) * Fix channel_balance to use int object inside Amount (#438) * Add CLN/LND volume to celery-beat service * Add CLN/LND volume to celery-beat service * Bump CLN to v23.05 * changes for 0.5 and some small fixes * change invoice expiry from absolute to relative duration * add try/except to catch timeout error * fix failure_reason to be ln_payment failure reasons, albeit inaccurate sometimes * refactor follow_send_payment and add pending check to expired case * fix status comments * add send_keysend method * fix wrong state ints in cancel and settle * switch to use hodlinvoicelookup in double_check * move pay command after lnpayment status update * remove loop in follow_send_payment and add error result for edge case * fix typeerror for payment_hash * rework follow_send_payment logic and payment_hash, watch harder if pending * use fully qualified names for status instead of raw int * missed 2 status from prev commit * Always copy the cln-grpc-hodl plugin on start up * Fix ALLOW_SELF_KEYSEND linting error * Fix missing definition of failure_reason --------- Co-authored-by: daywalker90 <admin@noserver4u.de>
2023-05-22 14:56:15 +00:00
cln:
build: ./docker/cln
restart: always
network_mode: service:tor
container_name: cln-dev
depends_on:
- tor
- bitcoind
# - postgres-cln
volumes:
- ./node/tor/data:/var/lib/tor
- ./node/tor/config:/etc/tor
- ./node/cln:/root/.lightning
- ./node/bitcoin:/root/.bitcoin
command: lightningd
2022-02-08 11:41:03 +00:00
bitcoind:
build: ./docker/bitcoind
container_name: btc-dev
restart: always
environment:
LOCAL_USER_ID: 1000
LOCAL_GROUP_ID: 1000
depends_on:
- tor
network_mode: service:tor
volumes:
2022-08-15 10:44:54 +00:00
- ./node/tor/data:/var/lib/tor:ro
- ./node/tor/config:/etc/tor:ro
- ./node/bitcoin:/home/bitcoin/.bitcoin
2022-10-25 18:04:12 +00:00
2022-02-20 01:13:51 +00:00
postgres:
image: postgres:14.2-alpine
container_name: sql-dev
restart: always
environment:
POSTGRES_PASSWORD: example
network_mode: service:tor
volumes:
2023-04-15 11:23:43 +00:00
- ./node/db:/var/lib/postgresql/data
2022-02-08 11:41:03 +00:00
2024-07-15 08:19:53 +00:00
strfry:
2024-07-17 23:33:47 +00:00
build: ./docker/strfry
2024-07-15 08:19:53 +00:00
container_name: strfry-dev
2024-07-01 16:00:17 +00:00
restart: unless-stopped
volumes:
2024-07-24 16:33:16 +00:00
- ./docker/strfry/strfry.conf:/etc/strfry.conf:ro
2024-07-24 17:20:13 +00:00
- ./docker/strfry/onion_urls.txt:/app/onion_urls.txt:ro
2024-07-24 16:33:16 +00:00
- ./node/strfry/db:/app/strfry-db:rw
2024-07-01 16:00:17 +00:00
network_mode: service:tor
Add core-lightning as backend lightning node vendor (#611) * Add CLN node backend image and service (#418) * Add cln service * Add hodlvoice Dockerfile and entrypoint * Add lnnode vendor switch (#431) * Add LNNode vendor switch * Add CLN version to frontend and other fixes * init * first draft * add unsettled_local_balance and unsettled_remote_balance * gen_hold_invoice now takes 3 more variables to build a label for cln * remove unneeded payment_hash from gen_hold_invoice * remove comment * add get_cln_version * first draft of clns follow_send_payment * fix name of get_lnd_version * enable flake8 * flake8 fixes * renaming cln file, class and get_version * remove lnd specific commented code * get_version: add try/except, refactor to top to mimic lnd.py * rename htlc_cltv to htlc_expiry * add clns lookup_invoice_status * refactored double_check_htlc_is_settled to the end to match lnds file * fix generate_rpc * Add sample environmental variables, small fixes * Fix CLN gRPC port * Fix gen_hold_invoice, plus some other tiny fixes (#435) * Fix channel_balance to use int object inside Amount (#438) * Add CLN/LND volume to celery-beat service * Add CLN/LND volume to celery-beat service * Bump CLN to v23.05 * changes for 0.5 and some small fixes * change invoice expiry from absolute to relative duration * add try/except to catch timeout error * fix failure_reason to be ln_payment failure reasons, albeit inaccurate sometimes * refactor follow_send_payment and add pending check to expired case * fix status comments * add send_keysend method * fix wrong state ints in cancel and settle * switch to use hodlinvoicelookup in double_check * move pay command after lnpayment status update * remove loop in follow_send_payment and add error result for edge case * fix typeerror for payment_hash * rework follow_send_payment logic and payment_hash, watch harder if pending * use fully qualified names for status instead of raw int * missed 2 status from prev commit * Always copy the cln-grpc-hodl plugin on start up * Fix ALLOW_SELF_KEYSEND linting error * Fix missing definition of failure_reason --------- Co-authored-by: daywalker90 <admin@noserver4u.de>
2023-05-22 14:56:15 +00:00
# # Postgresql for CLN
# postgres-cln:
# image: postgres:14.2-alpine
# container_name: cln-sql-dev
# restart: always
# environment:
# PGUSER: user
# PGDATABASE: cln
# POSTGRES_PASSWORD: pass
# PGPORT: 5433
# network_mode: service:tor
# volumes:
# - ./node/cln-db:/var/lib/postgresql/data
volumes:
redisdata: