getumbrel / umbrel-apps

The official app repository of the Umbrel App Store. Submit apps and updates here. Learn how → https://github.com/getumbrel/umbrel-apps#readme
https://apps.umbrel.com
516 stars 381 forks source link

App Submission: Dockge #1106

Open FlyinPancake opened 4 months ago

FlyinPancake commented 4 months ago

App Submission

Dockge

256x256 SVG icon

https://dockge.kuma.pet/icon.svg

Gallery images

dockge-1 dockge-2 dockge-3 dockge-4

I have tested my app on:

highghlow commented 4 months ago

Now we'll have to wait for nmfretz

nmfretz commented 3 months ago

Hey, sorry for the delay on this @FlyinPancake. I'll look at this soon. Thanks very much for the submission!

nmfretz commented 1 month ago

Hi @FlyinPancake, I have triggered our new github actions linter to start the review process (see above). The relevant changes that need to be made are adding the three missing host volume mount directories to this repo:

image

cc @sharknoon I'm thinking we should change the linter severity on the missing volume mounts to "error" since we want to avoid unintended permissions issues.

@FlyinPancake you can check Immich here to see how we do it (.gitkeep files in empty directories): https://github.com/getumbrel/umbrel-apps/tree/master/immich/data It is a mistake on our part that we didn't include these in the Portainer app (does not result in errors though because the app services run as root).

In the meantime I will take a look and make sure that our entrypoint.sh and 'dind' service environment variables from the Portainer app can be duplicated here without issue.

nmfretz commented 1 week ago

@FlyinPancake I have tested Dockge and it is working well, great work! I have pushed a few commits to clean up the app description, tweak bind mounts, and change the port so that it doesn't clash with other apps and result in a failed install.

We are currently getting Gallery assets prepared and then we will go live!


As a note for our records, there appears to be a bug in Dockge right now that prevents certain valid compose.yml from working like it should. This is out of our hands and is not a deal breaker for this to launch, but I'm noting it here:

As an example, if you add a valid named volume like this:

volumes:
  metube_downloads:

Dockge changes it automatically to

volumes:
  metube_downloads:  null

Which results in Dockge throwing an error and not bringing up the compose project:

service "metube" refers to undefined volume metube_downloads: invalid compose project.

Someone else has documented it here in this Issue: https://github.com/louislam/dockge/issues/595

It's easy enough to get around (by specifying additional options after the volume name), but it's unfortunate because in order to persist data across app restarts, users need to use named volumes and so may run into this exact error.

sharknoon commented 1 week ago

I think in yaml (which is a superset of json) you can do the following

volumes:
  myvolume: {}

That should prevent assigning null.

nmfretz commented 1 week ago

Good point @sharknoon. And actually, I just tried my original yaml format again:

volumes:
  metube_downloads:

And it successfully deployed without issue when Dockge automatically changed it to:

volumes:
  metube_downloads: null

So perhaps I did something else wrong in my testing (e.g., indentation) and incorrectly attributed it to problems with the above format.

FlyinPancake commented 6 days ago

Sadly the author is taking a break from Dockge in preparation for Uptime Kuma V2, so this issue persists

github-actions[bot] commented 2 days ago

⚠️   Linting finished with 1 warning   ⚠️

Thank you for your submission! This is an automated linter that checks for common issues in pull requests to the Umbrel App Store.

Please review the linting results below and make any necessary changes to your submission.

Linting Results

Severity File Description
ℹ️ dockge/docker-compose.yml Potentially using unsafe user in service "docker":
The default container user "root" can lead to security vulnerabilities. If you are using the root user, please try to specify a different user (e.g. "1000:1000") in the compose file or try to set the UID/PUID and GID/PGID environment variables to 1000.
ℹ️ dockge/docker-compose.yml Potentially using unsafe user in service "dockge":
The default container user "root" can lead to security vulnerabilities. If you are using the root user, please try to specify a different user (e.g. "1000:1000") in the compose file or try to set the UID/PUID and GID/PGID environment variables to 1000.
ℹ️ dockge/docker-compose.yml Service "docker" uses host network mode:
The host network mode can lead to security vulnerabilities. If possible please use the default bridge network mode and expose the necessary ports.
⚠️ dockge/umbrel-app.yml "icon" and "gallery" needs to be empty for new app submissions:
The "icon" and "gallery" fields must be empty for new app submissions as it is being created by the Umbrel team.

Legend

Symbol Description
Error: This must be resolved before this PR can be merged.
⚠️ Warning: This is highly encouraged to be resolved, but is not strictly mandatory.
ℹ️ Info: This is just for your information.