anatol / pacoloco

Caching proxy server for Arch Linux pacman
MIT License
216 stars 30 forks source link

Build and publish docker images to ghcr.io #60

Closed zhulik closed 1 year ago

zhulik commented 1 year ago

Addresses https://github.com/anatol/pacoloco/issues/59

Changes:

publishing to a docker registry makes it possible to deploy pacoloco in kubernetes or using docker-compose without building the app manually.

ghcr.io is the simplest way for publishing a docker image if the code is hosted on github, almost zero configuration needed.

Currently only amd64 is supported.

Please consider using releases instead of tags and don't forget to enable pushing to ghcr in repo's settings

Questions:

anatol commented 1 year ago

Could you please squash the changes into one commit and then put more info about why we need ghcr (like copy explanation from the GitHub issue to the commit)?

zhulik commented 1 year ago

I've updated the PR description. There is no real need to squash on my side, it can be done by merging with squashing here on github

anatol commented 1 year ago

Thank you for the change. It got merged to master.

Please consider using releases instead of tags

Could you please expand on this? Why releases are better than tags here?

don't forget to enable pushing to ghcr in repo's settings

It is not clear for me where are the project settings related to "ghcr". Could you please provide more information on it?

zhulik commented 1 year ago

Could you please expand on this? Why releases are better than tags here?

They are not better they just intended for making releases https://stackoverflow.com/questions/18506508/whats-the-difference-between-tag-and-release, tags are not. The workflow I added specifically designed to work with releases: new release - new tag in ghcr.io.

It is not clear for me where are the project settings related to "ghcr". Could you please provide more information on it?

It's in repository settings->Actions->General. Workflow permissions should be either set to Read and write permissions or you can add more granular permissions to the workflow itself https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions. But I never used the granular permissions

UPD: it seems like the permissions were configured correctly, I see the image in the packages list

anatol commented 1 year ago

UPD: it seems like the permissions were configured correctly, I see the image in the packages list

This sounds great! Could you please also update README with information about these published images (where to find the images, how to use them, etc..)?