Improve docker, dev, and user experience#3
Open
FoxxMD wants to merge 9 commits intodavidguva:mainfrom
Open
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
Author
|
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. |
Author
|
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.