NocoDB works by connecting to any relational database and transforming them into a smart spreadsheet interface!
NocoDB currently works with MySQL, PostgreSQL, Microsoft SQL Server, SQLite, Amazon Aurora & MariaDB databases.
This allows you to build no-code business solutions collaboratively with teams.
Getting started is simple :
docker run -p 8080:8080 nocodb/nocodb
or
npx create-nocodb-app
Also NocoDB's app store allows you to build business workflows on views with combination of Slack, Microsoft Teams, Discord, Twilio, Whatsapp, Email & any 3rd party APIs too. Plus NocoDB provides programmatic access to APIs so that you can build integrations with Zapier / Integromat and custom applications too.
For storage you can connect to S3, Mini, GCS, Azure, DigitalOcean spaces & any S3 compatible API
NocoDB gives programmatic access to REST & GraphQL APIs. And with our API tokens it can be easily integrated with Zapier / Integromat.
I'm very excited, looking at the GitHub stars in just 24 hours after launch it looks like many others are. This looks like a text book example of successful 'Show HN' launch.
So my question is really regarding this launch, rather than NocoDB itself as all pertinent questions regarding it seems to have been asked.
I see you have got some feedback on your website regarding NocoDB after production deployment by some companies, How long you folks have been developing NocoDB? Were you using your personal funds for development?
All the best, Hope NoCoDB turns out to be another successful dual-licensed startup.
FYI, I think you are using the wrong logo on Vasyl Rakivnenko testimonial. You using the Spanish Servired (a bank network) logo instead of the Polish Servired (Road Transportation).
WOW! I am so excited by this. I'm going to build some nice CRMs and project management tools for my clients - small and growing service businesses - and attempt a cool integration with graphing and Matrix.
This is so important and the opening up of code / databases to non-technical people will create so much value.
Maybe we can work together on it! (I guess, open source means we will be)
Looks good in the Github Readme file, but having tested the docker-compose/pg setup via docker-compose I think you still have some work to do. A lot of things result in an error, or are not possible yet.
E.g. I tried a simple example with A country table containing an iso-code and a name, and a company table containing a name and a country. Somehow I can not use the iso code in the company table, I am forced to use the auto-incrementing primary key. I am not able to set iso-code column as unique which would solve my issue.
---------------------------------
The app also has UI problems. E.g. when adding a new row, one the last field edited seems to be still in editing mode since the value is left-bound and not centered like the other values. Only after entering another field the value seems to be recognized as changed and I can save the data.
Clicking on "Swagger apis dock" results in following error message "Cannot GET /nc/testproject_rest_api_HZOx/v1/graphql".
---------------------------------
Having added a few images via attachment column, I noticed that I can access those from a incognito window where I am definitely not logged in.
Hotjar seems to be a tool tracking the user interactions with the product -> https://www.hotjar.com/
This is where I stopped evaluating your product LOL
---------------------------------
Clicking on Calendar, Kanban, and Form results in a "Coming soon" message. Which is curious since, your website demonstrates it already.
---------------------------------
Those rules saying delete cascade seem to be nonsense. I was able to delete rows in both tables (country, company) without any cascading happening which would result in an inconsistent state. --> Foreign keys seem only to exist within your applications metamodel and they don't seem to be respected accordingly.
---------------------------------
My final verdict: You have a lot of work ahead of you if you want to bring this into a production ready state. Until then I recommend to others not using it with your production databases, and because of coming with the hotjar user action tracking tool not use and privacy related data with it.
With regards to Swagger thing, we allow to create multiple projects within same schema too! And this happens in NC_DB only - I imagine we 've an issue with Swagger related model creation. This should be straight forward.
Hotjar allows us to ask questionnaire about product. And the idea was to give it and google analytics as plugins so you as a customer can key in your own analytics. Happy to remove it and somebody had raised an issue of jsdeliver related to fonts.
I am not an Hotjar expert, but looking right now at the source code of your hotjar.js file it doesn't seem to be per installation but rather one config for all running NocoDBs.
This sections in particular are quite concerning to me:
Can't say if it would have sent data to your hotjar account or not since it was blocked in my browser, but to me this all seems like an involuntary data collection. But again, I am no Hotjar expert. Maybe someone else can chip in here.
I haven't built a webapp in several years, and was just trying to find a way to offer access to a DB for a non-technical person. After seeing my options for UI were (still!) basically Access and go-build-something, was resigned to losing my weekend to coming back up to speed with Django, but it looks like this should be fine.
You should check out Stacker [0] and see if it works for your usecase - we let you build apps without code using Airtable or Google Sheets as a backend. Might be what you need if time is of the essence and you don't want to worry about hosting either. I work at Stacker, my email's in my profile if you have any questions.
Monetization we'll figure it out whilst interacting with our community. AGPL : we don't want to be sorry with likes of AWS etc around :) This wouldn't stop you from using it freely or commercially.
We would be rolling out the tutorial for adding integrations.
Happy to see you try AGPL honestly. It might turn out to not be the right choice, but I think as a license it didn't get a fair test because of how businesses avoiding viral licenses made software authors shy away from them. With the AWS situation I really wish to see more use, and if it can be successful.
Snowflake is a DW solution - in most cases it is populated from other OLTP DBs and uses as a data source for BI tools. What is the purpose of editing data directly in Snowflake?..
This looks more featured than Seatable I was looking into.
A few questions on features and plans:
1. Are all the views mobile friendly,
2. Any plan for a map view,
3. Multiple views in a page? (aka dashboard)
4. How does AGPL affect getting payed to create a solution based on this? I'm not talking about offering it as a service as is as happens with elastic, redis and the cloud providers.
4. AGPL doesn't stop you getting payed for creating your own solution based out of this. The preferred way to run it is as docker. And if there are changes in NocoDB code, it needs to be shared back with community. Otherwise, it is absolutely fine to use it.
5. Plugin/apps is at the heart of NocoDB. Whilst backend part of plugin is modularised, frontend has to be done. And we are using NuxtJs which happened to be an excellent choice for this. The documentation will follow soon.
Looks like the license doesn't allow you to do that
"This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it."
https://www.gnu.org/licenses/agpl-3.0.en.html
Great news. I don't know if anyone remembers this, but there used to be a program called Ecco Pro that Airtable really reminded me of. I haven't run Ecco in probably 20 years to more so I could be entirely off the mark, but the "freeform spreadsheet" seems really similar.
Is Airtable being closed-source a problem anyone has ever had?
"I was going to use this hosted, no-code spreadsheet/database platform, but then I realized it's closed source!" is not something anyone who ever would have paid for Airtable has ever said.
> Is Airtable being closed-source a problem anyone has ever had?
Yes
> "I was going to use this hosted, no-code spreadsheet/database platform, but then I realized it's closed source!" is not something anyone who ever would have paid for Airtable has ever said.
No, but “I would like, and pay for, something like that no-code database solution, but Airtable doesn’t meet our data compliance requirements and I can’t host it on ones I control to resolve that” its something I've heard.
The product is great but their free tier row limitation is really low (500 rows per database). And then paid plans are expensive.
I was building a Jamstack site for my dad[0] using Airtable-as-a-backend, and we almost ran out for rows for his Soviet camera collection. We had to work the model around this limitation. It's not the kind of thing that made sense to pay for monthly even if the plans were cheap, and they're not.
The free limit is 1200 rows per DB now. The paid plans are expensive though. Cheapest is $120/year, and that's more than I'm personally willing to pay for any single piece of software. It's clear they're maximizing their revenue from team / enterprise sales.
That is good to hear! If you're going to have a free tier, 1,200 seems a lot more reasonable. Can't imagine that upping the count to 1,200 makes a negative difference in their conversions, given that as you said, it looks like their bread and butter is team/enterprise.
I recently came across sanity.io as a jamstack backend. Generous free offering. Rather than the spreadsheet model, you define your schema and get a nice CMS interface generated that you host as a static page
Thank you for sharing. Looks really nice. I'm always on the lookout for Jamstack backends. The spreadsheet model is great, though, because it's that much more immediately familiar for non-tech people who are otherwise acquainted with spreadsheets. Though I was surprised how much work it was to get convey the whole relational modeling thing. In that sense, a CMS interface might have been better.
It seems like it would make sense for teams that would prefer an on-prem or privately hosted solution without paying enterprise rates. It’s also probably cheaper for teams in general depending on how much work it takes to install and administer.
According to their support site, Airtable doesn’t even support on-prem. [0]
Unless the company shutdown or sold and suddenly you can't access your data easily or the new company changes the features drastically. I think that many companies can't afford to have their data at the mercy of an outside company with no alternatives.
I guess this can be implemented as an admin layer on your own application, and also handle sensitive data that may not be copied to a third party for various reasons including regulatory.
I’ve used a lot of pluggable admin interfaces for opening up tables to interrogation and manipulation by non tech people, and this seems better than those, and airtable was usually never on the table.
I want to run this on a raspberry pi/desktop computer and have access to all the features i want for free, and you don't get that with Airtable - but you do foor a FOSS solution. Hobby users like me probably don't want lots of SaaS platforms when they can self host. Airtable is the SaaS i like the most, and desperately wanted it to self host.
Also, while the data isn't critical for me, a self-hosted solution ensures the data is private.
Because nobody who has a problem with closed source Airtable even considers pay for it.
Ask how many avoided Airtable because it's a closed source hosted platform.
well, there's some ironic sort of logic at least in my head which says that I can afford to get locked into a proprietary solution only when I know there is a good (preferably open source) fallback option if it all goes to hell. So in a rather bizarre kind of way, this is what might enable me to consider Airtable where I had previously not.
Status quo for my situation isn't nothing, it's "do a bit more work to implement using more generic tools". For example we use Gitlab and its boards and ticketing system to approximate a lot of what Airflow does.
So losing all my production data / getting it hacked and ransomed / having unacceptable downtime and instability are much worse than simply implementing AirTable features bespoke using our existing systems.
Is there any chance to build in SQL (specifically, Postgres) commands similar to how Supabase does into the UI? (I should also mention, this looks perhaps even better than Supabase and easier to get up and running on your own system!). The built in REST and GraphQL API points are beautiful.
We've full fledged SQL Editor support in the product. Also support for SQL views, procedures etc. It is not shown in UI as there is lot to take in. So it will be in shortly :)
NocoDB can be run as a single node.js file which has just SIX lines of code in it.
So entire NocoDB stack can be run a repl.it / glitch too! :) - This makes it insanely powerful & ubiquitous.
Looks great! Can I extend it? Does it have plugin/hook etc. support?
I've just tried it with an SQLite database. It doesn't seem to support `BLOB` columns (that's reasonable). I would have liked to be able to display images in BLOB columns as virtual attachments or show a download link.
Yes we have hooks for spreadsheet inserts/updates/deletes and we will be working on the frontend part to make it modularised as mentioned in another comment.
Store images in BLOBs - we aren't against it. But we ran short of time to make that work for all databases.
For file storage : it used local filesystem if no storage app is installed.
You can connect to wide variety of storage services : S3, Minio, BackBlaze, GCS, Azure to name a few. I believe Azure storage isn't tested as we didn't have credits with them :)
FWIW, the very first thing I thought of when I saw SQLite was "huh, I can think of a couple apps where I'd like to upload some images". You could do that with Access, but it struggled with file sizes. SQLite's file format scales nicely (I've used it for MBTiles geodata before).
Looks great. Two things: I do a lot of downloading and uploading CSV files in airtable, so ETL is important. For a self-hosted airtable a huge feature would be connecting to many data sources and munging the data in the app.
Or build consulting, management and integration partners. Strategic use of tools / trainings, etc. are really important. See how Oracle grows with consulting teams.
Speaking of Wordpress: This would be an amazing tool for someone managing a lot of Wordpress sites -- I can picture it allowing for global changes across multiple sites, bulk content uploads, etc.
Almost certainly not your primary use case, but probably a quick way to gain market penetration if you or someone in the community built an integration for that purpose.
I was just thinking/hoping that it would connect with Wordpress DBs. I use an app to do it now (WP Sheet Editor) and yet imagine NocoDB could be much more powerful.
Any ideas about if it would be possible to connect it and if so, how?
It looks pretty, but has some fairly substantial problems.
- Data collection: Generally feels nasty these days, especially on something self-hosted. The opt-in-by-default newsletter checkbox might even be illegal in Europe. Don't know what else it might be calling home about without checking the source.
- Deceptive data collection: The HotJar survey popping up starts making you think maybe it needs to know where you host images so that it can handle image uploads... but no, it just wants to collect data and dial home
- Docs say that the docker instance starts on port 8080 - it isn't, it's on 5000
- Email and password validation: it's a little thing, but that should be at least configurable. Valid emails can contain "+" character.
- Couldn't work out how to connect from one docker instance to a second docker instance mysql database. Might need some kind of docker-compose setup though, I didn't look that long
- Couldn't create a new database either. It said it created, but then wouldn't let me add a table, just errored. No idea why on that one.
This is great, I've been getting into using airtable / coda for some house management stuff, but I've not liked that it's in the cloud (because I want to be more sure that I can look back 5 years and still see it).
What an interesting development. Now I can (ab)use a spreadsheet in all sorts of unexpected ways. This appeals to both my lazy and hardworking sides simultaneously.
I like the landing page examples as well. Trello/calendar/discord... nice.
Kinda off topic but I'm curious, what's the proper strategy to adopt as a company when someone copies your product and distribute it legally for free? Do nothing (individuals & small companies that are going to self host the product were never your market anyway)? Offer a self-hosted plan too? Obviously it depends for each company. I wonder if there are companies who famously changed their offer following the release of a free/self-hosted/open-source competing product.
> when someone copies your product and distribute it legally for free
This is society’s collective goal, as exemplified by patents. After ~15 years of legal monopoly, they’re public & anyone can use them. Copyrights take longer, but eventually do the same.
Companies plan for this by continuing to introduce incremental product changes, extending the monopoly period in small ways. Take a look at Wordpress, Lego, and Disney who deal with this in different ways.
Just market to the enterprise buyers. All they want to do is pay for someone to be liable when their system breaks, and many people make lots of money in that business of scapegoating.
as crazy as it sounds, there are many large, enterprise clients that have to pay for vendors, they literally are not structured to implement free/O.S. software. i imagine that those large orgs are much more significant contributors to a software company's revenue than the small start-ups that might be more able to implement an O.S. alternative.
It’s also often used to mitigate risk as you have a vendor to call and offload work, costs, specialization, and other factors to during critical incidents.
Although there is similarity, we are radically different.
We transform any existing databases MySQL, Postgres, SQL Server & SQLite databases into a spreadsheet. This is a _massive_ difference to begin with. And the ability to invite team to collaborate and build business workflow automations with Slack, Twilio is available for everybody. Since the launch today, I have already have close to 25+ plugin requests which sounds reasonable for NocoDB to have! We believe for a horizontal product like NocoDB - developing every app, connector and plugins is just beyond the ability of single team in open source. It is community driven approach that eases this possibility.
This is such an excellent release! I am already thinking of a many of use cases for our own org by combining this with Next.JS and build a self-hosted no-code API powered, headless CMS!
One service you could offer and charge heavily for is converting customers’ old Access or FileMaker applications to your system. You could automate a bunch of that too.
This is the ci jobs that run ci suites, but the GitHub workflow you linked has a ton of stuff commented and also yeah you can run a test suite in CI but if it contains no tests what use is it?
Could you please post a link to the actual tests being run? GitHub workflows don't give me access to the test logs for the workflow you linked, and judging by test runtime of 1:30 and following the trail of commands it seems this is just spent downloading docker images to run an empty cypress boilerplate?
Interested that the project started as a REST API generator for any MySQL database [1], and then in a year was transformed to what can be seen today from what I gather following the git log.
Yes, Xmysql was a hobby project originally submitted on HN. Below is the gist of it.
We open sourced two API solutions before NocoDB :
- A no-code REST APIs generator for any MySQL DB. ~200,000 Docker pulls. This was a hobby project & had no GUI.
- A low-code REST-GraphQL APIs generator for any database with GUI. Used by 100s of companies. Including fortune 500s & publicly trading companies.
The thing that surprised us the most was that even non-developers started using our API products & rooting for us. Whilst everybody loved instant API access to databases, it was slow-and-painful for them to build UI and collaborate with their teams. This made us to radically recombine the power of our 2 API products then transform them into something better.
Congrats on a successful launch! It’s interesting that this submission is close to beating Airtable’s original Show HN submission from 7 years ago in points [0].
How do you plan to make money and sustain vitality from this open source offering?
Open source has a lot of overhead, and if you offer “enterprise” versions, others will compete with you, or worse, Amazon may offer your service for free as a bundle.
I know that people making these things aren't front-end dev, but could they have picked a more minimal ui library (eg bootstrap) instead of churning out these bloated material designs.
Anybody have a a good recommendation how to self deploy that’s internet accessible? I’m worried messing something up and exposing my network. Or deploying on the cloud be better?
I'd love to try this out, but I can't determine how to make the application accept requests to a hostname other than localhost. We're not all developing on a local machine. Is there documentation available for the app yet?
Yes, in our earlier version we could connect to Planetscale and create tables (this was at inception stage). With recent Planetscale release DDL are no longer supported and branching is the way. We would love to support if anything changes.
Is anyone aware of something similar that supports Redshift? I have some colleagues that would benefit from a UI on top of a few Redshift tables to manage data (edit/import/delete).
We haven't tried anything yet. I'm about to get some users setup with ODBC access in Excel to make some manual data edits. Essentially we have some core data and some metadata that is managed manually and I'm looking for a light weight UI that these users can use to manage the metadata tables in Redshift.
Promising project.
1. Is there a possibility to limit the ressources allocated to a user?
2. Is there a reason that there's no (possibly restricted) online demo of NocoDB?
I wouldn't include that in enterprise, since you are creating difficulties for small companies to onboard with you. There are some companies that include SSO in the initial plans, like Zendesk, and they get us to happily pay for the plans that fit our scale. I'm pretty sure you will have other awesome features to include in the enterprise plan.
Unless you are making changes to its code. Im not sure how would it even affevt you?
Also correct me if I am wrong about making source available with your modifications is not uploading it on github. It means your source must be available for your users in any form. If its an internal I dont even see what's the problem there.
I would rather have good products on strict license. I rather dont want AWS to leach on this project and launch AWS Elastic Freetable.
All of the AGPL bits are inside that docker container. You don't need to worry about AGPL contamination unless you're modifying the contents of the container.
This type of software distributed this way is one of the ideal use cases for the AGPL, IMO.
Given that the project is AGPL without any CLA, how do you plan on doing that, if you don't mind me asking? Some sort of portal in front that does this on your behalf?
Asking since I've considered AGPL for my own projects and wanted to monetize via making SAML/SSO "premium" and found that I could not do this easily without CLA
We are really excited to open source NocoDB today.
NocoDB is an open source Airtable alternative.
Github : https://github.com/nocodb/nocodb
NocoDB works by connecting to any relational database and transforming them into a smart spreadsheet interface!
NocoDB currently works with MySQL, PostgreSQL, Microsoft SQL Server, SQLite, Amazon Aurora & MariaDB databases.
This allows you to build no-code business solutions collaboratively with teams.
Getting started is simple :
Also NocoDB's app store allows you to build business workflows on views with combination of Slack, Microsoft Teams, Discord, Twilio, Whatsapp, Email & any 3rd party APIs too. Plus NocoDB provides programmatic access to APIs so that you can build integrations with Zapier / Integromat and custom applications too.For storage you can connect to S3, Mini, GCS, Azure, DigitalOcean spaces & any S3 compatible API
NocoDB gives programmatic access to REST & GraphQL APIs. And with our API tokens it can be easily integrated with Zapier / Integromat.
- - - - - -
Also please join our community at :
- Github : https://github.com/nocodb/nocodb
- Discord : https://discord.gg/5RgZmkW
- Twitter : https://twitter.com/nocodb
Would love to hear usecases & feedback.
Thank you,
Team NocoDB
edit : made the comment short :)