doc: move OCI images hosting to ghcr.io
- dockerhub free team accounts will be deleted in < 30 days (https://www.docker.com/blog/we-apologize-we-did-a-terrible-job-announcing-the-end-of-docker-free-teams/), this affects the Shaarli team account - automated builds will keep pushing latest builds to dockerhub in addition to gchr.io, until the account is deleted - **users relying on `shaarli/shaarli` OCI images are advised to migrate to `ghcr.io/shaarli/shaarli` as soon as possible** - existing tagged images have been copied from https://hub.docker.com/r/shaarli/shaarli/ to https://github.com/shaarli/Shaarli/pkgs/container/shaarli/versions?filters%5Bversion_type%5D=tagged - prepend `ghcr.io/` to all references to OCI images - update all references to dockerhub -> github packages registry, update developer documentation, cleanup dead links - ref. https://github.com/shaarli/Shaarli/issues/1948
This commit is contained in:
parent
9195ce0378
commit
721c090198
4 changed files with 16 additions and 20 deletions
|
@ -7,15 +7,12 @@ _Shaarli is a minimalist link sharing service that you can install on your own s
|
||||||
_It is designed to be personal (single-user), fast and handy._
|
_It is designed to be personal (single-user), fast and handy._
|
||||||
|
|
||||||
[![](https://img.shields.io/badge/stable-v0.11.1-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.11.1)
|
[![](https://img.shields.io/badge/stable-v0.11.1-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.11.1)
|
||||||
•
|
|
||||||
[![](https://img.shields.io/badge/latest-v0.12.1-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.12.1)
|
[![](https://img.shields.io/badge/latest-v0.12.1-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.12.1)
|
||||||
•
|
|
||||||
[![](https://img.shields.io/badge/master-v0.12.x-blue.svg)](https://github.com/shaarli/Shaarli)
|
[![](https://img.shields.io/badge/master-v0.12.x-blue.svg)](https://github.com/shaarli/Shaarli)
|
||||||
[![](https://github.com/shaarli/Shaarli/actions/workflows/ci.yml/badge.svg)](https://github.com/shaarli/Shaarli/actions)
|
[![](https://github.com/shaarli/Shaarli/actions/workflows/ci.yml/badge.svg)](https://github.com/shaarli/Shaarli/actions)
|
||||||
|
|
||||||
[![Join the chat at https://gitter.im/shaarli/Shaarli](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/shaarli/Shaarli)
|
[![Join the chat at https://gitter.im/shaarli/Shaarli](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/shaarli/Shaarli)
|
||||||
[![Bountysource](https://www.bountysource.com/badge/team?team_id=19583&style=bounties_received)](https://www.bountysource.com/teams/shaarli/issues)
|
[![Bountysource](https://www.bountysource.com/badge/team?team_id=19583&style=bounties_received)](https://www.bountysource.com/teams/shaarli/issues)
|
||||||
[![Docker repository](https://img.shields.io/docker/pulls/shaarli/shaarli.svg)](https://hub.docker.com/r/shaarli/shaarli/)
|
[![Docker repository](https://img.shields.io/docker/pulls/shaarli/shaarli.svg)](https://github.com/shaarli/Shaarli/pkgs/container/shaarli)
|
||||||
|
|
||||||
## Quickstart
|
## Quickstart
|
||||||
|
|
||||||
|
|
|
@ -39,14 +39,14 @@ docker run hello-world
|
||||||
|
|
||||||
## Get and run a Shaarli image
|
## Get and run a Shaarli image
|
||||||
|
|
||||||
Shaarli images are available on [DockerHub](https://hub.docker.com/r/shaarli/shaarli/) `shaarli/shaarli`:
|
Shaarli images are available on [GitHub Container Registry](https://github.com/shaarli/Shaarli/pkgs/container/shaarli) `ghcr.io/shaarli/shaarli`:
|
||||||
|
|
||||||
- `latest`: master (development) branch
|
- `latest`: master (development) branch
|
||||||
- `vX.Y.Z`: shaarli [releases](https://github.com/shaarli/Shaarli/releases)
|
- `vX.Y.Z`: shaarli [releases](https://github.com/shaarli/Shaarli/releases)
|
||||||
- `release`: always points to the last release
|
- `release`: always points to the last release
|
||||||
- `stable` and `master`: **deprecated**. These tags are no longer maintained and may be removed without notice
|
- `stable` and `master`: **deprecated**. These tags are no longer maintained and may be removed without notice
|
||||||
|
|
||||||
These images are built automatically on DockerHub and rely on:
|
These images are built automatically on Github Actions and rely on:
|
||||||
|
|
||||||
- [Alpine Linux](https://www.alpinelinux.org/)
|
- [Alpine Linux](https://www.alpinelinux.org/)
|
||||||
- [PHP7-FPM](http://php-fpm.org/)
|
- [PHP7-FPM](http://php-fpm.org/)
|
||||||
|
@ -57,8 +57,8 @@ Additional Dockerfiles are provided for the `arm32v7` platform, relying on [Linu
|
||||||
Here is an example of how to run Shaarli latest image using Docker:
|
Here is an example of how to run Shaarli latest image using Docker:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# download the 'latest' image from dockerhub
|
# download the 'latest' image from GitHub Container Registry
|
||||||
docker pull shaarli/shaarli
|
docker pull ghcr.io/shaarli/shaarli
|
||||||
|
|
||||||
# create persistent data volumes/directories on the host
|
# create persistent data volumes/directories on the host
|
||||||
docker volume create shaarli-data
|
docker volume create shaarli-data
|
||||||
|
@ -76,7 +76,7 @@ docker run --detach \
|
||||||
--rm \
|
--rm \
|
||||||
--volume shaarli-data:/var/www/shaarli/data \
|
--volume shaarli-data:/var/www/shaarli/data \
|
||||||
--volume shaarli-cache:/var/www/shaarli/cache \
|
--volume shaarli-cache:/var/www/shaarli/cache \
|
||||||
shaarli/shaarli:latest
|
ghcr.io/shaarli/shaarli:latest
|
||||||
|
|
||||||
# verify that the container is running
|
# verify that the container is running
|
||||||
docker ps | grep myshaarli
|
docker ps | grep myshaarli
|
||||||
|
@ -118,7 +118,7 @@ $ curl -L https://raw.githubusercontent.com/shaarli/Shaarli/latest/docker-compos
|
||||||
# (replace <shaarli.mydomain.org>, <admin@mydomain.org> and <latest> with your actual information)
|
# (replace <shaarli.mydomain.org>, <admin@mydomain.org> and <latest> with your actual information)
|
||||||
$ echo 'SHAARLI_VIRTUAL_HOST=shaarli.mydomain.org' > .env
|
$ echo 'SHAARLI_VIRTUAL_HOST=shaarli.mydomain.org' > .env
|
||||||
$ echo 'SHAARLI_LETSENCRYPT_EMAIL=admin@mydomain.org' >> .env
|
$ echo 'SHAARLI_LETSENCRYPT_EMAIL=admin@mydomain.org' >> .env
|
||||||
# Available Docker tags can be found at https://hub.docker.com/r/shaarli/shaarli/tags
|
# Available Docker tags can be found at https://github.com/shaarli/Shaarli/pkgs/container/shaarli/versions?filters%5Bversion_type%5D=tagged
|
||||||
$ echo 'SHAARLI_DOCKER_TAG=latest' >> .env
|
$ echo 'SHAARLI_DOCKER_TAG=latest' >> .env
|
||||||
# Pull the Docker images
|
# Pull the Docker images
|
||||||
$ docker-compose pull
|
$ docker-compose pull
|
||||||
|
@ -154,7 +154,7 @@ ExecStart=/usr/bin/docker run \
|
||||||
--hostname shaarli.${domainname} \
|
--hostname shaarli.${domainname} \
|
||||||
-v /srv/docker-volumes-local/shaarli-data:/var/www/shaarli/data:rw \
|
-v /srv/docker-volumes-local/shaarli-data:/var/www/shaarli/data:rw \
|
||||||
-v /etc/localtime:/etc/localtime:ro \
|
-v /etc/localtime:/etc/localtime:ro \
|
||||||
shaarli/shaarli:latest
|
ghcr.io/shaarli/shaarli:latest
|
||||||
|
|
||||||
ExecStop=/usr/bin/docker rm -f ${hostname}-shaarli
|
ExecStop=/usr/bin/docker rm -f ${hostname}-shaarli
|
||||||
|
|
||||||
|
@ -179,9 +179,9 @@ journalctl -f
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# pull/update an image
|
# pull/update an image
|
||||||
$ docker pull shaarli/shaarli:release
|
$ docker pull ghcr.io/shaarli/shaarli:release
|
||||||
# run a container from an image
|
# run a container from an image
|
||||||
$ docker run shaarli/shaarli:latest
|
$ docker run ghcr.io/shaarli/shaarli:latest
|
||||||
# list available images
|
# list available images
|
||||||
$ docker images ls
|
$ docker images ls
|
||||||
# list running containers
|
# list running containers
|
||||||
|
@ -206,16 +206,15 @@ $ docker system prune
|
||||||
- [Docker: using volumes](https://docs.docker.com/storage/volumes/)
|
- [Docker: using volumes](https://docs.docker.com/storage/volumes/)
|
||||||
- [Dockerfile best practices](https://docs.docker.com/articles/dockerfile_best-practices/)
|
- [Dockerfile best practices](https://docs.docker.com/articles/dockerfile_best-practices/)
|
||||||
- [Dockerfile reference](https://docs.docker.com/reference/builder/)
|
- [Dockerfile reference](https://docs.docker.com/reference/builder/)
|
||||||
- [DockerHub: GitHub automated build](https://docs.docker.com/docker-hub/github/)
|
- [GitHub Container Registry](https://github.com/features/packages)
|
||||||
- [DockerHub: Repositories](https://docs.docker.com/userguide/dockerrepos/)
|
- [GithHub Packages documentation](https://docs.github.com/en/packages)
|
||||||
- [DockerHub: Teams and organizations](https://docs.docker.com/docker-hub/orgs/)
|
- [DockerHub: Teams and organizations](https://docs.docker.com/docker-hub/orgs/), [End of Docker free teams](https://www.docker.com/blog/we-apologize-we-did-a-terrible-job-announcing-the-end-of-docker-free-teams/)
|
||||||
- [Get Docker CE for Debian](https://docs.docker.com/install/linux/docker-ce/debian/)
|
- [Get Docker CE for Debian](https://docs.docker.com/install/linux/docker-ce/debian/)
|
||||||
- [Install Docker Compose](https://docs.docker.com/compose/install/)
|
- [Install Docker Compose](https://docs.docker.com/compose/install/)
|
||||||
- [Interactive Docker training portal](https://www.katacoda.com/courses/docker/) on [Katakoda](https://www.katacoda.com/)
|
- [Interactive Docker training portal](https://www.katacoda.com/courses/docker/) on [Katakoda](https://www.katacoda.com/)
|
||||||
- [Service management: Nginx in the foreground](http://nginx.org/en/docs/ngx_core_module.html#daemon)
|
- [Service management: Nginx in the foreground](http://nginx.org/en/docs/ngx_core_module.html#daemon)
|
||||||
- [Service management: Using supervisord](https://docs.docker.com/articles/using_supervisord/)
|
- [Service management: Using supervisord](https://docs.docker.com/articles/using_supervisord/)
|
||||||
- [Volumes](https://docs.docker.com/storage/volumes/)
|
- [Volumes](https://docs.docker.com/storage/volumes/)
|
||||||
- [Volumes](https://docs.docker.com/userguide/dockervolumes/)
|
|
||||||
- [Where are Docker images stored?](http://blog.thoward37.me/articles/where-are-docker-images-stored/)
|
- [Where are Docker images stored?](http://blog.thoward37.me/articles/where-are-docker-images-stored/)
|
||||||
- [docker create](https://docs.docker.com/engine/reference/commandline/create/)
|
- [docker create](https://docs.docker.com/engine/reference/commandline/create/)
|
||||||
- [Docker Documentation](https://docs.docker.com/)
|
- [Docker Documentation](https://docs.docker.com/)
|
||||||
|
|
|
@ -154,7 +154,7 @@ After all jobs have finished, Github Actions returns the results to GitHub:
|
||||||
- a status icon represents the result for the `master` branch: [![Build Status](https://github.com/shaarli/Shaarli/actions/workflows/ci.yml/badge.svg)](https://github.com/shaarli/Shaarli/actions)
|
- a status icon represents the result for the `master` branch: [![Build Status](https://github.com/shaarli/Shaarli/actions/workflows/ci.yml/badge.svg)](https://github.com/shaarli/Shaarli/actions)
|
||||||
- Pull Requests are updated with the Github Actions build result.
|
- Pull Requests are updated with the Github Actions build result.
|
||||||
|
|
||||||
Github Actions is also used to build and push [Docker](../Docker.md) images to <https://hub.docker.com/r/shaarli/shaarli> for the `master` branch and on every git `tag`/[release](https://github.com/shaarli/Shaarli/releases).
|
Github Actions is also used to build and push [Docker](../Docker.md) images to <https://github.com/shaarli/Shaarli/pkgs/container/shaarli> for the `master` branch and on every git `tag`/[release](https://github.com/shaarli/Shaarli/releases).
|
||||||
|
|
||||||
See [`.github/workflows/`](https://github.com/shaarli/Shaarli/tree/master/.github/workflows).
|
See [`.github/workflows/`](https://github.com/shaarli/Shaarli/tree/master/.github/workflows).
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
# - SHAARLI_VIRTUAL_HOST Fully Qualified Domain Name for the Shaarli instance
|
# - SHAARLI_VIRTUAL_HOST Fully Qualified Domain Name for the Shaarli instance
|
||||||
# - SHAARLI_LETSENCRYPT_EMAIL Contact email for certificate renewal
|
# - SHAARLI_LETSENCRYPT_EMAIL Contact email for certificate renewal
|
||||||
# - SHAARLI_DOCKER_TAG Shaarli docker tag to use
|
# - SHAARLI_DOCKER_TAG Shaarli docker tag to use
|
||||||
# See: https://hub.docker.com/r/shaarli/shaarli/tags
|
# See: https://github.com/shaarli/Shaarli/pkgs/container/shaarli/versions?filters%5Bversion_type%5D=tagged
|
||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
@ -21,7 +21,7 @@ volumes:
|
||||||
|
|
||||||
services:
|
services:
|
||||||
shaarli:
|
shaarli:
|
||||||
image: shaarli/shaarli:${SHAARLI_DOCKER_TAG}
|
image: ghcr.io/shaarli/shaarli:${SHAARLI_DOCKER_TAG}
|
||||||
build: ./
|
build: ./
|
||||||
networks:
|
networks:
|
||||||
- http-proxy
|
- http-proxy
|
||||||
|
|
Loading…
Reference in a new issue