Galacteek on Cloudron
-
@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 ..." ?
-
@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>
-
@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 ?
-
@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.
-
-
@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 ?
-
@cipres Understood about different images
All you can do is try ! Maybe stock image deploys fine on CloudronAbout 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.
-
@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 ? -
@timconsidine said in Galacteek on Cloudron:
@cipres Understood about different images
All you can do is try ! Maybe stock image deploys fine on CloudronI 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
-
@cipres
I am getting errorsCOPY docs /usr/local/galacteek/docs/
I think this should beCOPY 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
-
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 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.
-
@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 runningcloudron install
.
Don't worry about sharing for now.Rather than me fill this topic with dev issues, maybe we should take this to chat ?
-
@timconsidine Yes better in the chat, thanks.
-
@LoudLemur said in Galacteek on Cloudron:
@cipres @timconsidine - you people are heroes!
@cipres might be
I'm just a blundering monkeyI'm not convinced it will be possible to get a working build, but we're certainly trying
-
@LoudLemur @timconsidine adapted the Dockerfile for Cloudron, i hope we can fix the remaining issues.
-
@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.
-
@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.