Retool not available after server restart

Hey there.

I'm running retool on an ec2 machine.
I run the retool services using

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/tryretool/retool-onpremise/ssop/deploy-retool)" < <(echo "SSOP_xxx")

where SSOP_xxx is my retool key.

After restarting my ec2 instance the retool service is not available, and I need to rerun the command again.

Furthermore
retoolonpremise_db-connector_1 and retoolonpremise_db-ssh-connector_1 docker containers are running when the instance starts, but still retool is not avilable.

Best,
Roy

Hey @royroy!

Would you mind posting any errors you're seeing?

It might help if we can also see the result of you running sudo docker-compose ps as well as any logs/errors that arise when you execute the command to start Retool sudo docker-compose up -d. If you have any other logs that look as though they may be relevant then it's much appreciated if you can share those as well!

sudo docker-compose ps:

docker logs retoolonpremise_jobs-runner_1:

docker logs retoolonpremise_api_1 | tail

Also note the by restarting I mean stopping the machine from the aws console and starting it back up.

Another problem that arise. I can't ssh into the instance. I have to use "Session Manager" from the aws console.

Thanks for the additional logs! I have some more context questions :sweat_smile: but also getting some extra eyes on this.

  • Do you happen to have logs for the postgres container as well?
  • Also, to clarify an earlier comment - are you re-running /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/tryretool/retool-onpremise/ssop/deploy-retool)" < <(echo "SSOP_xxx") after restarting your EC2 instance? And are you able to get Retool running properly then or does it never start?
  • Lastly, what's the screen you see when trying to access Retool immediately after restarting?

Hey @Kabirdas

  1. postgres container logs:

  2. After restarting the instance and rerunning the command retool runs without issues.

  3. This is the error message. I am using a load balancer in front of the ec2 instance. When I run the command above the error disappears and I can connect to the retool server.

p.s I am using and RDS postgres DB for storing the data.

Got it, thank you!

When hit that error are you still able to access your Retool instance at http://<IPADDRESS>:3000?

Also, have you tried fully restarting your EC2 machine and seeing if you're able to ssh in after that? If not, I'm also curious to know what error you're seeing when you do try to ssh in.

I don't have direct access to the instance. My local machines doesn't allow access on that port from that machine.
I did a curl request to port 3000 but think that it gave an error that resembles a port not being used.

After running docker-compose down and restarting the machine I still can't ssh into it. Only after restarting the docker service (even that no container is running) I can ssh.

Can we see the console output when you run sudo docker-compose up -d?

Hey @Kabirdas the logs contains some information I would like to keep private.
Can I send this directly to retool support ?

Certainly! Feel free to either DM them or write in via in-app chat. If you choose the latter it's good to reference this thread so we can maintain the context.

Hi Guys...

I'm facing exactly the same problem. Can you please share if you have found a solution.

I'm using a Mac M1 Ventura and Docker 20.10.22

BR's

Hey @jamap!

Sorry for not sharing the answer here! Are you also hosting Retool on EC2?

Things looked to be working after adding a separate EC2 service to run docker-compose up, something like:

[Unit] 
Description=docker boot 
After=docker.service 

[Service] 
Type=oneshot 
RemainAfterExit=yes 
WorkingDirectory=/home/ec2-user/myapp 
ExecStart=/usr/bin/docker-compose -f /home/ec2-user/myapp/docker-compose.yml up -d --remove-orphans 

[Install] 
WantedBy=multi-user.target