LUKSO Docker factory 🚢🏭

LUKSO Docker factory is a tool that is used to generate your own node docker-compose.yaml files.
Set up your node in a matter of seconds.

Note: this wizard is still WIP. For more information, please check the LUKSO Docs.

To start your node using LUKSO Docker Factory:

  1. Prepare a new folder for your node and enter it
  2. Select your clients
  3. Fill the settings
  4. Copy the generated docker-compose.yaml file below and paste it into your node folder
  5. Install configuration files by running following commands:
    $ mkdir ./configs
    $ wget -O ./configs/genesis.ssz https://raw.githubusercontent.com/lukso-network/network-configs/main/mainnet/shared/genesis.ssz
    $ wget -O ./configs/genesis.json https://raw.githubusercontent.com/lukso-network/network-configs/main/mainnet/shared/genesis.json
    $ wget -O ./configs/config.yaml https://raw.githubusercontent.com/lukso-network/network-configs/main/mainnet/shared/config.yaml
    
  6. Run your node using docker-compose up command (for more information about docker-compose visit this page)

Execution clients:

Consensus clients:

General settings

Paths

version: 3.8
services:

  init-erigon:
    image: thorax/erigon:latest
    container_name: init-erigon
    volumes:
      - ./data/execution:/execution_data
      - ./configs:/configs
    command: >
      --datadir=/execution_data init /configs/genesis.json

  erigon:
    image: thorax/erigon:latest
    container_name: erigon
    depends_on:
      - init-erigon
    volumes:
      - ./data/execution:/execution_data
      - ./configs:/configs
    restart: unless-stopped
    stop_signal: SIGINT
    stop_grace_period: 2m
    command: >
      --datadir=/execution_data
      --networkid=42
      --externalcl
      --miner.gaslimit=42000000
      --authrpc.jwtsecret=/configs/jwt.hex
      --snapshots=0
      --nat="extip:0.0.0.0"
      --http
      --http.addr="0.0.0.0"
      --http.api="erigon,engine"
      --http.vhosts="*"
      --authrpc.addr="0.0.0.0"
      --authrpc.port=8551
      --authrpc.vhosts="*"
      --bootnodes="enode://c2bb19ce658cfdf1fecb45da599ee6c7bf36e5292efb3fb61303a0b2cd07f96c20ac9b376a464d687ac456675a2e4a44aec39a0509bcb4b6d8221eedec25aca2@34.147.73.193:30303,enode://276f14e4049840a0f5aa5e568b772ab6639251149a52ba244647277175b83f47b135f3b3d8d846cf81a8e681684e37e9fc10ec205a9841d3ae219aa08aa9717b@34.32.192.211:30303"
      --metrics
      --metrics.addr="0.0.0.0"
    network_mode: host
    logging:
      driver: "local"
      options:
        max-size: "100m"

  lighthouse:
    image: sigp/lighthouse:latest
    container_name: lighthouse
    restart: unless-stopped
    volumes:
      - ./data/consensus:/consensus_data
      - ./configs:/configs
    command:
      - lighthouse
      - --testnet-dir=/configs/shared
      - bn
      - --datadir=/consensus_data
      - --listen-address=0.0.0.0
      - --eth1
      - --http
      - --http-address=0.0.0.0
      - --http-port=4000
      - --enr-udp-port=9000
      - --enr-tcp-port=9000
      - --discovery-port=9000
      - --enable-private-discovery
      - --enr-address=0.0.0.0
      - --execution-jwt=/configs/jwt.hex
      - --execution-endpoint=http://localhost:8551
      - --metrics
      - --metrics-address=0.0.0.0
      - --metrics-allow-origin=*
      - --metrics-port=5054
      - --suggested-fee-recipient=0x0000000000000000000000000000000000000000
      - --boot-nodes=enr:-MK4QJ-Bt9HATy4GQawPbDDTArtnt_phuWiVVoWKhS7-DSNjVzmGKBI9xKzpyRtpeCWd3qA9737FTdkKGDgtHfF4N-6GAYlzJCVRh2F0dG5ldHOIAAAAAAAAAACEZXRoMpA2ulfbQgAABP__________gmlkgnY0gmlwhCKTScGJc2VjcDI1NmsxoQJNpNUERqKhA8eDDC4tovG3a59NXVOW16JDFAWXoFFTEYhzeW5jbmV0cwCDdGNwgjLIg3VkcIIu4A,enr:-MK4QHcS3JeTtVjOuJyVXvO1E6XJWqiwmhLfodel6vARPI8ve_2q9vVn8LpIL964qBId7zGpSVKw6oOPAaRm2H7ywYiGAYmHDeBbh2F0dG5ldHOIAAAAAAAAAACEZXRoMpA2ulfbQgAABP__________gmlkgnY0gmlwhCIgwNOJc2VjcDI1NmsxoQNGVC8JPcsqsZPoohLP1ujAYpBfS0dBwiz4LeoUQ-k5OohzeW5jbmV0cwCDdGNwgjLIg3VkcIIu4A
      - --slots-per-restore-point=32
    network_mode: host