thinkst / opencanary

Modular and decentralised honeypot
http://opencanary.org
BSD 3-Clause "New" or "Revised" License
2.27k stars 355 forks source link

Add docker build action #295

Closed tjaartvdwalt closed 1 year ago

tjaartvdwalt commented 1 year ago

Proposed changes

Builds a docker image, and uploads it to Github Container Registry.

With every push to master, it updates the latest tag, and on every release, it creates a tag corresponding to the release version.

You can see it in action on our fork: https://github.com/outsideopen/opencanary/pkgs/container/opencanary

There are a lot of Docker images for Opencanary available, but I thought it might be good to have an "official build" as part of the repo.

Types of changes

Checklist

Further comments

We can push the resulting image to Docker Hub instead of Github Container Registry, if that is preferable, but it will require more configuration, whereas support for GHCR is built into Github Actions.

jayjb commented 1 year ago

Hi @tjaartvdwalt,

Thanks for the docker build action. Its great. I see it is failing the precommit checks though. Do you mind running pre-commit run --all-files in your opencanary repo so that you can fix the style issues please?

We can then accept and merge this.

tjaartvdwalt commented 1 year ago

Hi @jayjb, sorry about that, I should have read the contribution guidelines. :blush:

The linting is fixed now.

jayjb commented 1 year ago

Hi @tjaartvdwalt,

Thanks so much for the contribution. Would you mind emailing me at jay [at] thinkst.com please? We would like to send you something as a thanks 🤘

tjaartvdwalt commented 1 year ago

Thanks @jayjb I will email you!

It seems like the image uploaded successfully, but I cannot publicly access it.

From the command line I get the following error:

docker pull ghcr.io/thinkst/opencanary:latest
Error response from daemon: Head "https://ghcr.io/v2/thinkst/opencanary/manifests/latest": unauthorized

My guess is that it relates to package inherited permissions, but I am not sure.

If you publish a package that is linked to a repository, the package inherits its permissions from the linked repository by default.