Roman2K / scat

Decentralized, trustless backup tool
https://github.com/Roman2K/scat/issues/1
MIT License
92 stars 9 forks source link

Dockerfile #10

Open Roman2K opened 7 years ago

Roman2K commented 7 years ago

Suggestion by @Technifocal originally posted in the defunct GitLab repo (old issue):

Implementing a dockerfile into this repo would allow this software to be run in a container, providing large amounts of benefits such as ease of deployment to multiple servers, easy manageable repos using volume mounting in docker, and various other benefits.

If at all possible (Although I am not sure if docker hub supports Gitlab), produce automatic builds on docker hub using webhooks from this repo.

This dockerfile should also include any dependencies scat might use, for example:

  • tar(? -- Should this be done in-container or passed in through another means, to support cases where the user doesn't want to to tar their files and instead use something else)
  • git(? -- Should this be done in-container or dealt with out of container, to support cases where the user does not wish to use git versioning)
  • ssh
  • rclone
  • gpg
  • pv(? Is this ever used by scat? Or is this just a method of piping in?)
  • gzip(? Is this ever used by scat? Or is this done programmatically?)

This dockerfile should also have proper volumes defined, such as:

  • Source data, if being done in-container
  • Destination local stores
  • rclone configuration data
  • gpg keys for signing and encrypting

Along with accepting defined environment variables, such as:

  • Proc string (Or possibly not? And just having the user define their own command using the Docker run 'COMMAND' argument?

I can look at attempting to make this dockerfile myself if preferred, I am not experienced in the field but the documentation doesn't look too hard, at which point it could possibly be merged into this repo.