[HN Gopher] Show HN: Outerbase Studio - Open-Source Database GUI
       ___________________________________________________________________
        
       Show HN: Outerbase Studio - Open-Source Database GUI
        
       We just launched Outerbase Studio, the open-source version of our
       core database offering. It works in your browser or as a desktop
       app and supports MySQL, PostgreSQL, and SQLite.  What it does:  *
       Connects to MySQL, PostgreSQL, and SQLite databases. * Spin up
       local databases directly through the UI, even if you don't have one
       running. * Manage and query your data in a lightweight, intuitive
       interface. * Completely open source.  Why we built it: We wanted to
       share the core Outerbase experience with the developer community as
       a free, open-source tool. It's simple, fast, and removes the
       barriers to working with databases locally.  GitHub:
       https://github.com/outerbase/studio  Release Blog:
       https://www.outerbase.com/blog/outerbase-studio-open-source-...
       Try it out: studio.outerbase.com  Would love the HN communities
       feedback, please try it out and let me know what you think!
        
       Author : burcs
       Score  : 127 points
       Date   : 2024-12-04 17:55 UTC (5 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | burcs wrote:
       | Happy to answer any questions around this! As far as next steps
       | we are going to be adding in more database support as well as
       | bringing in some of Outerbase Cloud's AI features.
        
         | drewp wrote:
         | Are there comparisons to related projects somewhere?
         | 
         | E.g. I've use DBeaver before. Is there some reason I should try
         | Outerbase next time?
        
           | johtso wrote:
           | Don't think DBeaver supports libsql databases? I think the
           | goal here is to be able to working with Turso / Cloudflare D1
           | databases etc.
        
             | burcs wrote:
             | Yeah that's been another big part of this too, making sure
             | it's a simple way to support these new and lightweight but
             | powerful databases!
        
           | burcs wrote:
           | I put together this in related to our cloud offering, it's
           | still somewhat relevant for Outerbase Studio even though some
           | features are different:
           | 
           | https://www.outerbase.com/blog/the-5-best-database-
           | managemen...
           | 
           | Our goal is to make data accessible through good user
           | experiences and focus. Whether that is being able to spin up
           | a local database directly from the app, or simply making the
           | query experience as intuitive as possible, we are really
           | pushing on making the database usable.
        
             | vunderba wrote:
             | That page mentions support for noSQL databases, but it
             | looks like this open source version only supports SQL. Just
             | want to call that out for clarification.
             | 
             | Is the long term intent eventually to have parity between
             | the open source desktop app and the cloud version (at least
             | in terms of database type support)?
        
               | brayden_wilmoth wrote:
               | Correct. Our goal is to have all of our data sources
               | across all Outerbase products powered by our SDK -
               | https://github.com/outerbase/sdk. Currently the Studio
               | product is not powered by it but our cloud and other
               | offerings are.
        
       | stronglikedan wrote:
       | I downloaded it, fired it up locally, _was presented with a login
       | screen_ , closed it, and uninstalled it. Sorry, but I don't log
       | into local software.
        
         | giancarlostoro wrote:
         | I saw that it was AGPL licensed, which was odd to me for
         | something that's supposed to be a client. I don't like the AGPL
         | license because of how overbearing it is, I avoid downloading
         | AGPL'd software, unless its a pure compiled binary. I am
         | probably a little too strict about software licenses, but I
         | rather always have the freedom to keep any forks to myself,
         | don't force me to share code for my one-off project.
        
           | freeone3000 wrote:
           | AGPL still only requires you to share the code if you're
           | sharing the fork in some form (binary or networked).
        
             | giancarlostoro wrote:
             | "or networked"
        
               | freeone3000 wrote:
               | Yes, it prevents the AWS case where you take a GPL
               | product, put it behind an API gateway, and suddenly
               | you're under no obligation to share your changes even
               | though they're still sharing the product. This product in
               | particular would excel as SaaS, and Outerbase already
               | sells one of those -- they're not going to give you their
               | product, white-label! You'd have to also share your mods,
               | or link to the original.
               | 
               | You can still do the above, and even charge for it!
               | You're just in the "hosted software" business, not the
               | embrace-extend-extinguish business.
        
               | burcs wrote:
               | Thank you for explaining this so clearly. We were very
               | cautious in choosing the license for this exact reason!
               | 
               | We love open-source and want to give back fully to the
               | community. The AGPL felt like the most open license that
               | still protects against outright theft -- something we've
               | unfortunately experienced in the past.
        
           | RadiozRadioz wrote:
           | This is an incorrect interpretation of the AGPL. You do have
           | the freedom to keep forks to yourself. You're only required
           | to present source code to people who can use your program
           | (directly or via the network).
        
         | burcs wrote:
         | Sorry I am assuming you downloaded our cloud based client,
         | which yes is a bit different, here is the correct download link
         | for our open-source client:
         | 
         | https://github.com/outerbase/studio-desktop/releases
         | 
         | Apologies for the confusion here!
        
       | johtso wrote:
       | Outerbase Studio is great! Been happily using it to experiment
       | with queries over my Turso database, and see how many rows are
       | being read when optimising.
       | 
       | Excited to hear that some AI stuff is going to be brought over,
       | currently do a lot of switching back and forth with ChatGPT, and
       | having your database schema automatically be part of the prompt
       | would be great.
       | 
       | I'm guessing visualisation stuff is going to stay part of the
       | paid offering?
        
         | burcs wrote:
         | Thank you Johtso! Glad you have been enjoying it :)
         | 
         | Yeah definitely it's been a challenge to think about how we
         | want to bring it over, probably going to do a bring your own
         | key experience for the AI that way we're not eating the costs
         | on an open-source project. Have been thinking about bundling a
         | Llama type experience as well, but I'm not sure if people would
         | want that, would you?
         | 
         | Yeah for now it is, although we've talked about also releasing
         | a lightweight version of that haha!
        
       | kiwicopple wrote:
       | congrats on open sourcing
       | 
       | i didn't try it locally yet but it looks like the cloud version
       | can create SQLite databases inside the browser? Assuming the open
       | source version does too, can you also "connect" to those
       | databases somehow?
        
         | burcs wrote:
         | Thank Paul -- Supabase has always been such a huge inspiration
         | for us!
         | 
         | Yes you can spin up sqlite directly in the browser, and on the
         | local studio version you can actually spin up both MySQL and
         | Postgres instances. You have to have docker running as well,
         | and we will automatically spin up the containers for you,
         | making it a completely hands-off experience!
         | 
         | You can connect through them instantly through the GUI without
         | needing to configure anything. We are actually going to be
         | releasing something later this week that will really help with
         | the local dev story by making those local databases accessible
         | from the web
        
           | thruflo wrote:
           | Would be nice to add support for PGlite [0] to have the same
           | "spin up in the browser" experience with Postgres.
           | 
           | Let me know if we can help with it!
           | 
           | [0] https://pglite.dev
        
             | burcs wrote:
             | That would be really cool, let's chat!
             | 
             | Can you email me brandon [at] outerbase [dot] com?
        
               | kiwicopple wrote:
               | you can also find some code for "pglite in the browser"
               | here: https://github.com/supabase-community/database-
               | build
        
               | burcs wrote:
               | Awesome, I'll check it out!
        
       | nandosobral03 wrote:
       | The mac desktop icon looks huge compared to the standard macOS
       | apps
        
         | burcs wrote:
         | Whoops I'll get that updated, for some reason it didn't crop
         | the bounding box when I exported it!
        
           | nandosobral03 wrote:
           | Thank you! I've tried using outerbase within turso for my
           | last few proyects and the experience has been great. Looking
           | forward to using the app
        
       | teddarific wrote:
       | i hate working with DBs via command line, so this looks really
       | cool. curious if your product resonates with a specific segment
       | of developers, e.g. frontend vs backend? Hoping this can entirely
       | replace me needing to do anything DB related in the comamnd
       | line...
        
         | burcs wrote:
         | Yes! I too am not a huge command line fan (unless it's git for
         | some reason), my background is actually in design so it was
         | really painful trying to access DBs at first and the only
         | options were the CLI or tools that look like they were built 20
         | years ago.
         | 
         | That was actually the catalyst for creating Outerbase! We have
         | all types of people using us today, honestly we resonate really
         | well with anyone who needs access to a DB. Frontend folks love
         | us because we're a more modern way to do it and we line up
         | really well with other modern frontend stacks, backend folks
         | like us because we are really focused and make it
         | straightforward to manage your data, and non-technical teams
         | love us because they can actually get the data they need
         | without needing to be a DBA.
        
       | jaimehrubiks wrote:
       | Does it will it support management of users and permissions? I
       | always struggle with those on the cli
        
         | invisal wrote:
         | Adding user and permission support shouldn't be hard. What
         | database are you using? We can put it on our next roadmap.
        
           | jaimehrubiks wrote:
           | I've used multiple but recently PostgreSQL is what we are
           | using more. I think it's also the kind of task Platform or
           | devops engineers, who are not usually experts in databases,
           | are often asked to manage along with its deployment, so
           | creating users and permissions is very common.
        
       | Lord_Zero wrote:
       | Support MSSQL please
        
         | burcs wrote:
         | So we support it in Outerbase Cloud, and we will get to work on
         | adding support for it to Studio as well.
         | 
         | In the meantime if you want you can check out our cloud-
         | offering, we have a very generous free tier!
        
       | srameshc wrote:
       | This is neat. I love the support for both Postgresql and Sqlite
       | and explicit support for Cloudflare D1.
        
         | burcs wrote:
         | Yeah - we love all of these new databases, we actually partner
         | with Cloudflare, Turso, etc... to make sure we can provide the
         | best experience possible.
        
       | j1mmie wrote:
       | For years I've wondered why a general purpose, high quality, good
       | UX, browser based DB browser has not existed. I've implemented 3
       | such (not general-purpose) browsers in my career. But I'd be
       | really happy to _stop_ doing that and use this instead.
       | 
       | I would love to see a Firestore driver implemented (maybe I'll
       | take a crack at it some day), as I'm stuck in GCP land for the
       | time being.
        
         | amazingamazing wrote:
         | PouchDB and CouchDB already exist
        
         | burcs wrote:
         | Thank you, I hope you can stop building those and use us
         | instead as well :)
         | 
         | I've never used Firestore directly, but I did see Firebase's
         | recent announcement about Data Connect. It seems like it could
         | act as a bridge to bring your data into Outerbase. Do you think
         | that would work?
        
         | vunderba wrote:
         | Because it does exist, but it's not free. Jetbrains Datagrip
         | has been around for a decade and has connectors for _most_
         | database archetypes (mongo, sql, redis, duckdb, etc).
         | 
         | Biggest limitation right now is its lack of support for vector
         | style databases like Lance, qdrant, etc.
        
           | wiseowise wrote:
           | > Browser based
        
             | vunderba wrote:
             | Missed that - I am a little unclear how being wrapped in
             | electron as an app is necessarily an advantage - I guess it
             | could be valuable if it were pulled out electron, and you
             | could host it as a service.
        
               | burcs wrote:
               | Yeah you can definitely do that, I referenced how we do
               | it in another comment. The electron app and running it
               | locally allows you to use TCP protocol which isn't
               | available directly in the browser.
               | 
               | It's mostly just a nicely bundled way to run it if you
               | aren't very technical but still want a easy to use
               | database client.
               | 
               | You can also run commands like this to connect to your
               | database if you want:
               | 
               | npx @outerbase/studio \ --port=5000 \ --user=admin
               | --pass=123 \ mysql://root:123@localhost:3306/chinook
        
               | brayden_wilmoth wrote:
               | You can connect to your SQLite databases from the browser
               | too without the Electron app if you wanted:
               | https://studio.outerbase.com/connect
        
             | leononame wrote:
             | Still a valid counterargument. A good browser based DB GUI
             | might just not exist because the existing desktop ones are
             | so good already.
             | 
             | I personally also vouch for DataGrip, a fantastic tool. No
             | browser based tool is going to come close to the experience
             | of an actual desktop app imo
        
               | wiseowise wrote:
               | > No browser based tool is going to come close to the
               | experience of an actual desktop app imo
               | 
               | Why?
        
           | atombender wrote:
           | Datagrip is fantastic. You can also get the same
           | functionality if you buy the IntelliJ IDEA Ultimate Edition,
           | which includes many of the languages and tools that are also
           | separately productized. I recommend this because the database
           | tools integrate so well with the editor. For example, you can
           | have a scratch file open that contains multiple SQL snippets.
           | You can hit cmd-Enter when inside one snippet, and it will
           | execute it and render the results either as a panel or inline
           | inside the editor, notebook-style. Plus, full schema
           | validation and autocompletion in the editor, and support for
           | many, many databases including Postgres and ClickHouse.
           | 
           | Not only that, but the SQL support works for embedded strings
           | in programs written in other languages such as Go. So it
           | knows that some statement conn.Exec("SELECT ...") is SQL and
           | syntax-highlights it, performs schema validation and
           | autocompletion _inside_ the string literal. Not only _that_ ,
           | but you can open the string literal as a separate editor and
           | edit it, including doing things like "reformat", which was an
           | unexpected delight when I discovered it.
           | 
           | It's this kind of "feature stacking", which features working
           | organically with each other, that makes Jetbrains IDEs so
           | damn good.
           | 
           | But the basic database tools are also superb. Its table view
           | is really fast. It has syntax highlighting (e.g. if a column
           | value is JSON), live editing (including the ability to open a
           | column value as an editor, in which case you get all the
           | usual syntax tools), and even graph rendering with support
           | for multiple data series and grouping in a single graph.
           | 
           | There is also excellent support for exporting data. You can
           | mark a bunch of result rows and copy them as CSV or as SQL
           | INSERT statements, or you can save the entire result to a
           | file. This is how I often export data from BigQuery, as it's
           | much more convenient than Google's own tooling (the web UI is
           | particularly bad, requiring that you export the query result
           | to a GCS bucket first).
           | 
           | These database UIs aren't technically difficult to do. But
           | somehow nobody else seems capable. The closest I can think of
           | is Microsoft's tooling around SQL Server, which is pretty
           | slick, albeit MSSQL-specific. I often wonder how Jetbrains,
           | which is a pretty small company, can be so effective and
           | produce such an incredibly feature-rich product portfolio.
        
         | carlosjobim wrote:
         | I remember I used TablePlus, which was what you described. Very
         | pleasant program. Not browser based, though.
        
           | slaucon wrote:
           | Yeah, my last company paid for a subscription to this.
           | Enjoyed using it. Don't think there's a massive market, but
           | definitely lots of devs who want easy DB access and would pay
           | $5/month.
        
         | mritchie712 wrote:
         | I think it's because there's no business model in the pure "DB
         | browser" product. People don't seem willing to pay enough for
         | it to build a good business around it.
         | 
         | Everyone I've seen either pivots to a Retool competitor or a BI
         | tool.
         | 
         | Source: I've tried it twice.
        
       | sirjaz wrote:
       | Any plans to use tauri? That way you can use the native os web
       | view, plus cut the overhead of electron
        
         | burcs wrote:
         | Great point, I am a big fan of how lightweight Tauri is. We
         | have used it in the past but have got hung up on some of the
         | browser APIs not being supported.
         | 
         | I'll have to look into it again, it could have just been a
         | skill issue.
        
           | brayden_wilmoth wrote:
           | Tauri when we last tried it was using your default browser to
           | power it, which is great in theory. When we went to use newer
           | API's such as the Popover API then browsers like Safari had a
           | subpar user experience for a number of reasons of its own.
           | 
           | As much as the performance and lightweight aspects of Tauri
           | are great we also have to weight the consistency of user
           | experience which Electron gives having Chromium built into
           | it. All that said... it's worth us taking a second look to
           | see if Tauri will work for us in this use case!
        
       | shreddit wrote:
       | Can i put it inside a docker container alongside my pg container
       | and serve it under a path like "/dbadmin" with password
       | protection? That's my current workflow with pgadmin.
        
         | burcs wrote:
         | Definitely! We actually embed studio as part of another one of
         | our offerings. It's actually iframed in, but you could achieve
         | similar results if you wanted to dockerize it.
         | 
         | https://github.com/Brayden/starbasedb/blob/main/src/studio/i...
        
       | delduca wrote:
       | I would use it if it weren't based on Electron. In recent months,
       | I've replaced all Electron apps with native versions, and not
       | only are they more performant, but my RAM is now saved for more
       | important tasks.
        
         | distrill wrote:
         | it runs in the browser
        
       ___________________________________________________________________
       (page generated 2024-12-04 23:00 UTC)