mirror of
https://github.com/RoboSats/robosats.git
synced 2024-12-26 05:43:34 +03:00
250 lines
5.7 KiB
YAML
250 lines
5.7 KiB
YAML
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
|
|
|
|
backend:
|
|
build:
|
|
context: .
|
|
args:
|
|
DEVELOPMENT: True
|
|
image: backend-image
|
|
container_name: django-dev
|
|
restart: always
|
|
depends_on:
|
|
- bitcoind
|
|
- lnd
|
|
- redis
|
|
environment:
|
|
DEVELOPMENT: True
|
|
volumes:
|
|
- .:/usr/src/robosats
|
|
- ./node/lnd:/lnd
|
|
- ./node/cln:/cln
|
|
network_mode: service:tor
|
|
command: python3 -u manage.py runserver 0.0.0.0:8000
|
|
|
|
frontend:
|
|
build: ./frontend
|
|
container_name: npm-dev
|
|
restart: always
|
|
command: npm run dev
|
|
volumes:
|
|
- ./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
|
|
|
|
clean-orders:
|
|
image: backend-image
|
|
pull_policy: never
|
|
restart: always
|
|
container_name: clord-dev
|
|
environment:
|
|
SKIP_COLLECT_STATIC: "true"
|
|
command: python3 manage.py clean_orders
|
|
volumes:
|
|
- .:/usr/src/robosats
|
|
- ./node/lnd:/lnd
|
|
- ./node/cln:/cln
|
|
network_mode: service:tor
|
|
|
|
follow-invoices:
|
|
image: backend-image
|
|
pull_policy: never
|
|
container_name: invo-dev
|
|
restart: always
|
|
depends_on:
|
|
- bitcoind
|
|
- lnd
|
|
environment:
|
|
SKIP_COLLECT_STATIC: "true"
|
|
command: python3 manage.py follow_invoices
|
|
volumes:
|
|
- .:/usr/src/robosats
|
|
- ./node/lnd:/lnd
|
|
- ./node/cln:/cln
|
|
network_mode: service:tor
|
|
|
|
telegram-watcher:
|
|
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
|
|
- ./node/lnd:/lnd
|
|
- ./node/cln:/cln
|
|
network_mode: service:tor
|
|
|
|
celery-worker:
|
|
image: backend-image
|
|
pull_policy: never
|
|
container_name: cele-worker-dev
|
|
restart: always
|
|
environment:
|
|
REDIS_URL: redis://localhost:6379
|
|
SKIP_COLLECT_STATIC: "true"
|
|
volumes:
|
|
- .:/usr/src/robosats
|
|
- ./node/lnd:/lnd
|
|
- ./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
|
|
|
|
celery-beat:
|
|
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
|
|
- ./node/lnd:/lnd
|
|
- ./node/cln:/cln
|
|
depends_on:
|
|
- redis
|
|
network_mode: service:tor
|
|
|
|
i2p:
|
|
image: geti2p/i2p
|
|
container_name: i2p-dev
|
|
network_mode: host
|
|
volumes:
|
|
- ./node/i2p/i2pconfig:/i2p/.i2p
|
|
|
|
tor:
|
|
build: ./docker/tor
|
|
container_name: tor-dev
|
|
restart: always
|
|
environment:
|
|
LOCAL_USER_ID: 1000
|
|
LOCAL_GROUP_ID: 1000
|
|
volumes:
|
|
- ./node/tor/data:/var/lib/tor
|
|
- ./node/tor/config:/etc/tor
|
|
ports:
|
|
- 8000:8000 # dev frontend build
|
|
- 12596:12596 # umbrel frontend
|
|
|
|
lnd:
|
|
build: ./docker/lnd
|
|
restart: always
|
|
network_mode: service:tor
|
|
container_name: lnd-dev
|
|
depends_on:
|
|
- tor
|
|
- bitcoind
|
|
volumes:
|
|
- ./node/tor/data:/var/lib/tor
|
|
- ./node/tor/config:/etc/tor
|
|
- ./node/lnd:/home/lnd/.lnd
|
|
- ./node/lnd:/root/.lnd
|
|
command: lnd
|
|
environment:
|
|
LOCAL_USER_ID: 1000
|
|
LOCAL_GROUP_ID: 1000
|
|
LND_RPC_PORT: 10009
|
|
LND_REST_PORT: 8080
|
|
AUTO_UNLOCK_PWD: ${AUTO_UNLOCK_PWD}
|
|
|
|
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
|
|
|
|
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:
|
|
- ./node/tor/data:/var/lib/tor:ro
|
|
- ./node/tor/config:/etc/tor:ro
|
|
- ./node/bitcoin:/home/bitcoin/.bitcoin
|
|
|
|
postgres:
|
|
image: postgres:14.2-alpine
|
|
container_name: sql-dev
|
|
restart: always
|
|
environment:
|
|
POSTGRES_PASSWORD: example
|
|
network_mode: service:tor
|
|
volumes:
|
|
- ./node/db:/var/lib/postgresql/data
|
|
|
|
strfry:
|
|
build: ./docker/strfry
|
|
container_name: strfry-dev
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./docker/strfry/strfry.conf:/etc/strfry.conf:ro
|
|
- ./docker/strfry/onion_urls.txt:/app/onion_urls.txt:ro
|
|
- ./node/strfry/db:/app/strfry-db:rw
|
|
network_mode: service:tor
|
|
|
|
# # 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:
|