Files
purple-explorer/Dockerfile
T
davide 306f494cd8 Add Docker setup for BitcoinPurple explorer
- Dockerfile: node:20-alpine, compiles SCSS at build time, single image
  used for web server and all sync modes (blocks, peers, markets)
- docker-compose.yml: explorer + MongoDB (bind-mounted ./db) on shared
  'purple' network alongside bitcoinpurpled and electrumx
- docker/entrypoint.sh: generates settings.json from env vars via
  envsubst, dispatches to web/sync-blocks/sync-peers/reindex modes
- docker/settings.json.tmpl: minimal settings template parametrized
  for BitcoinPurple (coin, wallet RPC, MongoDB, theme)
- docker/mongo-init.sh: creates app user in explorerdb on first start
- .env.example: pre-filled defaults for BitcoinPurple
- CLAUDE.md: codebase guidance for Claude Code
- .gitignore: add db/ (MongoDB bind-mount data directory)
2026-04-28 13:39:53 +02:00

22 lines
457 B
Docker

FROM node:20-alpine
# gettext provides envsubst for settings.json template rendering
RUN apk add --no-cache gettext bash
WORKDIR /app
COPY package*.json ./
RUN npm install --omit=dev
COPY . .
# Compile SCSS → CSS (prestart.js also connects to MongoDB which isn't available at build time)
RUN node ./scripts/compile_css.js
RUN chmod +x /app/docker/entrypoint.sh && mkdir -p /app/tmp
EXPOSE 3001
ENTRYPOINT ["/app/docker/entrypoint.sh"]
CMD ["web"]