node Docker & Self-Hosted Deployment

GitHub

Node.js JavaScript runtime โœจ๐Ÿข๐Ÿš€โœจ

118,905 stars JavaScript JavaScript 1 file ยท ~10,420 tokens #javascript#js#linux#macos#mit#node#nodejs#runtime
RAW Compose
1. Pull Image (DOCKERHUB) docker pull base/node
2. Docker Run (1-Click Launch) docker run -d --name node -p 8545:8545 --restart always base/node:latest
3. Podman Run podman run -d --name node -p 8545:8545 --restart always base/node:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/base/node:latest
5. ORAS Pull (OCI Artifact) oras pull base/node:latest
6. Compose Deployment docker compose up -d
docker-compose.yml
Download .yml
services:
  execution:
    build:
      context: .
      dockerfile: Dockerfile
    restart: unless-stopped
    ports:
      - "8545:8545" # RPC
      - "8546:8546" # websocket
      - "7301:6060" # metrics
      - "30303:30303" # P2P TCP
      - "30303:30303/udp" # P2P UDP
    command: ["bash", "./execution-entrypoint"]
    volumes:
      - ${HOST_DATA_DIR:-./reth-data}:/data
    env_file:
      - ${NETWORK_ENV:-.env.mainnet} # Use .env.mainnet by default, override with .env.sepolia for testnet
  node:
    build:
      context: .
      dockerfile: Dockerfile
    restart: unless-stopped
    depends_on:
      - execution
    ports:
      - "7545:8545" # RPC
      - "9222:9222" # P2P TCP
      - "9222:9222/udp" # P2P UDP
      - "7300:7300" # metrics
      - "6060:6060" # pprof
    command: ["bash", "./consensus-entrypoint"]
    env_file:
      - ${NETWORK_ENV:-.env.mainnet} # Use .env.mainnet by default, override with .env.sepolia for testnet