Docker compose for dummies?


I am a self-host newbie and never installed anything on a server before.

I’ve bought a shared server, installed Docker engine and ran the Docker compose code from the documentation (chose the MySQL one because it was the first one, should I use Postgres or SQL Server? If yes why?).

Then I tried running this bit of code:

docker run -d --name nocodb-mysql \-v "$(pwd)"/nocodb:/usr/app/data/ \-p 8080:8080 \-e NC_DB="mysql2://host.docker.internal:3306?u=root&p=password&d=d1" \-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \nocodb/nocodb:latest

And it said:

docker: Error response from daemon: driver failed programming external connectivity on endpoint nocodb-mysql (5343dc17758402194e6a3854d0f04ea02f0623b3c04b3ed33018ee1c4d5562e2): Bind for failed: port is already allocated.

Which is fair enough but where do I find the right information for my account?
What’s my database Name or Number? What’s my password? Where do I find my AUTH_JWT_SECRET? How do I set it all up?

And then, where do I go or where/how do I access the NocoDB databases on my server?

I tried the http://localhost:8080/dashboard in my browser but it said: “This site can’t be reached”

Apologies if these are really dumb questions and I very much appreciate your help.

As you’ve used docker-compose it setups NocoDB as well as database (mysql in your case)
So the second command you tried failed because you already have an instance running in 8080

In order to see/change settings please check content of docker-compose.yml you are running with any text editor, if required you can specify more environment variables from that file.

And for “This site can’t be reached” error, you need to use IP address of your server instead of localhost, if you get connection refused error while doing that you need to confirm your server’s 8080 port is open to public access.

Feel free to update the thread if you have problem with any of those steps.

1 Like