diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 925cc7673..434615cb8 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -2,6 +2,7 @@ version: "3.3" services: geth: image: ethereum/client-go:v1.14.3 + user: "${DOCKER_UID:-1000}:${DOCKER_GID:-1000}" environment: - DEV_PERIOD ports: diff --git a/docker/scripts/v2/deploy-docker.sh b/docker/scripts/v2/deploy-docker.sh index 26cd6c18a..80f5f2e9a 100755 --- a/docker/scripts/v2/deploy-docker.sh +++ b/docker/scripts/v2/deploy-docker.sh @@ -3,25 +3,31 @@ set -e # Define cleanup function cleanup() { - sudo DEV_PERIOD=1 docker-compose -f docker/docker-compose.yml down + DEV_PERIOD=1 docker-compose -f docker/docker-compose.yml down } # Configure "trap" in case there's an error trap cleanup ERR -sudo rm -rf docker/gethData/geth_data -sudo DEV_PERIOD=1 docker-compose -f docker/docker-compose.yml up -d geth +rm -rf docker/gethData/geth_data + +# Set UID/GID so container runs as current user, not root +export DOCKER_UID=$(id -u) +export DOCKER_GID=$(id -g) + +# Create the data directory before starting container (will be owned by current user) +mkdir -p docker/gethData/geth_data + +DEV_PERIOD=1 docker-compose -f docker/docker-compose.yml up -d geth sleep 5 node docker/scripts/fund-accounts.ts cp docker/scripts/v2/deploy_parameters_docker.json deployment/v2/deploy_parameters.json cp docker/scripts/v2/create_rollup_parameters_docker.json deployment/v2/create_rollup_parameters.json npm run deploy:testnet:v2:localhost -sudo rm -rf docker/deploymentOutput +rm -rf docker/deploymentOutput mkdir docker/deploymentOutput -sudo mv deployment/v2/deploy_output.json docker/deploymentOutput -sudo mv deployment/v2/genesis.json docker/deploymentOutput -[ -f deployment/v2/genesis_sovereign.json ] && sudo mv deployment/v2/genesis_sovereign.json docker/deploymentOutput -sudo mv deployment/v2/create_rollup_output_* docker/deploymentOutput/create_rollup_output.json -sudo DEV_PERIOD=1 docker-compose -f docker/docker-compose.yml down -sudo docker build -t hermeznetwork/geth-zkevm-contracts -f docker/Dockerfile . -# Let it readable for the multiplatform build coming later! -sudo chmod -R go+rxw docker/gethData +mv deployment/v2/deploy_output.json docker/deploymentOutput +mv deployment/v2/genesis.json docker/deploymentOutput +[ -f deployment/v2/genesis_sovereign.json ] && mv deployment/v2/genesis_sovereign.json docker/deploymentOutput +mv deployment/v2/create_rollup_output_* docker/deploymentOutput/create_rollup_output.json +DEV_PERIOD=1 docker-compose -f docker/docker-compose.yml down +docker build -t hermeznetwork/geth-zkevm-contracts -f docker/Dockerfile . diff --git a/docker/scripts/v2/deploy-dockerv2-all.sh b/docker/scripts/v2/deploy-dockerv2-all.sh index a4fbf49f5..b7fec1a06 100755 --- a/docker/scripts/v2/deploy-dockerv2-all.sh +++ b/docker/scripts/v2/deploy-dockerv2-all.sh @@ -3,15 +3,23 @@ set -e # Define cleanup function cleanup() { - sudo DEV_PERIOD=1 docker compose -f docker/docker-compose.yml down + DEV_PERIOD=1 docker compose -f docker/docker-compose.yml down } # Configure "trap" in case there's an error trap cleanup ERR # remove old data -sudo rm -rf docker/gethData/geth_data +rm -rf docker/gethData/geth_data [ -f deployment/v2/create_rollup_output_* ] && rm ./deployment/v2/create_rollup_output_* + +# Set UID/GID so container runs as current user, not root +export DOCKER_UID=$(id -u) +export DOCKER_GID=$(id -g) + +# Create the data directory before starting container (will be owned by current user) +mkdir -p docker/gethData/geth_data + # start geth -sudo DEV_PERIOD=1 docker compose -f docker/docker-compose.yml up -d geth +DEV_PERIOD=1 docker compose -f docker/docker-compose.yml up -d geth sleep 5 # fund accounts node docker/scripts/fund-accounts.ts @@ -21,7 +29,7 @@ cp docker/scripts/v2/create_rollup_parameters_docker.json deployment/v2/create_r # deploy contracts & create rollup FEP npm run deploy:testnet:v2:localhost # remove old data -sudo rm -rf docker/deploymentOutput +rm -rf docker/deploymentOutput # create new folder for deployment output mkdir docker/deploymentOutput # move rollup output to output folder @@ -51,10 +59,8 @@ npx hardhat run ./deployment/v2/4_createRollup.ts --network localhost # move rollup output to output folder mv ./deployment/v2/create_rollup_output_*.json ./docker/deploymentOutput/create_rollup_output_validium.json # move deployment output to output folder -sudo mv deployment/v2/deploy_output.json docker/deploymentOutput -sudo mv deployment/v2/genesis.json docker/deploymentOutput -[ -f deployment/v2/genesis_sovereign.json ] && sudo mv deployment/v2/genesis_sovereign.json docker/deploymentOutput -sudo DEV_PERIOD=1 docker compose -f docker/docker-compose.yml down -sudo docker build -t hermeznetwork/geth-zkevm-contracts -f docker/Dockerfile . -# Let it readable for the multiplatform build coming later! -sudo chmod -R go+rxw docker/gethData \ No newline at end of file +mv deployment/v2/deploy_output.json docker/deploymentOutput +mv deployment/v2/genesis.json docker/deploymentOutput +[ -f deployment/v2/genesis_sovereign.json ] && mv deployment/v2/genesis_sovereign.json docker/deploymentOutput +DEV_PERIOD=1 docker compose -f docker/docker-compose.yml down +docker build -t hermeznetwork/geth-zkevm-contracts -f docker/Dockerfile . \ No newline at end of file diff --git a/docker/scripts/v2/deploy-dockerv2.sh b/docker/scripts/v2/deploy-dockerv2.sh index c67baaee2..bcbb97228 100755 --- a/docker/scripts/v2/deploy-dockerv2.sh +++ b/docker/scripts/v2/deploy-dockerv2.sh @@ -3,25 +3,31 @@ set -e # Define cleanup function cleanup() { - sudo DEV_PERIOD=1 docker compose -f docker/docker-compose.yml down + DEV_PERIOD=1 docker compose -f docker/docker-compose.yml down } # Configure "trap" in case there's an error trap cleanup ERR -sudo rm -rf docker/gethData/geth_data -sudo DEV_PERIOD=1 docker compose -f docker/docker-compose.yml up -d geth +rm -rf docker/gethData/geth_data + +# Set UID/GID so container runs as current user, not root +export DOCKER_UID=$(id -u) +export DOCKER_GID=$(id -g) + +# Create the data directory before starting container (will be owned by current user) +mkdir -p docker/gethData/geth_data + +DEV_PERIOD=1 docker compose -f docker/docker-compose.yml up -d geth sleep 5 node docker/scripts/fund-accounts.ts cp docker/scripts/v2/deploy_parameters_docker.json deployment/v2/deploy_parameters.json cp docker/scripts/v2/create_rollup_parameters_docker.json deployment/v2/create_rollup_parameters.json npm run deploy:testnet:v2:localhost -sudo rm -rf docker/deploymentOutput +rm -rf docker/deploymentOutput mkdir docker/deploymentOutput -sudo mv deployment/v2/deploy_output.json docker/deploymentOutput -sudo mv deployment/v2/genesis.json docker/deploymentOutput -[ -f deployment/v2/genesis_sovereign.json ] && sudo mv deployment/v2/genesis_sovereign.json docker/deploymentOutput -sudo mv deployment/v2/create_rollup_output_* docker/deploymentOutput/create_rollup_output.json -sudo DEV_PERIOD=1 docker compose -f docker/docker-compose.yml down -sudo docker build -t hermeznetwork/geth-zkevm-contracts -f docker/Dockerfile . -# Let it readable for the multiplatform build coming later! -sudo chmod -R go+rxw docker/gethData \ No newline at end of file +mv deployment/v2/deploy_output.json docker/deploymentOutput +mv deployment/v2/genesis.json docker/deploymentOutput +[ -f deployment/v2/genesis_sovereign.json ] && mv deployment/v2/genesis_sovereign.json docker/deploymentOutput +mv deployment/v2/create_rollup_output_* docker/deploymentOutput/create_rollup_output.json +DEV_PERIOD=1 docker compose -f docker/docker-compose.yml down +docker build -t hermeznetwork/geth-zkevm-contracts -f docker/Dockerfile . \ No newline at end of file