Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docker compose throws error: exit status 1 #221

Open
mdszn opened this issue Jan 21, 2023 · 3 comments
Open

docker compose throws error: exit status 1 #221

mdszn opened this issue Jan 21, 2023 · 3 comments
Assignees

Comments

@mdszn
Copy link

mdszn commented Jan 21, 2023

Using sedge v0.5.1 because the newest version wouldn't let me create JWT Secret.

For the last 3 days I have been syncing my consensus nodes and execution nodes. This is the command that I ran to set it up

sedge cli --network mainnet -c prysm -e geth

After everything gets synced up, a few days later i get prompted Would you like to run validator service? When I hit Y then it runs the following docker compose

docker compose -f docker-compose-scripts/docker-compose.yml up -d validator

After this runs, I get the following error

[ERRO] command 'docker compose -f docker-compose-scripts/docker-compose.yml up -d validator' throws error: exit status 1

Any idea how to fix this? The error code isn't helpful as it doesn't say why it is throwing an error

image

@cbermudez97 cbermudez97 self-assigned this Jan 23, 2023
@cbermudez97
Copy link
Contributor

Hi @mdszn and thanks for reporting. About the jwtsecret issue in our newer version is something we are aware of. A quick fix for that should be adding the -p . flag so Sedge use a different datadir.

About your new issue with the validators. Have you run sedge keys or imported some keystores manually to the sedge docker-compose-script directory? If yes please try running the following command and provide us the outputs:
docker compose -f docker-compose-scripts/docker-compose.yml up validator

In case you have not imported keystores please run the sedge keys command to have sedge generate them or copy them inside the docker-compose-scripts/keystore/validator_keys/ directory and create a keystore_password.txt file inside docker-compose-script/keystore directory that contains the passphrase you used to encrypt the keystores.

All of this files will be used by sedge to setup your validator. In case you do not want to run a validator use sedge cli with the --no-validator flag.

@mdszn
Copy link
Author

mdszn commented Jan 26, 2023

Ah okay thank you this was able to fix it and I was able to get the consensus and execution clients up. How am I able to connect to the clients? If the execution client ws is running on port 8546, i should be able to connect to it via http://host:8546/ correct? Everything I try and connect to it I get failure

@cbermudez97
Copy link
Contributor

Good to hear that solved your issue @mdszn. About your question. By default client's HTTP APIs are only accessible inside the docker-compose network except for those used for peering. If you want to access them from your machine you must use the corresponding container IP. To get these IP addresses you'll need to run something like this:

docker inspect -f {{.NetworkSettings.Networks.sedge_network.IPAddress}} execution-client

In case you want to expose these ports to your localhost you can add them to the generated docker-compose file or use the sedge cli --map-all flag. Keep in mind exposing these ports could be insecure in some cases so using a firewall is advised.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants