Custom app: docker volume mapping
-
Hi,
I'm trying to create a custom cloudron app for this app: jellyseerr.
I successfully created the CloudronManifest.json file{ "id": "jellyseerr.com", "title": "Jellyseerr", "author": "Girish Ramakrishnan <girish@cloudron.io>", "description": "Jellyseerr app", "tagline": "A great beginning", "version": "0.0.1", "healthCheckPath": "/", "httpPort": 5055, "addons": { "localstorage": {} }, "manifestVersion": 2, "website": "https://www.example.com", "contactEmail": "support@clourdon.io", "icon": "file://icon.png", "tags": [ "test", "collaboration" ], "mediaLinks": [ "https://images.rapgenius.com/fd0175ef780e2feefb30055be9f2e022.520x343x1.jpg" ] }
But I have some trouble: the app crashed:
.It's seems to be because the docker image need to configure "/config" folder when running:
docker run --rm \ --name jellyseerr \ -p 5055:5055 \ -e PUID=1000 \ -e PGID=1000 \ -e UMASK=002 \ -e TZ="Etc/UTC" \ -v /<host_folder_config>:/config \ ghcr.io/hotio/jellyseerr
I checked some image from cloudron image hub but i still didn't understand where the mapping is done.
How do I manage to link the volume ?Thank you.
-
If the config can change, it should be under /app/data
-
Are you running docker from the host ?
Normally you should build a Dockerfile -
@timconsidine I have connected my cloudron cli to my cloudron instance and i'm running command from my computer:
cloudron install --image hotio/jellyseerr
No i don't think the config will change
-
Ok but is this image built for Cloudron ? Or you’re using a pre-built image ?
-
@timconsidine I'm using a pre-built image from docker hub
-
If the config is not ever going to change, it can be read-only and included in the app’s files under /app/code.
-
-
@jbrichez in the Dockerfile, you can just symlink /config (or whatever) to say /app/data/config . The mapping is created in the Dockerfile.
-
I successfully started the app then when i check the container's volume I can see that:
[{bind /media/movies /media/movies true rprivate} {bind /home/yellowtent/appsdata/4a224e49-5a30-49ae-bb2b-2b22731ab6ed/data /app/data true rprivate} {volume 585faa40fe07d43726062f11d0530fad796806b03a3c1c39daab3a9a86b14542 /var/lib/docker/volumes/585faa40fe07d43726062f11d0530fad796806b03a3c1c39daab3a9a86b14542/_data /tmp local true } {volume 28fcf47257a3b52162a2998df0eff0b325570c0cef49478f37cff3ecea7d0fda /var/lib/docker/volumes/28fcf47257a3b52162a2998df0eff0b325570c0cef49478f37cff3ecea7d0fda/_data /run local true }]
There is my question answer probably...
This is the mapping I was looking forWhen we used the cloudron cli, behind you automatically create a volume and attached it my custom app...
I didn't see that in the doc. Is it written somewhere ? -
@jbrichez maybe you are asking for https://docs.cloudron.io/packaging/cheat-sheet/#filesystem ?
-
Still, a Cloudron App should not need a volume by default.