mirror of
				https://github.com/0glabs/0g-storage-node.git
				synced 2025-11-04 00:27:39 +00:00 
			
		
		
		
	update the dockerfile to build the node (#366)
This commit is contained in:
		
							parent
							
								
									347cd3e4f3
								
							
						
					
					
						commit
						229523ceec
					
				
							
								
								
									
										29
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					# ---------- Dockerfile ----------
 | 
				
			||||||
 | 
					FROM rust
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 0) Install build deps (same as you had)
 | 
				
			||||||
 | 
					RUN apt-get update && \
 | 
				
			||||||
 | 
					    apt-get install -y clang cmake build-essential pkg-config libssl-dev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 1) Copy sources and build the binary
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					COPY . .
 | 
				
			||||||
 | 
					RUN cargo build --release
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 2) Keep the binary on $PATH (optional convenience)
 | 
				
			||||||
 | 
					RUN install -Dm755 target/release/zgs_node /usr/local/bin/zgs_node
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 3) Persist chain data
 | 
				
			||||||
 | 
					VOLUME ["/data"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					# 4) Runtime flags – grab everything from env vars that you’ll pass with
 | 
				
			||||||
 | 
					#    `docker run -e …`.  Shell-form CMD lets us interpolate ${…} at start-time.
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					CMD zgs_node \
 | 
				
			||||||
 | 
					    --config run/config-testnet-turbo.toml \
 | 
				
			||||||
 | 
					    --log-config-file run/log_config \
 | 
				
			||||||
 | 
					    --miner-key "${STORAGE_MINER_PRIVATE_KEY:?missing STORAGE_MINER_PRIVATE_KEY}" \
 | 
				
			||||||
 | 
					    --blockchain-rpc-endpoint "${STORAGE_BLOCKCHAIN_RPC_ENDPOINT:?missing STORAGE_BLOCKCHAIN_RPC_ENDPOINT}" \
 | 
				
			||||||
 | 
					    --network-enr-address "${STORAGE_ENR_ADDRESS:?missing STORAGE_ENR_ADDRESS}" \
 | 
				
			||||||
 | 
					    --db-max-num-chunks "${STORAGE_DB_MAX_NUM_SECTORS:-8000000000}"
 | 
				
			||||||
@ -1,6 +0,0 @@
 | 
				
			|||||||
FROM rust
 | 
					 | 
				
			||||||
VOLUME ["/data"]
 | 
					 | 
				
			||||||
COPY . .
 | 
					 | 
				
			||||||
RUN apt-get update && apt-get install -y clang cmake build-essential pkg-config libssl-dev
 | 
					 | 
				
			||||||
RUN cargo build --release
 | 
					 | 
				
			||||||
CMD ["./target/release/zgs_node", "--config", "run/config-testnet-turbo.toml", "--log", "run/log_config"]
 | 
					 | 
				
			||||||
@ -9,6 +9,7 @@ pub fn cli_app() -> Command {
 | 
				
			|||||||
            arg!(--"blockchain-rpc-endpoint" [URL] "Sets blockchain RPC endpoint (Default: http://127.0.0.1:8545)")
 | 
					            arg!(--"blockchain-rpc-endpoint" [URL] "Sets blockchain RPC endpoint (Default: http://127.0.0.1:8545)")
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        .arg(arg!(--"db-max-num-chunks" [NUM] "Sets the max number of chunks to store in db (Default: None)"))
 | 
					        .arg(arg!(--"db-max-num-chunks" [NUM] "Sets the max number of chunks to store in db (Default: None)"))
 | 
				
			||||||
 | 
					        .arg(arg!(--"network-enr-address" [URL] "Sets the network ENR address (Default: None)"))
 | 
				
			||||||
        .allow_external_subcommands(true)
 | 
					        .allow_external_subcommands(true)
 | 
				
			||||||
        .version(zgs_version::VERSION)
 | 
					        .version(zgs_version::VERSION)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -33,7 +33,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# List of nodes to bootstrap UDP discovery. Note, `network_enr_address` should be
 | 
					# List of nodes to bootstrap UDP discovery. Note, `network_enr_address` should be
 | 
				
			||||||
# configured as well to enable UDP discovery.
 | 
					# configured as well to enable UDP discovery.
 | 
				
			||||||
network_boot_nodes = ["/ip4/47.251.117.133/udp/1234/p2p/16Uiu2HAmTVDGNhkHD98zDnJxQWu3i1FL1aFYeh9wiQTNu4pDCgps","/ip4/47.76.61.226/udp/1234/p2p/16Uiu2HAm2k6ua2mGgvZ8rTMV8GhpW71aVzkQWy7D37TTDuLCpgmX"]
 | 
					network_boot_nodes = ["/ip4/47.251.79.83/udp/1234/p2p/16Uiu2HAkvJYQABP1MdvfWfUZUzGLx1sBSDZ2AT92EFKcMCCPVawV", "/ip4/47.238.87.44/udp/1234/p2p/16Uiu2HAmFGsLoajQdEds6tJqsLX7Dg8bYd2HWR4SbpJUut4QXqCj", "/ip4/47.251.78.104/udp/1234/p2p/16Uiu2HAmSe9UWdHrqkn2mKh99b9DwYZZcea6krfidtU3e5tiHiwN", "/ip4/47.76.30.235/udp/1234/p2p/16Uiu2HAm5tCqwGtXJemZqBhJ9JoQxdDgkWYavfCziaqaAYkGDSfU"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# List of libp2p nodes to initially connect to.
 | 
					# List of libp2p nodes to initially connect to.
 | 
				
			||||||
# network_libp2p_nodes = []
 | 
					# network_libp2p_nodes = []
 | 
				
			||||||
@ -80,11 +80,11 @@ network_boot_nodes = ["/ip4/47.251.117.133/udp/1234/p2p/16Uiu2HAmTVDGNhkHD98zDnJ
 | 
				
			|||||||
# blockchain_rpc_endpoint = "http://127.0.0.1:8545"
 | 
					# blockchain_rpc_endpoint = "http://127.0.0.1:8545"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Flow contract address to sync event logs.
 | 
					# Flow contract address to sync event logs.
 | 
				
			||||||
log_contract_address = "0xbD2C3F0E65eDF5582141C35969d66e34629cC768"
 | 
					log_contract_address = "0x56A565685C9992BF5ACafb940ff68922980DBBC5"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Block number to sync event logs from blockchain. Generally, this is
 | 
					# Block number to sync event logs from blockchain. Generally, this is
 | 
				
			||||||
# the block number when flow contract deployed.
 | 
					# the block number when flow contract deployed.
 | 
				
			||||||
log_sync_start_block_number = 595059
 | 
					log_sync_start_block_number = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Number of blocks to confirm a transaction.
 | 
					# Number of blocks to confirm a transaction.
 | 
				
			||||||
# confirmation_block_count = 3
 | 
					# confirmation_block_count = 3
 | 
				
			||||||
@ -158,7 +158,7 @@ log_sync_start_block_number = 595059
 | 
				
			|||||||
#######################################################################
 | 
					#######################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Mine contract address for incentive.
 | 
					# Mine contract address for incentive.
 | 
				
			||||||
mine_contract_address = "0x6815F41019255e00D6F34aAB8397a6Af5b6D806f"
 | 
					mine_contract_address = "0xB87E0e5657C25b4e132CB6c34134C0cB8A962AD6"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Miner key is used to sign blockchain transaction for incentive.
 | 
					# Miner key is used to sign blockchain transaction for incentive.
 | 
				
			||||||
# The value should be a hex string of length 64 without 0x prefix.
 | 
					# The value should be a hex string of length 64 without 0x prefix.
 | 
				
			||||||
@ -194,7 +194,7 @@ db_max_num_sectors = 4000000000
 | 
				
			|||||||
# This only applies if there is no stored shard config in db.
 | 
					# This only applies if there is no stored shard config in db.
 | 
				
			||||||
# shard_position = "0/2"
 | 
					# shard_position = "0/2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
reward_contract_address = "0x51998C4d486F406a788B766d93510980ae1f9360"
 | 
					reward_contract_address = "0x233B2768332e4Bae542824c93cc5c8ad5d44517E"
 | 
				
			||||||
# The time interval to check if we should half `shard_position` to prune data.
 | 
					# The time interval to check if we should half `shard_position` to prune data.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# prune_check_time_s = 60
 | 
					# prune_check_time_s = 60
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user