diff --git a/arbitrum-fullnode.prune.yml b/arbitrum-fullnode.prune.yml new file mode 100644 index 00000000..87fb6200 --- /dev/null +++ b/arbitrum-fullnode.prune.yml @@ -0,0 +1,41 @@ +version: '3.1' + +services: + arbitrum-nitro-fullnode: + image: offchainlabs/nitro-node:${NITRO_VERSION:-v2.3.1-26fad6f} + stop_grace_period: 3m + user: root + volumes: + - 'arbitrum-fullnode_data:/arbitrum-node' + expose: + - 8547 + - 8548 + command: + - --init.prune=full + - --init.url=https://snapshot.arbitrum.foundation/arb1/nitro-pruned.tar + - --persistent.chain=/arbitrum-node/data/ + - --persistent.global-config=/arbitrum-node/ + - --parent-chain.connection.url=${ARBITRUM_L1_URL} + - --parent-chain.blob-client.beacon-url=${ARBITRUM_L1_BEACON_URL} + - --chain.id=42161 + - --http.api=net,web3,eth,debug + - --http.corsdomain=* + - --http.addr=0.0.0.0 + - --http.vhosts=* + - --ws.port=8547 + - --ws.addr=0.0.0.0 + - --ws.origins=* + restart: unless-stopped + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.arbitrum-stripprefix.stripprefix.prefixes=/arbitrum-fullnode" + - "traefik.http.services.arbitrum.loadbalancer.server.port=8547" + - "traefik.http.routers.arbitrum.entrypoints=websecure" + - "traefik.http.routers.arbitrum.tls.certresolver=myresolver" + - "traefik.http.routers.arbitrum.rule=Host(`$DOMAIN`) && PathPrefix(`/arbitrum-fullnode`)" + - "traefik.http.routers.arbitrum.middlewares=arbitrum-stripprefix, ipwhitelist" + networks: + - chains + +volumes: + arbitrum-fullnode_data: diff --git a/arbitrum-nova-fullnode.prune.yml b/arbitrum-nova-fullnode.prune.yml new file mode 100644 index 00000000..b1e222f2 --- /dev/null +++ b/arbitrum-nova-fullnode.prune.yml @@ -0,0 +1,42 @@ +version: '3.1' + +services: + arbitrum-nova-fullnode: + image: offchainlabs/nitro-node:${NITRO_VERSION:-v2.3.1-26fad6f} + stop_grace_period: 3m + user: root + volumes: + - 'arbitrum-nova-fullnode_data:/arbitrum-node' + expose: + - 8547 # http + ws + command: + - --init.prune=full + - --init.url=https://snapshot.arbitrum.foundation/nova/nitro-pruned.tar + - --node.data-availability.enable + - --node.staker.enable=false + - --persistent.chain=/arbitrum-node/data/ + - --persistent.global-config=/arbitrum-node/ + - --parent-chain.connection.url=${ARBITRUM_L1_URL} + - --parent-chain.blob-client.beacon-url=${ARBITRUM_L1_BEACON_URL} + - --chain.id=42170 + - --http.api=net,web3,eth,debug + - --http.corsdomain=* + - --http.addr=0.0.0.0 + - --http.vhosts=* + - --ws.port=8547 + - --ws.addr=0.0.0.0 + - --ws.origins=* + restart: unless-stopped + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.arbitrum-nova-stripprefix.stripprefix.prefixes=/arbitrum-nova-fullnode" + - "traefik.http.services.arbitrum-nova.loadbalancer.server.port=8547" + - "traefik.http.routers.arbitrum-nova.entrypoints=websecure" + - "traefik.http.routers.arbitrum-nova.tls.certresolver=myresolver" + - "traefik.http.routers.arbitrum-nova.rule=Host(`$DOMAIN`) && PathPrefix(`/arbitrum-nova-fullnode`)" + - "traefik.http.routers.arbitrum-nova.middlewares=arbitrum-nova-stripprefix, ipwhitelist" + networks: + - chains + +volumes: + arbitrum-nova-fullnode_data: diff --git a/avalanche-fullnode.prune.yml b/avalanche-fullnode.prune.yml new file mode 100644 index 00000000..8b7e8c28 --- /dev/null +++ b/avalanche-fullnode.prune.yml @@ -0,0 +1,51 @@ +version: '3.1' + +services: + avalanche-fullnode: + image: avaplatform/avalanchego:v1.11.3 + stop_grace_period: 3m + ulimits: + nofile: 1048576 + expose: + - "9650" + - "18507" + ports: + - "18507:18507/tcp" + - "18507:18507/udp" + volumes: + - avalanche-fullnode:/root/.avalanchego + - ./avalanche/configs/chains/C/fullnode-config-offline-pruning.json:/root/.avalanchego/configs/chains/C/config.json + networks: + - chains + command: "/avalanchego/build/avalanchego --http-host= --http-allowed-hosts=* --staking-port=18507 --public-ip=$IP" + restart: unless-stopped + + + avalanche-proxy: + restart: unless-stopped + image: nginx + depends_on: + - avalanche-fullnode + expose: + - 80 + environment: + PROXY_HOST: avalanche-fullnode + RPC_PORT: 9650 + RPC_PATH: /ext/bc/C/rpc + WS_PORT: 9650 + WS_PATH: /ext/bc/C/ws + networks: + - chains + volumes: + - ./nginx-proxy:/etc/nginx/templates + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.avalanche-fullnode-stripprefix.stripprefix.prefixes=/avalanche-fullnode" + - "traefik.http.services.avalanche-fullnode.loadbalancer.server.port=80" + - "traefik.http.routers.avalanche-fullnode.entrypoints=websecure" + - "traefik.http.routers.avalanche-fullnode.tls.certresolver=myresolver" + - "traefik.http.routers.avalanche-fullnode.rule=Host(`$DOMAIN`) && PathPrefix(`/avalanche-fullnode`)" + - "traefik.http.routers.avalanche-fullnode.middlewares=avalanche-fullnode-stripprefix, ipwhitelist" + +volumes: + avalanche-fullnode: