services: # Bitcoin Core - regtest mode (no blockchain sync) bitcoin: image: lncm/bitcoind:v27.0 container_name: archy-bitcoin ports: - "18443:18443" # RPC - "18444:18444" # P2P volumes: - bitcoin-data:/data/.bitcoin command: | -regtest -server -rpcuser=bitcoin -rpcpassword=bitcoinpass -rpcallowip=0.0.0.0/0 -rpcbind=0.0.0.0 -txindex=1 -zmqpubrawblock=tcp://0.0.0.0:28332 -zmqpubrawtx=tcp://0.0.0.0:28333 restart: unless-stopped networks: - archy-net # BTCPay Server btcpay: image: btcpayserver/btcpayserver:1.13.5 container_name: archy-btcpay ports: - "14142:49392" environment: BTCPAY_PROTOCOL: http BTCPAY_HOST: localhost:14142 BTCPAY_CHAINS: btc BTCPAY_BTCEXPLORERURL: http://mempool:4080 BTCPAY_BTCRPCURL: http://bitcoin:18443 BTCPAY_BTCRPCUSER: bitcoin BTCPAY_BTCRPCPASSWORD: bitcoinpass depends_on: - bitcoin - postgres-btcpay restart: unless-stopped networks: - archy-net postgres-btcpay: image: postgres:15-alpine container_name: archy-btcpay-db environment: POSTGRES_DB: btcpay POSTGRES_USER: btcpay POSTGRES_PASSWORD: btcpaypass volumes: - postgres-btcpay-data:/var/lib/postgresql/data restart: unless-stopped networks: - archy-net # Home Assistant homeassistant: image: homeassistant/home-assistant:2024.1 container_name: archy-homeassistant ports: - "8123:8123" volumes: - homeassistant-data:/config environment: TZ: America/New_York restart: unless-stopped networks: - archy-net # Grafana grafana: image: grafana/grafana:10.2.0 container_name: archy-grafana ports: - "3000:3000" volumes: - grafana-data:/var/lib/grafana environment: GF_SECURITY_ADMIN_PASSWORD: admin GF_USERS_ALLOW_SIGN_UP: "false" restart: unless-stopped networks: - archy-net # Fedimint (using guardians setup) fedimint: image: fedimint/fedimintd:v0.3.0 container_name: archy-fedimint ports: - "8173:8173" volumes: - fedimint-data:/data environment: FM_BIND_P2P: 0.0.0.0:8173 FM_BIND_API: 0.0.0.0:8174 restart: unless-stopped networks: - archy-net # Lightning Network Daemon (LND) lnd: image: lightninglabs/lnd:v0.17.4-beta container_name: archy-lnd ports: - "9735:9735" # P2P - "8080:8080" # REST - "10009:10009" # gRPC volumes: - lnd-data:/root/.lnd command: | --bitcoin.active --bitcoin.regtest --bitcoin.node=bitcoind --bitcoind.rpchost=bitcoin:18443 --bitcoind.rpcuser=bitcoin --bitcoind.rpcpass=bitcoinpass --bitcoind.zmqpubrawblock=tcp://bitcoin:28332 --bitcoind.zmqpubrawtx=tcp://bitcoin:28333 --debuglevel=info --rpclisten=0.0.0.0:10009 --restlisten=0.0.0.0:8080 --noseedbackup depends_on: - bitcoin restart: unless-stopped networks: - archy-net # Mempool Explorer mempool-web: image: mempool/frontend:v2.5.0 container_name: archy-mempool-web ports: - "4080:8080" environment: FRONTEND_HTTP_PORT: 8080 BACKEND_MAINNET_HTTP_HOST: mempool-api depends_on: - mempool-api restart: unless-stopped networks: - archy-net mempool-api: image: mempool/backend:v2.5.0 container_name: archy-mempool-api environment: MEMPOOL_BACKEND: electrum ELECTRUM_HOST: bitcoin ELECTRUM_PORT: 50001 ELECTRUM_TLS_ENABLED: "false" CORE_RPC_HOST: bitcoin CORE_RPC_PORT: 18443 CORE_RPC_USERNAME: bitcoin CORE_RPC_PASSWORD: bitcoinpass DATABASE_ENABLED: "true" DATABASE_HOST: mysql-mempool DATABASE_DATABASE: mempool DATABASE_USERNAME: mempool DATABASE_PASSWORD: mempoolpass depends_on: - bitcoin - mysql-mempool restart: unless-stopped networks: - archy-net mysql-mempool: image: mariadb:10.11 container_name: archy-mempool-db environment: MYSQL_DATABASE: mempool MYSQL_USER: mempool MYSQL_PASSWORD: mempoolpass MYSQL_ROOT_PASSWORD: rootpass volumes: - mysql-mempool-data:/var/lib/mysql restart: unless-stopped networks: - archy-net # Ollama (Local LLM) ollama: image: ollama/ollama:latest container_name: archy-ollama ports: - "11434:11434" volumes: - ollama-data:/root/.ollama restart: unless-stopped networks: - archy-net # SearXNG searxng: image: searxng/searxng:latest container_name: archy-searxng ports: - "8082:8080" volumes: - searxng-data:/etc/searxng environment: SEARXNG_BASE_URL: http://localhost:8082/ restart: unless-stopped networks: - archy-net # OnlyOffice Document Server onlyoffice: image: onlyoffice/documentserver:7.5.1 container_name: archy-onlyoffice ports: - "8083:80" volumes: - onlyoffice-data:/var/www/onlyoffice/Data - onlyoffice-logs:/var/log/onlyoffice environment: JWT_ENABLED: "false" restart: unless-stopped networks: - archy-net # Penpot penpot-frontend: image: penpotapp/frontend:latest container_name: archy-penpot-frontend ports: - "9001:80" environment: PENPOT_FLAGS: enable-registration enable-login-with-password PENPOT_BACKEND_URI: http://penpot-backend:6060 depends_on: - penpot-backend restart: unless-stopped networks: - archy-net penpot-backend: image: penpotapp/backend:latest container_name: archy-penpot-backend environment: PENPOT_FLAGS: enable-registration enable-login-with-password disable-email-verification PENPOT_DATABASE_URI: postgresql://postgres-penpot/penpot PENPOT_DATABASE_USERNAME: penpot PENPOT_DATABASE_PASSWORD: penpotpass PENPOT_REDIS_URI: redis://redis-penpot/0 PENPOT_ASSETS_STORAGE_BACKEND: assets-fs PENPOT_STORAGE_ASSETS_FS_DIRECTORY: /opt/data/assets volumes: - penpot-assets:/opt/data/assets depends_on: - postgres-penpot - redis-penpot restart: unless-stopped networks: - archy-net postgres-penpot: image: postgres:15-alpine container_name: archy-penpot-db environment: POSTGRES_DB: penpot POSTGRES_USER: penpot POSTGRES_PASSWORD: penpotpass volumes: - postgres-penpot-data:/var/lib/postgresql/data restart: unless-stopped networks: - archy-net redis-penpot: image: redis:7-alpine container_name: archy-penpot-redis restart: unless-stopped networks: - archy-net # Placeholder services for apps without direct Docker images # These will show "coming soon" pages or simple status pages endurain: image: nginx:alpine container_name: archy-endurain ports: - "8084:80" volumes: - ./docker/endurain-placeholder:/usr/share/nginx/html:ro restart: unless-stopped networks: - archy-net morphos: image: nginx:alpine container_name: archy-morphos ports: - "8081:80" volumes: - ./docker/morphos-placeholder:/usr/share/nginx/html:ro restart: unless-stopped networks: - archy-net volumes: bitcoin-data: postgres-btcpay-data: homeassistant-data: grafana-data: fedimint-data: lnd-data: mysql-mempool-data: ollama-data: searxng-data: onlyoffice-data: onlyoffice-logs: penpot-assets: postgres-penpot-data: networks: archy-net: driver: bridge