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 ..." ?
-
@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>
-
@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 ?
-
@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.
-
-
@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 ?
-
-
@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.
-
@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 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 ? -
@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.
@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
-
@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 Even though I little idea about what I am building, I am trying to build a Cloudron Dockerfile
Will report back.@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
-
@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
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 ?
-
@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
@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.
-
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 ?
@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 ?
-
@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.
-
@timconsidine Yes better in the chat, thanks.
-
@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.
@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
-
@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.
@LoudLemur @timconsidine adapted the Dockerfile for Cloudron, i hope we can fix the remaining issues.
-
@LoudLemur @timconsidine adapted the Dockerfile for Cloudron, i hope we can fix the remaining issues.
-
@cipres Great! What is the latest on progress here? Has anybody managed to deploy Galacteek on Cloudron yet?
@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.
-
@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.