Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App Submission: Enclosed #1563

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
Open

App Submission: Enclosed #1563

wants to merge 11 commits into from

Conversation

Zoobdude
Copy link

@Zoobdude Zoobdude commented Oct 1, 2024

App Submission

App name

Enclosed

App logo

https://svgshare.com/s/1BQT

Gallery

1.jpg:
image

2.jpg:
image

3.jpg:
image

I have tested my app on:
[] umbrelOS on a Raspberry Pi
[] umbrelOS on an Umbrel Home
[] umbrelOS on Linux VM

@Zoobdude
Copy link
Author

Zoobdude commented Oct 1, 2024

Will pick a different port, set relevant env vars to make it work and test on RPI

@dennysubke
Copy link

@Zoobdude Very good app! Thanks for the tip! Works perfectly with Cloudflare. I took it to my community store:
Screenshot

@nmfretz
Copy link
Contributor

nmfretz commented Oct 3, 2024

Thanks for submitting Enclosed @Zoobdude! This looks great.

We've got our heads down on some other aspects of the codebase, but we have this on our radar and will get to it soon.

FYI, the next port number of 8788 is free! All you'll need to do is change the port in the umbrel-app.yml. You can leave the docker-compose.yml file as-is since the app_proxy container will handle things for you.

enclosed/umbrel-app.yml Outdated Show resolved Hide resolved
Co-authored-by: Nathan Fretz <[email protected]>
@Zoobdude
Copy link
Author

Zoobdude commented Oct 3, 2024

Thanks for the reply, didn't know the app_proxy could just change the port, that's pretty handy.

I'll get some screenshots shortly.

@Zoobdude Zoobdude marked this pull request as ready for review October 3, 2024 08:12
Copy link
Contributor

@sharknoon sharknoon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @Zoobdude for the amazing app submission. I have only one very minor suggestion (see below). I have also tested the app and it is working perfectly :)

enclosed/umbrel-app.yml Outdated Show resolved Hide resolved
@sharknoon
Copy link
Contributor

Wow that was fast @Zoobdude :)
@nmfretz this app is ready from my side

@Zoobdude
Copy link
Author

Zoobdude commented Oct 3, 2024

Just waiting to be back at my desk with my 4k monitor for the screenshots. Don't think my 2013 13" MacBook Air will cut it xD

@Zoobdude
Copy link
Author

Zoobdude commented Oct 3, 2024

Hopefully those screenshots are alright!

@sharknoon
Copy link
Contributor

Yes, they are looking good :) Thank you

@Zoobdude
Copy link
Author

Zoobdude commented Oct 11, 2024

Added app logo svg

Copy link

🎉   Linting finished with no errors or warnings   🎉

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

@nmfretz
Copy link
Contributor

nmfretz commented Oct 15, 2024

Wonderful, thanks again for this submission @Zoobdude! And thanks for reviewing @sharknoon.

I have pushed a few changes to finalize the submission. We'll get the gallery assets created and then this is good to go live!


Context for commit ea086b7:

During testing, I ran into a permissions issue when creating a note:

{"level":50,"time":1728961593126,"pid":1,"hostname":"ef7a1975224b","namespace":"middlewares:error","error":{"errno":-13,"code":"EACCES","syscall":"open","path":"/app/.data/01ja728fs5y3x8ffeqzdcemva6"},"msg":"EACCES: permission denied, open '/app/.data/01ja728fs5y3x8ffeqzdcemva6'"}

This is because the uid/gid of the nonroot user wasn't being set correctly in the docker-compose.yml:

/app $ whoami
nonroot
/app $ id
uid=100(nonroot) gid=101(nonroot) groups=101(nonroot)
/app $ ls -la
total 284
drwxr-xr-x    1 nonroot  nonroot       1024 Sep 29 20:36 .
drwxr-xr-x    1 root     root          1024 Oct 15 03:01 ..
drwxr-xr-x    2 node     node          1024 Oct 15 02:58 .data
-rw-r--r--    1 nonroot  nonroot     285568 Sep 29 20:33 index.cjs
drwxr-xr-x    1 nonroot  nonroot       1024 Sep 29 20:33 public

So the container was trying to write to a data directory owned by 1000:1000 (node) while operating as 100:101

Using the user directive in the compose file to set the user to 1000:1000, instead of using environment variables is the fix:

/app $ whoami
node
/app $ id
uid=1000(node) gid=1000(node) groups=1000(node)
/app $ ls -la
total 284
drwxr-xr-x    1 nonroot  nonroot       1024 Sep 29 20:36 .
drwxr-xr-x    1 root     root          1024 Oct 15 03:14 ..
drwxr-xr-x    2 node     node          1024 Oct 15 02:58 .data
-rw-r--r--    1 nonroot  nonroot     285568 Sep 29 20:33 index.cjs
drwxr-xr-x    1 nonroot  nonroot       1024 Sep 29 20:33 public

@Zoobdude
Copy link
Author

I must admit, until using enclosed/umbrel I hadn't ever used alternative users in a docker container. Thanks for the explanation, I appreciate it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants