Add CircleCI Automated Docker image builds

Open kenshin-samourai requested to merge github/fork/Kukks/dojo-circleci into develop

Created by: Kukks

This PR adds CircleCI integration so that you auto build and publish all your docker containers to Docker Hub. To get set up you need to:

  • Create account with Docker hub
  • Create account with Circle CI
  • Enable project in CircleCI
  • Configure project in Circle CI with the following environment variables:
    • DOCKERHUB_REPO - the docker hub repo, usually your username (e.g kukks/btcpayserver)
    • DOCKERHUB_USER - the user to login with
    • DOCKERHUB_PASS - password to login with

When will this build?

  • On new commits to develop, images are built with a -dev suffix
  • On new commits to master, images are built with a -latest suffix
  • On new tags with the format vx.x..n, images are built with a -x.x..n suffix (e.g v0.0.1.1.1 = 0.0.1.1.1, v0.0.1.1-rc1 = 0.0.1.1-rc1)

What images are built? AMD64, ARM32 and ARM64 images, for nodejs, db, nginx and tor. I had to modify the nginx dockerfile so that the dojo conf files would be optional at build time (I recommend you switch to volume mapping the file in place to not require to build the image each time the config changes anyway). The foo file is only there to trigger optional copying of the conf if they are found (based on this) and is removed immediately after.

Merge request reports