diff --git a/fraxtal-mainnet.yml b/fraxtal-mainnet.yml new file mode 120000 index 00000000..296a0de2 --- /dev/null +++ b/fraxtal-mainnet.yml @@ -0,0 +1 @@ +fraxtal/op-geth/fraxtal-mainnet-op-geth-pruned-pebble-path.yml \ No newline at end of file diff --git a/fraxtal-testnet.yml b/fraxtal-testnet.yml new file mode 120000 index 00000000..1c693247 --- /dev/null +++ b/fraxtal-testnet.yml @@ -0,0 +1 @@ +fraxtal/op-geth/fraxtal-testnet-op-geth-pruned-pebble-path.yml \ No newline at end of file diff --git a/fraxtal/op-geth/fraxtal-mainnet-op-geth-archive-leveldb-hash.yml b/fraxtal/op-geth/fraxtal-mainnet-op-geth-archive-leveldb-hash.yml new file mode 100644 index 00000000..4e28a41f --- /dev/null +++ b/fraxtal/op-geth/fraxtal-mainnet-op-geth-archive-leveldb-hash.yml @@ -0,0 +1,109 @@ + + +services: + fraxtal-mainnet-archive: + + image: ghcr.io/fraxfinance/fraxtal-op-geth:v1.101503.1-frax-1.2.0 + + expose: + - 8545 + - 6060 + ports: + - "10290:10290" + - "10290:10290/udp" + entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""] + restart: unless-stopped + stop_grace_period: 3m + volumes: + - fraxtal-mainnet-op-geth-archive-leveldb-hash:/data + - .jwtsecret:/jwtsecret:ro + - ./fraxtal/mainnet:/config + env_file: + - ./fraxtal/mainnet.env + environment: + - "GETH_DATADIR=/data" + + - "GETH_GCMODE=archive" + - "GETH_SYNCMODE=full" + - "GETH_STATE_SCHEME=hash" + - "GETH_DB_ENGINE=leveldb" + - "GETH_NAT=extip:${IP}" + - "GETH_PORT=10290" + - "GETH_WS_PORT=8545" + - "GETH_HTTP=true" + - "GETH_HTTP_ADDR=0.0.0.0" + - "GETH_HTTP_VHOSTS=*" + - "GETH_WS=true" + - "GETH_WS_ADDR=0.0.0.0" + - "GETH_WS_ORIGINS=*" + - "GETH_HTTP_API=eth,net,debug,admin,web3" + - "GETH_AUTHRPC_JWTSECRET=/jwtsecret" + - "GETH_AUTHRPC_ADDR=0.0.0.0" + - "GETH_AUTHRPC_VHOSTS=*" + - "GETH_ROLLUP_SEQUENCERHTTP=https://rpc.mainnet.frax.com" + + + + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.fraxtal-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/fraxtal-mainnet-archive" + - "traefik.http.services.fraxtal-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545" + - "traefik.http.routers.fraxtal-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure" + - "traefik.http.routers.fraxtal-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver" + - "traefik.http.routers.fraxtal-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/fraxtal-mainnet-archive`)" + - "traefik.http.routers.fraxtal-mainnet-op-geth-archive-leveldb-hash.middlewares=fraxtal-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist" + networks: + - chains + + + fraxtal-mainnet-archive-node: + + image: ghcr.io/fraxfinance/fraxtal-op-node:v1.12.2-frax-1.1.0 + + expose: + - 8545 + - 7300 + - 6060 + ports: + - "15290:15290" + - "15290:15290/udp" + entrypoint: [ "op-node" ] + restart: unless-stopped + volumes: + - .jwtsecret:/jwtsecret:ro + - ./fraxtal/mainnet:/config + stop_grace_period: 30s + env_file: + - ./fraxtal/mainnet.env + environment: + - "OP_NODE_ROLLUP_CONFIG=/config/rollup.json" + - "OP_NODE_SYNCMODE=execution-layer" + - "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}" + - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" + - "OP_NODE_L2_ENGINE_RPC=http://fraxtal-mainnet-archive:8551" + - "OP_NODE_LOG_LEVEL=info" + - "OP_NODE_METRICS_ADDR=0.0.0.0" + - "OP_NODE_METRICS_ENABLED=true" + - "OP_NODE_METRICS_PORT=7300" + - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" + - "OP_NODE_P2P_LISTEN_TCP_PORT=15290" + - "OP_NODE_P2P_LISTEN_UDP_PORT=15290" + - "OP_NODE_RPC_ADDR=0.0.0.0" + - "OP_NODE_P2P_ADVERTISE_IP=${IP}" + - "OP_NODE_RPC_PORT=8545" + - "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log" + - "OP_NODE_VERIFIER_L1_CONFS=0" + - "OP_NODE_STATIC_PEERS=" + - "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}" + - "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}" + - "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}" + - "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}" + + + + + networks: + - chains + +volumes: + fraxtal-mainnet-op-geth-archive-leveldb-hash: \ No newline at end of file diff --git a/fraxtal/op-geth/fraxtal-mainnet-op-geth-pruned-pebble-path.yml b/fraxtal/op-geth/fraxtal-mainnet-op-geth-pruned-pebble-path.yml new file mode 100644 index 00000000..05117fe3 --- /dev/null +++ b/fraxtal/op-geth/fraxtal-mainnet-op-geth-pruned-pebble-path.yml @@ -0,0 +1,109 @@ + + +services: + fraxtal-mainnet: + + image: ghcr.io/fraxfinance/fraxtal-op-geth:v1.101503.1-frax-1.2.0 + + expose: + - 8545 + - 6060 + ports: + - "10282:10282" + - "10282:10282/udp" + entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""] + restart: unless-stopped + stop_grace_period: 3m + volumes: + - fraxtal-mainnet-op-geth-pruned-pebble-path:/data + - .jwtsecret:/jwtsecret:ro + - ./fraxtal/mainnet:/config + env_file: + - ./fraxtal/mainnet.env + environment: + - "GETH_DATADIR=/data" + + - "GETH_GCMODE=full" + - "GETH_SYNCMODE=snap" + - "GETH_STATE_SCHEME=path" + - "GETH_DB_ENGINE=pebble" + - "GETH_NAT=extip:${IP}" + - "GETH_PORT=10282" + - "GETH_WS_PORT=8545" + - "GETH_HTTP=true" + - "GETH_HTTP_ADDR=0.0.0.0" + - "GETH_HTTP_VHOSTS=*" + - "GETH_WS=true" + - "GETH_WS_ADDR=0.0.0.0" + - "GETH_WS_ORIGINS=*" + - "GETH_HTTP_API=eth,net,debug,admin,web3" + - "GETH_AUTHRPC_JWTSECRET=/jwtsecret" + - "GETH_AUTHRPC_ADDR=0.0.0.0" + - "GETH_AUTHRPC_VHOSTS=*" + - "GETH_ROLLUP_SEQUENCERHTTP=https://rpc.mainnet.frax.com" + + + + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.fraxtal-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/fraxtal-mainnet" + - "traefik.http.services.fraxtal-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545" + - "traefik.http.routers.fraxtal-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure" + - "traefik.http.routers.fraxtal-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver" + - "traefik.http.routers.fraxtal-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/fraxtal-mainnet`)" + - "traefik.http.routers.fraxtal-mainnet-op-geth-pruned-pebble-path.middlewares=fraxtal-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist" + networks: + - chains + + + fraxtal-mainnet-node: + + image: ghcr.io/fraxfinance/fraxtal-op-node:v1.12.2-frax-1.1.0 + + expose: + - 8545 + - 7300 + - 6060 + ports: + - "15282:15282" + - "15282:15282/udp" + entrypoint: [ "op-node" ] + restart: unless-stopped + volumes: + - .jwtsecret:/jwtsecret:ro + - ./fraxtal/mainnet:/config + stop_grace_period: 30s + env_file: + - ./fraxtal/mainnet.env + environment: + - "OP_NODE_ROLLUP_CONFIG=/config/rollup.json" + - "OP_NODE_SYNCMODE=execution-layer" + - "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}" + - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" + - "OP_NODE_L2_ENGINE_RPC=http://fraxtal-mainnet:8551" + - "OP_NODE_LOG_LEVEL=info" + - "OP_NODE_METRICS_ADDR=0.0.0.0" + - "OP_NODE_METRICS_ENABLED=true" + - "OP_NODE_METRICS_PORT=7300" + - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" + - "OP_NODE_P2P_LISTEN_TCP_PORT=15282" + - "OP_NODE_P2P_LISTEN_UDP_PORT=15282" + - "OP_NODE_RPC_ADDR=0.0.0.0" + - "OP_NODE_P2P_ADVERTISE_IP=${IP}" + - "OP_NODE_RPC_PORT=8545" + - "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log" + - "OP_NODE_VERIFIER_L1_CONFS=0" + - "OP_NODE_STATIC_PEERS=" + - "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}" + - "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}" + - "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}" + - "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}" + + + + + networks: + - chains + +volumes: + fraxtal-mainnet-op-geth-pruned-pebble-path: \ No newline at end of file diff --git a/fraxtal/op-geth/fraxtal-testnet-op-geth-archive-leveldb-hash.yml b/fraxtal/op-geth/fraxtal-testnet-op-geth-archive-leveldb-hash.yml new file mode 100644 index 00000000..30a1520e --- /dev/null +++ b/fraxtal/op-geth/fraxtal-testnet-op-geth-archive-leveldb-hash.yml @@ -0,0 +1,109 @@ + + +services: + fraxtal-testnet-archive: + + image: ghcr.io/fraxfinance/fraxtal-op-geth:v1.101503.1-frax-1.2.0 + + expose: + - 8545 + - 6060 + ports: + - "10294:10294" + - "10294:10294/udp" + entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""] + restart: unless-stopped + stop_grace_period: 3m + volumes: + - fraxtal-testnet-op-geth-archive-leveldb-hash:/data + - .jwtsecret:/jwtsecret:ro + - ./fraxtal/mainnet:/config + env_file: + - ./fraxtal/testnet.env + environment: + - "GETH_DATADIR=/data" + + - "GETH_GCMODE=archive" + - "GETH_SYNCMODE=full" + - "GETH_STATE_SCHEME=hash" + - "GETH_DB_ENGINE=leveldb" + - "GETH_NAT=extip:${IP}" + - "GETH_PORT=10294" + - "GETH_WS_PORT=8545" + - "GETH_HTTP=true" + - "GETH_HTTP_ADDR=0.0.0.0" + - "GETH_HTTP_VHOSTS=*" + - "GETH_WS=true" + - "GETH_WS_ADDR=0.0.0.0" + - "GETH_WS_ORIGINS=*" + - "GETH_HTTP_API=eth,net,debug,admin,web3" + - "GETH_AUTHRPC_JWTSECRET=/jwtsecret" + - "GETH_AUTHRPC_ADDR=0.0.0.0" + - "GETH_AUTHRPC_VHOSTS=*" + - "GETH_ROLLUP_SEQUENCERHTTP=https://rpc.testnet.frax.com" + + + + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.fraxtal-testnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/fraxtal-testnet-archive" + - "traefik.http.services.fraxtal-testnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545" + - "traefik.http.routers.fraxtal-testnet-op-geth-archive-leveldb-hash.entrypoints=websecure" + - "traefik.http.routers.fraxtal-testnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver" + - "traefik.http.routers.fraxtal-testnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/fraxtal-testnet-archive`)" + - "traefik.http.routers.fraxtal-testnet-op-geth-archive-leveldb-hash.middlewares=fraxtal-testnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist" + networks: + - chains + + + fraxtal-testnet-archive-node: + + image: ghcr.io/fraxfinance/fraxtal-op-node:v1.12.2-frax-1.1.0 + + expose: + - 8545 + - 7300 + - 6060 + ports: + - "15294:15294" + - "15294:15294/udp" + entrypoint: [ "op-node" ] + restart: unless-stopped + volumes: + - .jwtsecret:/jwtsecret:ro + - ./fraxtal/mainnet:/config + stop_grace_period: 30s + env_file: + - ./fraxtal/testnet.env + environment: + - "OP_NODE_ROLLUP_CONFIG=/config/rollup.json" + - "OP_NODE_SYNCMODE=execution-layer" + - "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}" + - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" + - "OP_NODE_L2_ENGINE_RPC=http://fraxtal-testnet-archive:8551" + - "OP_NODE_LOG_LEVEL=info" + - "OP_NODE_METRICS_ADDR=0.0.0.0" + - "OP_NODE_METRICS_ENABLED=true" + - "OP_NODE_METRICS_PORT=7300" + - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" + - "OP_NODE_P2P_LISTEN_TCP_PORT=15294" + - "OP_NODE_P2P_LISTEN_UDP_PORT=15294" + - "OP_NODE_RPC_ADDR=0.0.0.0" + - "OP_NODE_P2P_ADVERTISE_IP=${IP}" + - "OP_NODE_RPC_PORT=8545" + - "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log" + - "OP_NODE_VERIFIER_L1_CONFS=0" + - "OP_NODE_STATIC_PEERS=" + - "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}" + - "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}" + - "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}" + - "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}" + + + + + networks: + - chains + +volumes: + fraxtal-testnet-op-geth-archive-leveldb-hash: \ No newline at end of file diff --git a/fraxtal/op-geth/fraxtal-testnet-op-geth-pruned-pebble-path.yml b/fraxtal/op-geth/fraxtal-testnet-op-geth-pruned-pebble-path.yml new file mode 100644 index 00000000..debc2c60 --- /dev/null +++ b/fraxtal/op-geth/fraxtal-testnet-op-geth-pruned-pebble-path.yml @@ -0,0 +1,109 @@ + + +services: + fraxtal-testnet: + + image: ghcr.io/fraxfinance/fraxtal-op-geth:v1.101503.1-frax-1.2.0 + + expose: + - 8545 + - 6060 + ports: + - "10370:10370" + - "10370:10370/udp" + entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""] + restart: unless-stopped + stop_grace_period: 3m + volumes: + - fraxtal-testnet-op-geth-pruned-pebble-path:/data + - .jwtsecret:/jwtsecret:ro + - ./fraxtal/mainnet:/config + env_file: + - ./fraxtal/testnet.env + environment: + - "GETH_DATADIR=/data" + + - "GETH_GCMODE=full" + - "GETH_SYNCMODE=snap" + - "GETH_STATE_SCHEME=path" + - "GETH_DB_ENGINE=pebble" + - "GETH_NAT=extip:${IP}" + - "GETH_PORT=10370" + - "GETH_WS_PORT=8545" + - "GETH_HTTP=true" + - "GETH_HTTP_ADDR=0.0.0.0" + - "GETH_HTTP_VHOSTS=*" + - "GETH_WS=true" + - "GETH_WS_ADDR=0.0.0.0" + - "GETH_WS_ORIGINS=*" + - "GETH_HTTP_API=eth,net,debug,admin,web3" + - "GETH_AUTHRPC_JWTSECRET=/jwtsecret" + - "GETH_AUTHRPC_ADDR=0.0.0.0" + - "GETH_AUTHRPC_VHOSTS=*" + - "GETH_ROLLUP_SEQUENCERHTTP=https://rpc.testnet.frax.com" + + + + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.fraxtal-testnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/fraxtal-testnet" + - "traefik.http.services.fraxtal-testnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545" + - "traefik.http.routers.fraxtal-testnet-op-geth-pruned-pebble-path.entrypoints=websecure" + - "traefik.http.routers.fraxtal-testnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver" + - "traefik.http.routers.fraxtal-testnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/fraxtal-testnet`)" + - "traefik.http.routers.fraxtal-testnet-op-geth-pruned-pebble-path.middlewares=fraxtal-testnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist" + networks: + - chains + + + fraxtal-testnet-node: + + image: ghcr.io/fraxfinance/fraxtal-op-node:v1.12.2-frax-1.1.0 + + expose: + - 8545 + - 7300 + - 6060 + ports: + - "15370:15370" + - "15370:15370/udp" + entrypoint: [ "op-node" ] + restart: unless-stopped + volumes: + - .jwtsecret:/jwtsecret:ro + - ./fraxtal/mainnet:/config + stop_grace_period: 30s + env_file: + - ./fraxtal/testnet.env + environment: + - "OP_NODE_ROLLUP_CONFIG=/config/rollup.json" + - "OP_NODE_SYNCMODE=execution-layer" + - "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}" + - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" + - "OP_NODE_L2_ENGINE_RPC=http://fraxtal-testnet:8551" + - "OP_NODE_LOG_LEVEL=info" + - "OP_NODE_METRICS_ADDR=0.0.0.0" + - "OP_NODE_METRICS_ENABLED=true" + - "OP_NODE_METRICS_PORT=7300" + - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" + - "OP_NODE_P2P_LISTEN_TCP_PORT=15370" + - "OP_NODE_P2P_LISTEN_UDP_PORT=15370" + - "OP_NODE_RPC_ADDR=0.0.0.0" + - "OP_NODE_P2P_ADVERTISE_IP=${IP}" + - "OP_NODE_RPC_PORT=8545" + - "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log" + - "OP_NODE_VERIFIER_L1_CONFS=0" + - "OP_NODE_STATIC_PEERS=" + - "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}" + - "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}" + - "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}" + - "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}" + + + + + networks: + - chains + +volumes: + fraxtal-testnet-op-geth-pruned-pebble-path: \ No newline at end of file