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


    Cloudron Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

    Galacteek on Cloudron

    App Wishlist
    galacteek ipfs
    7
    47
    1475
    Loading More Posts
    • 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.
    • L
      LoudLemur @cipres last edited by LoudLemur

      @cipres I am not sure specifically, but there are some tips about reducing the number of layers, using a smaller base image size (Alpine) and a dockerignore file might help:

      https://learnk8s.io/blog/smaller-docker-images
      https://phoenixnap.com/kb/docker-image-size
      https://www.ianlewis.org/en/creating-smaller-docker-images

      It is great you are here, @cipres ! Please give this amazing developer a big welcome, Cloudron!

      1 Reply Last reply Reply Quote 2
      • timconsidine
        timconsidine App Dev @micmc last edited by

        @micmc : me too +1
        IPFS is interesting but my knowledge needs improving.
        Getting hands on is good for that

        1 Reply Last reply Reply Quote 2
        • girish
          girish Staff last edited by

          Welcome @cipres !

          dapps is so cool! I am an ex-Qt developer, btw. I wrote among other things Qt style sheets, QCompleter, QLabel etc 🙂 Good to see QML going strong - a QML talk from my past

          C L 2 Replies Last reply Reply Quote 5
          • C
            cipres @girish last edited by

            @girish Thank you ! Cool, 2011 talk, i'll watch it.

            Yeah i think writing dapps in QML has some potential (or it could be a complete dead-end :D), i wrote the necessary interfaces so that from the QML code you can use IPFS functions like pubsub, to broadcast messages efficiently to all the peers. Also it integrates with QtWebEngine so you can load a JS-based ipfs page from your dapp ..

            Most people working with ipfs write dapps in NodeJS, it's the classic approach. Ideally we could mix both ... but QML won't let you do async so i write the complex code in python and call that from the QML side.

            1 Reply Last reply Reply Quote 1
            • L
              LoudLemur @girish last edited by

              @girish Qt is so beautiful! 😊

              micmc 1 Reply Last reply Reply Quote 1
              • micmc
                micmc @LoudLemur last edited by

                @loudlemur said in Galacteek on Cloudron:

                @girish Qt is so beautiful! 😊

                Indeed! 😆


                https://marketingtechnology.agency
                For cutting edge web technologies

                1 Reply Last reply Reply Quote 0
                • C
                  cipres last edited by cipres

                  Some documentation on how to use SparQL and IPFS from a QML dapp

                  https://galacteek.gitlab.io/docs/dapps/sparql/

                  https://galacteek.gitlab.io/docs/dapps/ipfs

                  1 Reply Last reply Reply Quote 1
                  • C
                    cipres last edited by

                    New shapshots and docker image. Now when you search for things on the dweb it's automatically cached as RDF so it's way faster to lookup things later on even being offline.

                    There's also a bash script now to run the latest AppImage snapshot automatically:

                    curl -L https://galacteek.gitlab.io/galacteek-snapshot-install.sh | bash
                    
                    L 1 Reply Last reply Reply Quote 1
                    • L
                      LoudLemur @cipres last edited by

                      @cipres Thank you!

                      I hope that Galacteek can be packaged for Cloudron. You have kindly created a fresh Docker. Perhaps somebody will now volunteer to package it.

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        cipres @LoudLemur last edited by

                        @LoudLemur Managed to get the Docker image down to ~820Mb, based on python:3.7-slim. It can be reduced even more but not that much, i'm surprised by the space the xorg packages take on a debian ...

                        L 1 Reply Last reply Reply Quote 2
                        • L
                          LoudLemur @cipres last edited by

                          @cipres Well done! Could somebody take a crack at putting this on Cloudron?

                          C 1 Reply Last reply Reply Quote 0
                          • C
                            cipres @LoudLemur last edited by

                            @LoudLemur I've read the packaging tutorial, i can write and publish the CloudronManifest.json file in the galacteek repo if that helps. It seems that the docker image url/ref is not specified in the manifest but rather that you need to pass it when you run "cloudron install --image ..." ?

                            timconsidine 1 Reply Last reply Reply Quote 1
                            • timconsidine
                              timconsidine App Dev @cipres last edited by timconsidine

                              @cipres
                              Yes you need :

                              • CloudronManifest.json ( can be simple )
                              • Dockerfile
                              • source code

                              Then :

                              • docker build -t <reponame>/<appname>:<tag> .
                              • docker push <reponame>/<appname>:<tag>
                              • cloudron install --image <reponame>/<appname>:<tag>
                              C 1 Reply Last reply Reply Quote 1
                              • C
                                cipres @timconsidine last edited by

                                @timconsidine Thank you ! The docker image is already automatically built from gitlab ci and pushed to gitlab's container registry here:

                                registry.gitlab.com/galacteek/galacteek:pimp-my-dweb-latest-x11vnc

                                So apart from the manifest there isn't much else that needs to be done it seems ?

                                timconsidine 1 Reply Last reply Reply Quote 0
                                • timconsidine
                                  timconsidine App Dev @cipres last edited by timconsidine

                                  @cipres generally nothing else needed BUT I think the Dockerfile may need to be custom to Cloudron. Depends on how complex the Dockerfile is.

                                  • Generally advised to use latest base build
                                    FROM cloudron/base:3.2.0@sha256:ba1d566164a67c266782545ea9809dc611c4152e27686fd14060332dd88263ea
                                    Although I am not entirely sure about whether this is essential.

                                  • May need to consider passing some Cloudron-specific variables for DB connection etc.

                                  • Generally Cloudron deployments are 'static' in terms of system code under /app/code and changeable config and data under /app/data. But again not sure if this is essential.

                                  Someone with more technical knowledge and better packaging experience may be able to explain / advise better than me.

                                  C 1 Reply Last reply Reply Quote 0
                                  • C
                                    cipres @timconsidine last edited by

                                    @timconsidine Thanks a lot for your help.The Dockerfile is pretty simple. I don't want to have to maintain 2 different docker images.

                                    Given that the password to access the UI via VNC is printed on the console when the container is started, won't be that be a problem when running it from cloudron ?

                                    timconsidine 3 Replies Last reply Reply Quote 0
                                    • timconsidine
                                      timconsidine App Dev @cipres last edited by timconsidine

                                      @cipres Understood about different images
                                      All you can do is try ! Maybe stock image deploys fine on Cloudron

                                      About password, it is possible to view the runtime logs on install.
                                      You just need to tell people to do that.

                                      I can try if you want.
                                      But http://registry.gitlab.com/galacteek/galacteek:pimp-my-dweb-latest-x11vnc comes up as 404 (I will try again)

                                      I don't know how VNC is going to work, but would be interested to find out.

                                      timconsidine 1 Reply Last reply Reply Quote 0
                                      • timconsidine
                                        timconsidine App Dev @cipres last edited by

                                        @cipres if you have a stock image, I guess it could just be

                                        cloudron install --image http://registry.gitlab.com/galacteek/galacteek:pimp-my-dweb-latest-x11vnc

                                        ... providing there is a CloudronManifest.json
                                        Have you made this yet ? Can you share it ?

                                        1 Reply Last reply Reply Quote 0
                                        • timconsidine
                                          timconsidine App Dev @timconsidine last edited by timconsidine

                                          @timconsidine said in Galacteek on Cloudron:

                                          @cipres Understood about different images
                                          All you can do is try ! Maybe stock image deploys fine on Cloudron

                                          I tried.
                                          But got this :

                                          $ cloudron install --image http://registry.gitlab.com/galacteek/galacteek:pimp-my-dweb-latest-x11vnc
                                          Location: 3.appx.uk    
                                          Failed to install app: 400 message: Manifest error: Invalid docker image name
                                          

                                          Maybe related to that 404 I mentioned
                                          Or something else I don't understand !

                                          EDIT : I don't understand about IPFS or what Galacteek is doing : sorry

                                          C 1 Reply Last reply Reply Quote 0
                                          • timconsidine
                                            timconsidine App Dev @cipres last edited by

                                            @cipres Even though I little idea about what I am building, I am trying to build a Cloudron Dockerfile
                                            Will report back.

                                            timconsidine 1 Reply Last reply Reply Quote 0
                                            • timconsidine
                                              timconsidine App Dev @timconsidine last edited by timconsidine

                                              @cipres
                                              I am getting errors

                                              COPY docs /usr/local/galacteek/docs/
                                              I think this should be COPY galacteek/docs /usr/local/galacteek/docs/

                                              More seriously I am getting :

                                              #10 40.69         import cryptography
                                              #10 40.69     ModuleNotFoundError: No module named 'cryptography'
                                              #10 40.69     ----------------------------------------
                                              #10 40.93 ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
                                              

                                              I tried to add cryptography to requirements.txt but it didn't work
                                              Exploring ...

                                              EDIT : can't get past

                                              #10 1.621 Collecting cryptography                                                                                            
                                              #10 1.716   Downloading cryptography-36.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB)
                                              #10 3.071 ERROR: Could not find a version that satisfies the requirement pip3 (from versions: none)
                                              #10 3.077 ERROR: No matching distribution found for pip3
                                              

                                              Blocked

                                              C 1 Reply Last reply Reply Quote 0
                                              • C
                                                cipres @timconsidine last edited by

                                                Why do you add http:// ? I think that's the issue. This works for me.

                                                docker pull registry.gitlab.com/galacteek/galacteek:pimp-my-dweb-latest-x11vnc
                                                

                                                I don't have cloudron installed yet. I wrote the CloudronManifest.json, will push it soon. Should the CloudronManifest.json file also be inside the docker container's filesystem ?

                                                timconsidine 1 Reply Last reply Reply Quote 0
                                                • C
                                                  cipres @timconsidine last edited by

                                                  @timconsidine The Dockerfile for the x11vnc image is called Dockerfile.debian.x11vnc in the pimp-my-dweb branch.

                                                  docker build -f Dockerfile.debian.x11vnc  .
                                                  

                                                  But no need to build it, better use the available image in the gitlab registry.

                                                  1 Reply Last reply Reply Quote 0
                                                  • timconsidine
                                                    timconsidine App Dev @cipres last edited by

                                                    @cipres I just clicked the link. Probably shouldn't have done. Ignore that.

                                                    I tried building with recommended cloudron base image but that generated above errors. Maybe I was trying to be too clever.

                                                    Tried again with your base image in your Dockerfile.
                                                    That's building now better but still run into errors.
                                                    Will report back.

                                                    CloudronManifest.json just need to be in project directory.
                                                    Doesn't need adding, just accessible when running cloudron install.
                                                    Don't worry about sharing for now.

                                                    Rather than me fill this topic with dev issues, maybe we should take this to chat ?

                                                    C 1 Reply Last reply Reply Quote 0
                                                    • C
                                                      cipres @timconsidine last edited by

                                                      @timconsidine Yes better in the chat, thanks.

                                                      L 1 Reply Last reply Reply Quote 0
                                                      • L
                                                        LoudLemur @cipres last edited by

                                                        @cipres @timconsidine - you people are heroes!

                                                        This is so powerful. I can't wait to try this. Please let us know how to get it going if you get it ready.

                                                        timconsidine C 2 Replies Last reply Reply Quote 0
                                                        • timconsidine
                                                          timconsidine App Dev @LoudLemur last edited by

                                                          @LoudLemur said in Galacteek on Cloudron:

                                                          @cipres @timconsidine - you people are heroes!

                                                          @cipres might be
                                                          I'm just a blundering monkey

                                                          I'm not convinced it will be possible to get a working build, but we're certainly trying

                                                          1 Reply Last reply Reply Quote 0
                                                          • C
                                                            cipres @LoudLemur last edited by

                                                            @LoudLemur @timconsidine adapted the Dockerfile for Cloudron, i hope we can fix the remaining issues.

                                                            L 1 Reply Last reply Reply Quote 1
                                                            • L
                                                              LoudLemur @cipres last edited by

                                                              @cipres Great! What is the latest on progress here? Has anybody managed to deploy Galacteek on Cloudron yet?

                                                              timconsidine 1 Reply Last reply Reply Quote 0
                                                              • timconsidine
                                                                timconsidine App Dev @LoudLemur last edited by

                                                                @LoudLemur I am finishing packaging it. We're almost there, but resolving some issues.

                                                                To be honest @LoudLemur I am not sure that performance as a Cloudron app will be enough for most people. Mostly because it is quite demanding in terms of memory (so if your Cloudron instance is running lots of apps or has limited RAM for the VPS), it will probably seem quite slow.

                                                                In addition it will depend where your Cloudron server is located. If it is a VPS in the cloud, which is probably true for 90% of people (??), you will need to use VNC from your local device to the server, over a SSH tunnel. That is going to reduce speed and increase screen refresh/lag times.

                                                                If your Cloudron server is on your home network, you won't need a ssh tunnel for the VNC ..... but it will still be VNC speeds for screen activity.

                                                                I downloaded the Galacteek app for Mac, and even running locally it is quite demanding (mind you, I do usually have a ton of apps running locally).

                                                                I am very interested in IPFS and using this packaging project to learn about the subject (and to advance my packaging skills). But I have to be honest and say that I am very likely to not use a Cloudron-installation of Galacteek, but a native app. So please be sure you check out those options also.

                                                                I think for Coudron, we may need some other kind of IPFS server app. But I'm still learning about the subject.

                                                                @cipres, if I said something not true in the above, please feel free to correct me ! Actually no, don't feel free : PLEASE correct me.

                                                                C doodlemania2 2 Replies Last reply Reply Quote 1
                                                                • C
                                                                  cipres @timconsidine last edited by

                                                                  @timconsidine Everything you said is very accurate. The RAM requirements have to be considered, it will likely be an issue on a VPS. Thanks again for doing the work on the packaging, it's never lost ..

                                                                  The primary use case on cloudron i think wouldn't be to access the UI via VNC (although you still could) but to act as a node on the network to cache linked data. galacteek uses RDF and SparQL (over libp2p tunnels, so it's fully P2P) to exchange linked data between peers. This works pretty well but needs some optimization (synchronization is slow).

                                                                  I think it's best to wait a bit to see how it can best be deployed, there's no rush.

                                                                  1 Reply Last reply Reply Quote 0
                                                                  • L
                                                                    LoudLemur @cipres last edited by

                                                                    @cipres I don't know if ipfs-lite might be usable and able to reduce the size:

                                                                    https://github.com/hsanjuan/ipfs-lite

                                                                    Also, there is an IPFS Docker registry
                                                                    https://github.com/ipdr/ipdr

                                                                    C 1 Reply Last reply Reply Quote 0
                                                                    • doodlemania2
                                                                      doodlemania2 App Dev @timconsidine last edited by

                                                                      @timconsidine can you share your packaging? happy to look at it as well

                                                                      timconsidine 2 Replies Last reply Reply Quote 1
                                                                      • timconsidine
                                                                        timconsidine App Dev @doodlemania2 last edited by

                                                                        @doodlemania2 : Sure.
                                                                        I got it as far as my competencies allowed before the Ukraine war started on 24th Feb
                                                                        Haven't touched it since then. In Warsaw for 2-3 weeks trying to get family out and get visas.
                                                                        I will try to find the code, but I am not sure I have access on this laptop. Will check.

                                                                        I'm still bit unsure whether it is a good fit for Cloudron, as per messages above. But maybe your better skills can make it so !

                                                                        1 Reply Last reply Reply Quote 0
                                                                        • timconsidine
                                                                          timconsidine App Dev @doodlemania2 last edited by

                                                                          @doodlemania2 I seem to have been a bit more efficient than I normally am.
                                                                          There is a repo here : https://git.cloudron.io/timconsidine/cloudron-galacteek
                                                                          2 issues :

                                                                          • it's not loading for me at the moment, but looks like there are some files there ! Maybe it will load for you.
                                                                          • I am not convinced it's the absolute latest version, but maybe that doesn't matter, and you can pick up from a not-quite-latest commit.

                                                                          I will try to get remote access to the computer in office to check if any o/s commits. But I ran out the door when leaving, so not sure what devices I left on/connected.

                                                                          doodlemania2 1 Reply Last reply Reply Quote 3
                                                                          • doodlemania2
                                                                            doodlemania2 App Dev @timconsidine last edited by

                                                                            @timconsidine Not a problem and please take good care of your family! Will look as soon as I can.

                                                                            1 Reply Last reply Reply Quote 3
                                                                            • C
                                                                              cipres @LoudLemur last edited by

                                                                              @LoudLemur Sorry bit of a late reply .. No, go-ipfs really doesn't take much disk space that's not a problem. ipfs-lite only provides the strict minimum (great project), but galacteek needs and uses the whole ipfs stack, things like streams and pubsub.

                                                                              A flatpak repository is now available. I'll integrate tim's work in the main repo but i can't test it (don't have cloudron).

                                                                              @timconsidine hope you're ok, thanks again for the work you did on this

                                                                              timconsidine 1 Reply Last reply Reply Quote 2
                                                                              • timconsidine
                                                                                timconsidine App Dev @cipres last edited by

                                                                                @cipres thank you, bit of a tough time.
                                                                                If you need me to test something, happy to do so.

                                                                                C 2 Replies Last reply Reply Quote 0
                                                                                • C
                                                                                  cipres @timconsidine last edited by

                                                                                  @timconsidine Built the docker image, all good. Only thing i've changed .. i'm using "python -m http.server 8000" instead of the server.js script to run the health check service. That got me wondering how the "node /app/code/server.js" command could work because nodejs isn't being installed anywhere ?

                                                                                  One question: does the Dockerfile for cloudron need to be named "Dockerfile" ? Or is it allowed to have it named "Dockerfile.cloudron" for example. If not, that's fine i'll symlink it.

                                                                                  1 Reply Last reply Reply Quote 0
                                                                                  • C
                                                                                    cipres @timconsidine last edited by

                                                                                    @timconsidine Just pushed the code in the pimp-my-dweb branch (see Dockerfile.cloudron). Tried the docker image, it works, and the healthcheck on port 8000 should work. Had to fix a few things, /app/code/bin wasn't in PATH, it couldn't find go-ipfs ..

                                                                                    robi 1 Reply Last reply Reply Quote 0
                                                                                    • robi
                                                                                      robi @cipres last edited by

                                                                                      @staff is there a way to use the demo cloudron for testing new apps?

                                                                                      Life of Advanced Technology

                                                                                      girish 1 Reply Last reply Reply Quote 1
                                                                                      • girish
                                                                                        girish Staff @robi last edited by

                                                                                        @robi Yes, sure, install away. Are you asking for a way to make sure the app does not get uninstalled by someone else?

                                                                                        robi 1 Reply Last reply Reply Quote 0
                                                                                        • robi
                                                                                          robi @girish last edited by

                                                                                          @girish wasn't sure about -cli auth and apps not in the app store or 3rd party docker repos.

                                                                                          Life of Advanced Technology

                                                                                          1 Reply Last reply Reply Quote 0
                                                                                          • First post
                                                                                            Last post
                                                                                          Powered by NodeBB