Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Packaging & Development
  3. Baserow Cloudron app - Airtable alternative

Baserow Cloudron app - Airtable alternative

Scheduled Pinned Locked Moved Solved App Packaging & Development
57 Posts 18 Posters 9.3k Views 21 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B Offline
      B Offline
      bram
      App Dev
      wrote on last edited by bram
      #1

      Hello everyone,

      My name is Bram Wiepjes and I am the founder of Baserow (https://baserow.io) which is an open source no-code database tool and Airtable alternative.

      First of all I wanted to tell that Cloudron is an amazing platform! This is the first time that I worked with it, but it is just great! The ease of use, stability, addons and low learning curve make it a fantastic product and I have become a fan.

      As a fun weekend side-project I decided to make a Baserow Cloudron app. My initial version can be found here https://gitlab.com/bramw/baserow/-/merge_requests/154 and I would love for people to test it out and review the code. All feedback is welcome and would be much appreciated.

      Even though this version works, tested it on Cloudron 6.1.2, there are a couple of issues that I ran into. Baserow depends on Redis version 5 because it uses Django Channels 3. The Cloudron documentation mentioned that the Redis addon installs version 5, but it was always version 4 for me. I solved this by installing Redis 5 locally in the Docker image which is fine for now because the state doesn't necessarily needs to be persistent.

      Baserow exists of a backend and web-frontend which communicates only via a REST API and Web Socket with each other. Is there a possibility to to split the backend and web-frontend into two different images? Right now I've combined them into one image. If that is not possible, is it possible to do two health checks? One for the backend and one for the web-frontend?

      Lastly, it would be great to get listed in the App Store once this version is stable.

      Best,
      Bram

      mehdiM P marcusquinnM 3 Replies Last reply
      15
      • B bram

        Hello everyone,

        My name is Bram Wiepjes and I am the founder of Baserow (https://baserow.io) which is an open source no-code database tool and Airtable alternative.

        First of all I wanted to tell that Cloudron is an amazing platform! This is the first time that I worked with it, but it is just great! The ease of use, stability, addons and low learning curve make it a fantastic product and I have become a fan.

        As a fun weekend side-project I decided to make a Baserow Cloudron app. My initial version can be found here https://gitlab.com/bramw/baserow/-/merge_requests/154 and I would love for people to test it out and review the code. All feedback is welcome and would be much appreciated.

        Even though this version works, tested it on Cloudron 6.1.2, there are a couple of issues that I ran into. Baserow depends on Redis version 5 because it uses Django Channels 3. The Cloudron documentation mentioned that the Redis addon installs version 5, but it was always version 4 for me. I solved this by installing Redis 5 locally in the Docker image which is fine for now because the state doesn't necessarily needs to be persistent.

        Baserow exists of a backend and web-frontend which communicates only via a REST API and Web Socket with each other. Is there a possibility to to split the backend and web-frontend into two different images? Right now I've combined them into one image. If that is not possible, is it possible to do two health checks? One for the backend and one for the web-frontend?

        Lastly, it would be great to get listed in the App Store once this version is stable.

        Best,
        Bram

        mehdiM Offline
        mehdiM Offline
        mehdi
        App Dev
        wrote on last edited by
        #2

        @bram nice to see some app developers porting their own apps to cloudron 🙂

        @bram said in Baserow Cloudron app - Airtable alternative:

        The Cloudron documentation mentioned that the Redis addon installs version 5, but it was always version 4 for me. I solved this by installing Redis 5 locally in the Docker image which is fine for now because the state doesn't necessarily needs to be persistent.

        I'm not sure, I have never written a Cloudron app that needed to use Redis. I'll let the Cloudron devs answer you on this one.
        Installing redis locally in the meantime is a good work-around for the moment.

        @bram said in Baserow Cloudron app - Airtable alternative:

        Is there a possibility to to split the backend and web-frontend into two different images? Right now I've combined them into one image

        Nope, no way to do that on Cloudron. Sorry, you indeed have to package them together, and start both with something like supervisor, which should already be available in the base image.

        @bram said in Baserow Cloudron app - Airtable alternative:

        If that is not possible, is it possible to do two health checks? One for the backend and one for the web-frontend?

        Not at the moment, but I think the devs were talking about ditching the current http request way of doing health-checks, in favor of using the native HEALTHCHECK dockerfile instruction (https://docs.docker.com/engine/reference/builder/#healthcheck). Not sure if work has started on this yet.

        1 Reply Last reply
        4
        • B bram

          Hello everyone,

          My name is Bram Wiepjes and I am the founder of Baserow (https://baserow.io) which is an open source no-code database tool and Airtable alternative.

          First of all I wanted to tell that Cloudron is an amazing platform! This is the first time that I worked with it, but it is just great! The ease of use, stability, addons and low learning curve make it a fantastic product and I have become a fan.

          As a fun weekend side-project I decided to make a Baserow Cloudron app. My initial version can be found here https://gitlab.com/bramw/baserow/-/merge_requests/154 and I would love for people to test it out and review the code. All feedback is welcome and would be much appreciated.

          Even though this version works, tested it on Cloudron 6.1.2, there are a couple of issues that I ran into. Baserow depends on Redis version 5 because it uses Django Channels 3. The Cloudron documentation mentioned that the Redis addon installs version 5, but it was always version 4 for me. I solved this by installing Redis 5 locally in the Docker image which is fine for now because the state doesn't necessarily needs to be persistent.

          Baserow exists of a backend and web-frontend which communicates only via a REST API and Web Socket with each other. Is there a possibility to to split the backend and web-frontend into two different images? Right now I've combined them into one image. If that is not possible, is it possible to do two health checks? One for the backend and one for the web-frontend?

          Lastly, it would be great to get listed in the App Store once this version is stable.

          Best,
          Bram

          P Offline
          P Offline
          plusone-nick
          wrote on last edited by plusone-nick
          #3

          @bram welcome and glad to have you! @girish & @nebulon are amazing! Looking forward to this collab, also you should check out https://www.budibase.com/ no-code app builder. They recently implemented Airtable support - Baserow would be good there too 🙏✌💙+1

          ✌💙+1

          1 Reply Last reply
          2
          • doodlemania2D Offline
            doodlemania2D Offline
            doodlemania2
            App Dev
            wrote on last edited by
            #4

            this is huge! welcome @bram - big fan of your app!!!!

            1 Reply Last reply
            5
            • nebulonN Offline
              nebulonN Offline
              nebulon
              Staff
              wrote on last edited by
              #5

              Hi @bram and welcome to our forum!

              This is indeed great news and awesome how much progress you already made for the packaging.

              I will give it a try later today and hopefully we can get this into the app library soon 🙂

              Regarding redis version, I can confirm that the addon has version 4.9.0 installed, however we are currently preparing a new base image for apps and addons, which is based on Ubuntu 20.04 and then redis is updated. I see that @girish just already updated the docs 😉

              For healthcheck one option is to add a small daemon which provides for example a /healthcheck route and internally then pings the corresponding services for health. That way the app package only has one route but that one will indicate if all components are healthy.

              I hope I can give more feedback once I've tested it. Just a heads up, we also require selenium tests for all app packages, but we are happy to provide them for Baserow then.

              1 Reply Last reply
              3
              • B bram

                Hello everyone,

                My name is Bram Wiepjes and I am the founder of Baserow (https://baserow.io) which is an open source no-code database tool and Airtable alternative.

                First of all I wanted to tell that Cloudron is an amazing platform! This is the first time that I worked with it, but it is just great! The ease of use, stability, addons and low learning curve make it a fantastic product and I have become a fan.

                As a fun weekend side-project I decided to make a Baserow Cloudron app. My initial version can be found here https://gitlab.com/bramw/baserow/-/merge_requests/154 and I would love for people to test it out and review the code. All feedback is welcome and would be much appreciated.

                Even though this version works, tested it on Cloudron 6.1.2, there are a couple of issues that I ran into. Baserow depends on Redis version 5 because it uses Django Channels 3. The Cloudron documentation mentioned that the Redis addon installs version 5, but it was always version 4 for me. I solved this by installing Redis 5 locally in the Docker image which is fine for now because the state doesn't necessarily needs to be persistent.

                Baserow exists of a backend and web-frontend which communicates only via a REST API and Web Socket with each other. Is there a possibility to to split the backend and web-frontend into two different images? Right now I've combined them into one image. If that is not possible, is it possible to do two health checks? One for the backend and one for the web-frontend?

                Lastly, it would be great to get listed in the App Store once this version is stable.

                Best,
                Bram

                marcusquinnM Offline
                marcusquinnM Offline
                marcusquinn
                wrote on last edited by marcusquinn
                #6

                @bram Great stuff - looking forward to giving it a good test and helping with feedback.

                Personal opinion but maybe shared. Something I've found, and I think others do too, is making open-source a sustainable business, and for users, avoiding gotchyas, lock-ins or usage taxes.

                The business models I've found the happiest are with EspoCRM and Freescout.

                Essentially, the FOSS is unlimited in usage, and the Premium is too.

                Premium revenue coming from selling extra setup "Packs" that are typically only needed by businesses, and also effectively fast-track best-practice template setups.

                So FOSS users get the full benefit of the framework to use, test,, feedback on and help evolve.

                And those using the app to save or make time or money will happily pay for the premium packs as they get them setup with templates that would otherwise take a longer time to recreate.

                I understand per-user licensing for vendor-managed SaaS because users numbers tend to correlate to support requests or expectations.

                However, for self-hosted, I hope to encourage you to consider unlimited users and, instead look to premium packs, templates, setups, perhaps with an annual license.

                So you have good and repeat income but businesses that have low margins and high user count needs aren't looking at prohibitive scaling costs because if they are self-hosting, they also tend to be self-supporting for 1st-line requests. Consider it support work-sharing 🙂

                Keep up the great work, I love anything that encourages understanding database design and record-keeping and communications best-practice. I'm sure the world will thank and reward you for your innovation!

                Web Design https://www.evergreen.je
                Development https://brandlight.org
                Life https://marcusquinn.com

                1 Reply Last reply
                3
                • B Offline
                  B Offline
                  bram
                  App Dev
                  wrote on last edited by
                  #7

                  Thanks everyone for the warm welcome and for the info.

                  For now it is okay if Redis doesn't keep the persistent state, so we can use the one that is installed within the Basero app image. Would be nice to use the Cloudron addon in the future once Redis 5 is fully supported. Once the Docker healthcheck is supported we can use that.

                  Looking forward to your feedback!

                  1 Reply Last reply
                  3
                  • B Offline
                    B Offline
                    bram
                    App Dev
                    wrote on last edited by
                    #8

                    I have a quick follow up question. Is it possible for Cloudron to generate a unique secret key and provide that as environment variable? Baserow depends on a secret key to create password reset and invite tokens, but this needs to be unique value for each installation. Otherwise if everyone uses the same key, it will become possible to create password reset tokens which is a security issue.

                    nebulonN mehdiM 2 Replies Last reply
                    0
                    • B bram

                      I have a quick follow up question. Is it possible for Cloudron to generate a unique secret key and provide that as environment variable? Baserow depends on a secret key to create password reset and invite tokens, but this needs to be unique value for each installation. Otherwise if everyone uses the same key, it will become possible to create password reset tokens which is a security issue.

                      nebulonN Offline
                      nebulonN Offline
                      nebulon
                      Staff
                      wrote on last edited by
                      #9

                      @bram similar to cookie secrets, this usually is done in the startup script (start.sh).

                      Something on the lines of (just some pseudo bash here):

                      if [[ ! -f /app/data/.secret ]]; then
                          echo "SECRET_ENV=$(some way to generate a secret)" > /app/data/.secret
                      fi
                      
                      source /app/data/.secret
                      

                      Very much depends on how the app consumes this. Sometime like gitlab they have a secrets file like: https://git.cloudron.io/cloudron/gitlab-app/-/blob/master/start.sh#L92

                      1 Reply Last reply
                      2
                      • B bram

                        I have a quick follow up question. Is it possible for Cloudron to generate a unique secret key and provide that as environment variable? Baserow depends on a secret key to create password reset and invite tokens, but this needs to be unique value for each installation. Otherwise if everyone uses the same key, it will become possible to create password reset tokens which is a security issue.

                        mehdiM Offline
                        mehdiM Offline
                        mehdi
                        App Dev
                        wrote on last edited by
                        #10

                        @bram an example here : https://git.cloudron.io/mehdi/river/-/blob/master/start.sh#L64

                        if [ ! -f /app/data/session.secret ]; then
                          dd if=/dev/urandom bs=256 count=1 | base64 > /app/data/session.secret
                        fi
                        
                        1 Reply Last reply
                        2
                        • B Offline
                          B Offline
                          bram
                          App Dev
                          wrote on last edited by bram
                          #11

                          This will work for my use case. Thanks!

                          1 Reply Last reply
                          3
                          • ianhyzyI Offline
                            ianhyzyI Offline
                            ianhyzy
                            wrote on last edited by
                            #12

                            This looks like a fantastic tool, can't wait to try it out on Cloudron!

                            timconsidineT 1 Reply Last reply
                            2
                            • ianhyzyI ianhyzy

                              This looks like a fantastic tool, can't wait to try it out on Cloudron!

                              timconsidineT Offline
                              timconsidineT Offline
                              timconsidine
                              App Dev
                              wrote on last edited by
                              #13

                              @ianhyzy Ditto
                              Is the status of this known ? Coming to a cloudron near me soon ??

                              doodlemania2D 1 Reply Last reply
                              1
                              • timconsidineT timconsidine

                                @ianhyzy Ditto
                                Is the status of this known ? Coming to a cloudron near me soon ??

                                doodlemania2D Offline
                                doodlemania2D Offline
                                doodlemania2
                                App Dev
                                wrote on last edited by
                                #14

                                @timconsidine It's available now, just not in the store. Just follow instructions above and you'll be up and running in no time.

                                timconsidineT 3 Replies Last reply
                                1
                                • doodlemania2D doodlemania2

                                  @timconsidine It's available now, just not in the store. Just follow instructions above and you'll be up and running in no time.

                                  timconsidineT Offline
                                  timconsidineT Offline
                                  timconsidine
                                  App Dev
                                  wrote on last edited by
                                  #15

                                  @doodlemania2 Cheers !

                                  1 Reply Last reply
                                  0
                                  • doodlemania2D doodlemania2

                                    @timconsidine It's available now, just not in the store. Just follow instructions above and you'll be up and running in no time.

                                    timconsidineT Offline
                                    timconsidineT Offline
                                    timconsidine
                                    App Dev
                                    wrote on last edited by
                                    #16
                                    This post is deleted!
                                    1 Reply Last reply
                                    0
                                    • doodlemania2D doodlemania2

                                      @timconsidine It's available now, just not in the store. Just follow instructions above and you'll be up and running in no time.

                                      timconsidineT Offline
                                      timconsidineT Offline
                                      timconsidine
                                      App Dev
                                      wrote on last edited by
                                      #17

                                      @doodlemania2 Having trouble with this :
                                      Repeat errors like App installation error: Installation failed: Unable to pull image tcmbp132021/baserow:1:3:0. Please check the network or if the image needs authentication. statusCode: 400

                                      I can build locally and I can push docker image.
                                      But interestingly docker for desktop reports 3.25Gb locally and repository only 1.1Gb

                                      Does the image need authentication ??
                                      Or maybe there is indeed a network error
                                      Grrrr

                                      timconsidineT 2 Replies Last reply
                                      0
                                      • timconsidineT timconsidine

                                        @doodlemania2 Having trouble with this :
                                        Repeat errors like App installation error: Installation failed: Unable to pull image tcmbp132021/baserow:1:3:0. Please check the network or if the image needs authentication. statusCode: 400

                                        I can build locally and I can push docker image.
                                        But interestingly docker for desktop reports 3.25Gb locally and repository only 1.1Gb

                                        Does the image need authentication ??
                                        Or maybe there is indeed a network error
                                        Grrrr

                                        timconsidineT Offline
                                        timconsidineT Offline
                                        timconsidine
                                        App Dev
                                        wrote on last edited by
                                        #18

                                        And when I run the container locally, it starts and immediately fails
                                        http://ocalhost:3000 doesn't respond and docker for desktop reports not started
                                        I think there is a build problem

                                        B 1 Reply Last reply
                                        0
                                        • timconsidineT timconsidine

                                          @doodlemania2 Having trouble with this :
                                          Repeat errors like App installation error: Installation failed: Unable to pull image tcmbp132021/baserow:1:3:0. Please check the network or if the image needs authentication. statusCode: 400

                                          I can build locally and I can push docker image.
                                          But interestingly docker for desktop reports 3.25Gb locally and repository only 1.1Gb

                                          Does the image need authentication ??
                                          Or maybe there is indeed a network error
                                          Grrrr

                                          timconsidineT Offline
                                          timconsidineT Offline
                                          timconsidine
                                          App Dev
                                          wrote on last edited by
                                          #19

                                          Bizarre
                                          Now working
                                          Maybe there was some network glitch going on
                                          I did do docker trust just in case
                                          But had to delete images multiple times and try again
                                          Anyway now deployed to and working on cloudron - yay !
                                          Thank you @bram !!

                                          1 Reply Last reply
                                          3
                                          • T Offline
                                            T Offline
                                            thetomester13
                                            App Dev
                                            wrote on last edited by
                                            #20

                                            @staff any thoughts on publishing Baserow as unstable? I've been using it on and off and it's quite smooth. Not sure what else is needed from a packaging perspective though.

                                            1 Reply Last reply
                                            3
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes


                                              • Login

                                              • Don't have an account? Register

                                              • Login or register to search.
                                              • First post
                                                Last post
                                              0
                                              • Categories
                                              • Recent
                                              • Tags
                                              • Popular
                                              • Bookmarks
                                              • Search