mirror of
https://github.com/RoboSats/robosats-deploy.git
synced 2025-08-01 15:41:50 +00:00
165 lines
5.2 KiB
YAML
165 lines
5.2 KiB
YAML
version: '3.9'
|
|
services:
|
|
tor:
|
|
build: ./tor
|
|
container_name: tor${SUFFIX}
|
|
restart: always
|
|
environment:
|
|
SUFFIX: ${SUFFIX}
|
|
volumes:
|
|
- ${TOR_DATA:?}:/var/lib/tor
|
|
- ${TOR_CONFIG:?}:/etc/tor/torrc
|
|
ports:
|
|
- ${WEB_LOCAL_PORT}:80
|
|
- ${THUB_LOCAL_PORT}:3000
|
|
- ${LIT_LOCAL_PORT}:8443
|
|
|
|
bitcoind:
|
|
image: ruimarinho/bitcoin-core:${BITCOIND_TAG:-24.0.1-alpine@sha256:624b6fb1c282a3db6438ff35fbb9eed6ae260c66ffbb427ae72edd7da6a0ecdc}
|
|
container_name: btc${SUFFIX}
|
|
restart: always
|
|
depends_on:
|
|
- tor
|
|
network_mode: service:tor
|
|
volumes:
|
|
- ${TOR_DATA:?}:/var/lib/tor:ro
|
|
- ${BITCOIN_DATA:?}:${GUEST_BITCOIN:?}
|
|
- ${BITCOIN_CONF:?}:${GUEST_BITCOIN:?}/bitcoin.conf
|
|
|
|
daphne:
|
|
image: recksato/robosats:${ROBOSATS_TAG:-v0.6.0-alpha@sha256:8cc975ff5942a3fb2a09827b8eaafebea1c851eb3ecf9be1aaac1f238cfa9fc1}
|
|
container_name: daphne${SUFFIX}
|
|
restart: always
|
|
network_mode: service:tor
|
|
env_file:
|
|
- ${ROBOSATS_ENVS_FILE}
|
|
environment:
|
|
SKIP_COLLECT_STATIC: "true"
|
|
depends_on:
|
|
- robosats
|
|
command: daphne -b 0.0.0.0 -p 9000 robosats.asgi:application
|
|
|
|
redis:
|
|
image: redis:${REDIS_TAG:-7.2.1-alpine@sha256:7f5a0dfbf379db69dc78434091dce3220e251022e71dcdf36207928cbf9010de}
|
|
container_name: redis${SUFFIX}
|
|
restart: always
|
|
volumes:
|
|
- redisdata:/data
|
|
network_mode: service:tor
|
|
|
|
robosats:
|
|
image: recksato/robosats:${ROBOSATS_TAG:-v0.6.0-alpha@sha256:8cc975ff5942a3fb2a09827b8eaafebea1c851eb3ecf9be1aaac1f238cfa9fc1}
|
|
container_name: rs${SUFFIX}
|
|
restart: always
|
|
environment:
|
|
LOG_TO_CONSOLE: 1
|
|
env_file:
|
|
- ${ROBOSATS_ENVS_FILE}
|
|
depends_on:
|
|
- redis
|
|
volumes:
|
|
- ${STATIC}:/usr/src/static
|
|
network_mode: service:tor
|
|
command: gunicorn --bind :8000 --max-requests 1000 --max-requests-jitter 200 -w ${GUNICORN_WORKERS} robosats.wsgi:application
|
|
|
|
postgres:
|
|
image: postgres:${POSTGRES_TAG:-14.2-alpine@sha256:2fb5718f2a23dbac9bd1258e886eee90250a5903785e3136d62dd65e19f34982}
|
|
container_name: sql${SUFFIX}
|
|
restart: always
|
|
environment:
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_DB: ${POSTGRES_NAME}
|
|
network_mode: service:tor
|
|
volumes:
|
|
- ${DATABASE}:/var/lib/postgresql/data
|
|
|
|
nginx:
|
|
image: nginx:${NGINX_TAG:-1.25.2-alpine-slim@sha256:1b0cb433e90260a96528c987ee78b797e842d510473935304a0931536d10f50d}
|
|
container_name: nginx${SUFFIX}
|
|
restart: always
|
|
volumes:
|
|
- ${STATIC}:/usr/src/static:ro
|
|
- ${NGINX_CONFD}:/etc/nginx/conf.d:ro
|
|
- ${WELLKNOWN}:/usr/src/.well-known:ro
|
|
network_mode: service:tor
|
|
|
|
clean-orders:
|
|
image: recksato/robosats:${ROBOSATS_TAG:-v0.6.0-alpha@sha256:8cc975ff5942a3fb2a09827b8eaafebea1c851eb3ecf9be1aaac1f238cfa9fc1}
|
|
restart: always
|
|
container_name: clord${SUFFIX}
|
|
command: python3 manage.py clean_orders
|
|
environment:
|
|
SKIP_COLLECT_STATIC: "true"
|
|
env_file:
|
|
- ${ROBOSATS_ENVS_FILE}
|
|
network_mode: service:tor
|
|
|
|
follow-invoices:
|
|
image: recksato/robosats:${ROBOSATS_TAG:-v0.6.0-alpha@sha256:8cc975ff5942a3fb2a09827b8eaafebea1c851eb3ecf9be1aaac1f238cfa9fc1}
|
|
container_name: invo${SUFFIX}
|
|
restart: always
|
|
env_file:
|
|
- ${ROBOSATS_ENVS_FILE}
|
|
environment:
|
|
SKIP_COLLECT_STATIC: "true"
|
|
command: python3 manage.py follow_invoices
|
|
network_mode: service:tor
|
|
|
|
telegram-watcher:
|
|
image: recksato/robosats:${ROBOSATS_TAG:-v0.6.0-alpha@sha256:8cc975ff5942a3fb2a09827b8eaafebea1c851eb3ecf9be1aaac1f238cfa9fc1}
|
|
container_name: tg${SUFFIX}
|
|
restart: always
|
|
environment:
|
|
SKIP_COLLECT_STATIC: "true"
|
|
env_file:
|
|
- ${ROBOSATS_ENVS_FILE}
|
|
command: python3 manage.py telegram_watcher
|
|
network_mode: service:tor
|
|
|
|
celery:
|
|
image: recksato/robosats:${ROBOSATS_TAG:-v0.6.0-alpha@sha256:8cc975ff5942a3fb2a09827b8eaafebea1c851eb3ecf9be1aaac1f238cfa9fc1}
|
|
container_name: cele${SUFFIX}
|
|
restart: always
|
|
env_file:
|
|
- ${ROBOSATS_ENVS_FILE}
|
|
environment:
|
|
SKIP_COLLECT_STATIC: "true"
|
|
command: celery -A robosats worker --loglevel=WARNING
|
|
depends_on:
|
|
- redis
|
|
network_mode: service:tor
|
|
|
|
celery-beat:
|
|
image: recksato/robosats:${ROBOSATS_TAG:-v0.6.0-alpha@sha256:8cc975ff5942a3fb2a09827b8eaafebea1c851eb3ecf9be1aaac1f238cfa9fc1}
|
|
container_name: beat${SUFFIX}
|
|
restart: always
|
|
env_file:
|
|
- ${ROBOSATS_ENVS_FILE}
|
|
environment:
|
|
SKIP_COLLECT_STATIC: "true"
|
|
command: celery -A robosats beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
|
|
depends_on:
|
|
- redis
|
|
network_mode: service:tor
|
|
|
|
# Example simple backup service (copy/paste to attached storage locations)
|
|
# backup:
|
|
# build: ./backup
|
|
# container_name: bu${SUFFIX}
|
|
# restart: always
|
|
# environment:
|
|
# NETWORK: ${NETWORK}
|
|
# volumes:
|
|
# - ${DATABASE}:/running/database:ro
|
|
# - ${BITCOIN_DATA}:/running/bitcoin:ro
|
|
# - ${LND_DATA}:/running/lnd:ro
|
|
# - ${LIT_DATA}:/running/lit:ro
|
|
# - ${STATIC}:/running/static:ro
|
|
# - ${BU_DIR1}:/backup1
|
|
# - ${BU_DIR2}:/backup2
|
|
# - ${BU_DIR3}:/backup3
|
|
|
|
volumes:
|
|
redisdata:
|