It calls itself a Open Source Airtable Alternative
NocoDB is an open source #NoCode platform that turns any database into a smart spreadsheet.
It is a layer between a sql database and the user. I must say after a few hours of experimenting that it really works as it should. You can make different views.
@bartmathijssen put the docker version on my vps and it is running quick.
Airtable is free up to 1200 rows per base as they call it. If you need more they charge $12 a month for up to 5000 rows. If you would to deploy this on a vps then you can safe a lot of money and have much more space. My vps is 6 euro a month.
Getting data back is very easy. Everything comes back as json. Images as an url.
A howto would be good, I know it is a bit off topic, but it would help others (me too) to get nocoDB setup correctly on a server, in order to use it with AI2.
I have a number of blog posts detailing the steps of setting up docker and docker compose on a Ubuntu VPS.
Before continuing, I would like to point out that Peter's instance isn't set up the same way as described in this tutorial. But I think the below setup is much easier for most people to get started using NocoDB.
Next, you will need to create a docker-compose.yml file and paste in the following content:
For this set up to work, multiple settings have to be changed. You need to make sure you have a DNS entry pointing to your VPS and to replace all occurrences of noco.example.com with your own domain name. Also don't forget to replace admin@example.com with your own email address and to replace to database password with a secure password.
Finally, we can execute Docker Compose to deploy the website.
$ docker-compose up -d
You can now visit NocoDB at https://noco.example.com/dashboard to finish the set up process.
I hope this makes things more clear. If not, feel free to ask any additional questions.
You are correct, the Docker and Docker Compose installation should be the same for Ubuntu 18.04.
In my example, nginx is ran inside a Docker container. This container generates a proxy for the containers running on that host. The acme-companion container generates Let's Encrypt certificates for the desired domain names.
You could use Apache to redirect to the Docker container. In this case you can remove the nginx-proxy and acme-companion containers from the docker-compose file.
<VirtualHost *:80>
ServerName example.com ## changed to match yml file
ServerAlias www.example.com ## changed to match yml file
ServerAdmin webmaster@example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://127.0.0.1:8088/
ProxyPassReverse / http://127.0.0.1:8088/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
Port 8080 is the port the application is running on, inside the container.
The named volume exception is my fault. I forgot to copy all volumes defined in the volumes section in the docker-compose file. The original post has now been changed to have the acme volume.
The VIRTUAL_HOST environment variable tells the nginx-proxy container which port to forward traffic to. But because you have removed the nginx containers, these environment variables have become redundant. I haven't tested this, but this configuration should be sufficient:
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request
Reason: DNS lookup failure for: nocodb
Backtracked and tried original yml file, all goes well until:
ERROR: for nginx-proxy Cannot start service nginx-proxy: driver failed programming external connectivity on endpoint nginx-proxy (f6f3b7ffb4c3568280470f27407a4bd54cdcee23d3edaa60bdcc3ed6cf2ec037): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use
ERROR: Encountered errors while bringing up the project.
I stopped apache and ran docker-compose again and this time it worked, but nginx gate me a 502 Bad gateway on http (no reponse on https)
That's weird. I don't use Apache for my services, but looking at examples online changing the proxy to point to http://nocodb:8080/ should have worked. I'm not sure what is causing the 502 Bad Gateway, you can view the logs of your docker deployment using docker-compose logs -f. If you don't mind sharing them, I can take a look.
Thanks Bart, as I said above, I have moved on, this one is not for me so it seems, or my server setup is such that there is too much to undo to make it work. I might have another go when I am in the mood. Thanks for all your help and guidance, hopefully it will assist others to get setup correctly.