-
Notifications
You must be signed in to change notification settings - Fork 10
Improve docker, dev, and user experience #3
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
base: main
Are you sure you want to change the base?
Conversation
Lets other developers know what the minimum and suggested node version to use should be.
Provides a deterministic package dependency tree for other developers to ensure everyone is using the same versions. Additionally, ensures docker images are reproducible.
* User generated data paths should not be coupled to static/internal folders -- makes data more portable * Use an ENV, CONFIG_DIR, to allow user to set base path for user-generated dirs
* Use alpine base image for smaller footprint * Install ffmpeg as depedency for ffprobe usage * Use linuxserver.io (LSIO) to fix potential file permission problems * https://docs.linuxserver.io/general/understanding-puid-and-pgid/ * Document PUID/PGID usage in readme * Use separate directory for user-generated data (CONFIG_DIR=/config) * Document volume mounting to persist user data * Use s6 init * On startup ensures CONFIG_DIR and subfolders exist and have correct permissions * Better management of long-running node process
|
P.S. did not include this in the PR because its an opinionated approach (and a bit of self-advertising) but you may want to check out my logging library https://foxxmd.github.io/logging . It's an easy way to set up powerful logging usable for both you and your users and would be useful once you need more than the basic node console logging. |
|
To use the github actions workflow to deploy automatically to dockerhub and github packages Triggers on these actions and publishes accordingly:
To enable
Depending on which you use you'll want to add them to readme. Using a badge like |
Saw your post in r/selfhosted. I have experience with node-based, web applications written to be deployed with docker so I thought I'd give some suggestions on how to setup your project for more painless experience for both you and your users.
If you have any questions about these changes I'm happy to expand on why I made them or what they do.