From 7dd5d9727936b1aaa37d4401f16b60485467b594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20M=C3=BCller-Downing?= Date: Sun, 6 Sep 2020 15:44:56 +1000 Subject: [PATCH] Use GitHub Container Registry for Docker images GHCR allows images to be pulled anonymously --- .github/workflows/main.yml | 29 +++++++++++++++++++++-------- README.md | 21 ++++++++++++++++----- docker-compose.yml | 2 +- 3 files changed, 38 insertions(+), 14 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index aecd76dc..bab1852d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,7 @@ on: - release: - types: [published] + push: + branches: + - feat/push-to-github-container-registry jobs: @@ -13,17 +14,29 @@ jobs: uses: actions/checkout@v2 - name: Build PostgreSQL container image - run: docker build --build-arg DATABASE_TYPE=postgresql --tag docker.pkg.github.com/mikecao/umami/umami:postgresql-$(echo $GITHUB_SHA | head -c7) . + run: | + docker build --build-arg DATABASE_TYPE=postgresql \ + --tag ghcr.io/$GITHUB_ACTOR/umami:postgresql-$(echo $GITHUB_SHA | head -c7) \ + --tag ghcr.io/$GITHUB_ACTOR/umami:postgresql-latest \ + . - name: Build MySQL container image - run: docker build --build-arg DATABASE_TYPE=mysql --tag docker.pkg.github.com/mikecao/umami/umami:mysql-$(echo $GITHUB_SHA | head -c7) . + run: | + docker build --build-arg DATABASE_TYPE=mysql \ + --tag ghcr.io/$GITHUB_ACTOR/umami:mysql-$(echo $GITHUB_SHA | head -c7) \ + --tag ghcr.io/$GITHUB_ACTOR/umami:mysql-latest \ + . - name: Docker login env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: docker login -u mikecao -p $GITHUB_TOKEN docker.pkg.github.com + CR_PAT: ${{ secrets.CR_PAT }} + run: docker login -u $GITHUB_ACTOR -p $CR_PAT ghcr.io - name: Push image to GitHub run: | - docker push docker.pkg.github.com/mikecao/umami/umami:postgresql-$(echo $GITHUB_SHA | head -c7) - docker push docker.pkg.github.com/mikecao/umami/umami:mysql-$(echo $GITHUB_SHA | head -c7) + # Push each image individually, avoiding pushing to umami:latest + # as MySQL or PostgreSQL are required + docker push ghcr.io/$GITHUB_ACTOR/umami:postgresql-$(echo $GITHUB_SHA | head -c7) + docker push ghcr.io/$GITHUB_ACTOR/umami:postgresql-latest + docker push ghcr.io/$GITHUB_ACTOR/umami:mysql-$(echo $GITHUB_SHA | head -c7) + docker push ghcr.io/$GITHUB_ACTOR/umami:mysql-latest diff --git a/README.md b/README.md index 078829a6..a241d409 100644 --- a/README.md +++ b/README.md @@ -60,13 +60,13 @@ The `HASH_SALT` is used to generate unique values for your installation. ### Build the application -``` +```bash npm run build ``` ### Start the application -``` +```bash npm start ``` @@ -78,15 +78,26 @@ or change the [port](https://nextjs.org/docs/api-reference/cli#production) to se To build the umami container and start up a Postgres database, run: -``` +```bash docker-compose up ``` +Alternatively, to pull just the Umami Docker image with PostgreSQL support: +```bash +docker pull ghcr.io/mikecao/umami:postgresql-latest +``` + +Or with MySQL support: +```bash +docker pull ghcr.io/mikecao/umami:mysql-latest +``` + + ## Getting updates To get the latest features, simply do a pull, install any new dependencies, and rebuild: -``` +```bash git pull npm install npm run build @@ -94,4 +105,4 @@ npm run build ## License -MIT \ No newline at end of file +MIT diff --git a/docker-compose.yml b/docker-compose.yml index 7f1b42ff..7a12e83d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: umami: - build: . + image: ghcr.io/mikecao/umami:postgresql-latest ports: - "3000:3000" environment: