version: '3.9' services: jekyll: image: jekyll/jekyll:4.0 container_name: pages restart: always volumes: - .:/usr/src/robosats command: bash -c "cd /usr/src/robosats/docs/ && bundle install && bundle exec jekyll serve --force_polling -H 0.0.0.0 -P 4000" ports: - 4000:4000 redis: image: redis:6.2.6 container_name: redis restart: always volumes: - redisdata:/data network_mode: service:tor backend: build: . image: backend container_name: django-dev restart: always depends_on: - bitcoind - lnd - redis environment: DEVELOPMENT: 1 volumes: - .:/usr/src/robosats - ./node/lnd:/lnd 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 ROBOSATS_ONION: robosats6tkf3eva7x2voqso3a5wcorsnw34jveyxfqi2fu7oyheasid.onion network_mode: service:tor volumes: - ./frontend/static:/usr/src/robosats/static clean-orders: image: backend restart: always container_name: clord-dev command: python3 manage.py clean_orders volumes: - .:/usr/src/robosats - ./node/lnd:/lnd network_mode: service:tor follow-invoices: image: backend container_name: invo-dev restart: always depends_on: - bitcoind - lnd command: python3 manage.py follow_invoices volumes: - .:/usr/src/robosats - ./node/lnd:/lnd network_mode: service:tor telegram-watcher: image: backend container_name: tg-dev restart: always command: python3 manage.py telegram_watcher volumes: - .:/usr/src/robosats - ./node/lnd:/lnd network_mode: service:tor celery-worker: image: backend container_name: cele-worker-dev restart: always environment: REDIS_URL: redis://localhost:6379 volumes: - .:/usr/src/robosats - ./node/lnd:/lnd 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 container_name: cele-beat-dev restart: always environment: REDIS_URL: redis://localhost:6379 command: celery -A robosats beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler volumes: - .:/usr/src/robosats 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} 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 volumes: redisdata: