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

Add Docker workflow #70

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

Conversation

pataquets
Copy link
Contributor

@pataquets pataquets commented Nov 16, 2020

This PR includes: 

  • Dockerfile initial version.
  • Docker Compose manifest.
  • Documentation update on using them.

The former is used to build the code and create a Docker image. The latter contains the configuration (exposing FUSE from Docker is a bit tricky) to run a container from the previously built image which will mount Sintel on /tmp/, as described in docs. Just do docker-compose up as stated in docs.

Using both files enabled me to develop and test #69 without needing to install any development libs or tools in my machine.

Optionally, the Dockerfile can also be used to create a public Docker image built from source to use as a distribution method via Automated Builds on Docker Hub. It takes just a few minutes of clicking to register and link the AB to GitHub's repo. Currently, I'm using one based off my fork successfully. I think it makes for an easy way to let people download the latest version easily.

@pataquets
Copy link
Contributor Author

@johang friendly ping, in case you didn't receive any notification

@pataquets
Copy link
Contributor Author

@johang : Do you have any feedback on the PR?

@johang
Copy link
Owner

johang commented Jun 11, 2021

I'm not too keen on this patch. What's even the point of running it in Docker? You still need fuse on the host and your run with privileged true and apparmor unconfined so you don't get any security benefits. Also, btfs is packages in Debian so you can just apt-get install it instead of building it yourself.

@pataquets
Copy link
Contributor Author

Thanks for reviewing @johang .
Security is not the main benefit I'm getting with this PR, indeed.
Mainly, I get a 'no-need-to-install-any-dependencies' development workflow (this is how I was able to hit the road quickly and pull #69 without risking my system installing dev deps).
Also, under Docker containers, you can create 'stacks', comprising several services and spin them up with a single docker-compose up command. For example, a UPnP/DLNA media sever mounting a btfs dir, all defined in a Docker Compose manifest.
Or just run one-off btfs instances and leave no traces after being done with them.
I've included an example Docker Compose manifest precisely to serve as example on how to correctly use FUSE from the Docker container. It might even help to pull the right docker run CLI switches for one-off runs just using it as reference, too.

@pataquets
Copy link
Contributor Author

@johang As an added bonus, it enables a quick build-just-with-docker install. See how I've contributed it to kmonad.

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.

3 participants