mirror of
https://git.deuxfleurs.fr/Deuxfleurs/garage.git
synced 2024-12-01 20:41:01 +00:00
Add docker registry
This commit is contained in:
parent
ba7be3f895
commit
a8ef761731
2 changed files with 68 additions and 25 deletions
|
@ -5,15 +5,16 @@ In this section, we cover the following web applications:
|
||||||
| Name | Status | Note |
|
| Name | Status | Note |
|
||||||
|------|--------|------|
|
|------|--------|------|
|
||||||
| [Nextcloud](#nextcloud) | ✅ | Both Primary Storage and External Storage are supported |
|
| [Nextcloud](#nextcloud) | ✅ | Both Primary Storage and External Storage are supported |
|
||||||
| [Peertube](#peertube) | ✅ | `base_url` must be set to the website endpoint |
|
| [Peertube](#peertube) | ✅ | Must be configured with the website endpoint |
|
||||||
| [Mastodon](#mastodon) | ❓ | |
|
| [Mastodon](#mastodon) | ❓ | Not yet tested |
|
||||||
| [Matrix](#matrix) | ✅ | Tested with `synapse-s3-storage-provider` |
|
| [Matrix](#matrix) | ✅ | Tested with `synapse-s3-storage-provider` |
|
||||||
| [Pixelfed](#pixelfed) | ❓ | |
|
| [Pixelfed](#pixelfed) | ❓ | Not yet tested |
|
||||||
| [Pleroma](#pleroma) | ❓ | |
|
| [Pleroma](#pleroma) | ❓ | Not yet tested |
|
||||||
| [Lemmy](#lemmy) | ❓ | |
|
| [Lemmy](#lemmy) | ❓ | Not yet tested |
|
||||||
| [Funkwhale](#funkwhale) | ❓ | |
|
| [Funkwhale](#funkwhale) | ❓ | Not yet tested |
|
||||||
| [Misskey](#misskey) | ❓ | |
|
| [Misskey](#misskey) | ❓ | Not yet tested |
|
||||||
| [Prismo](#prismo) | ❓ | |
|
| [Prismo](#prismo) | ❓ | Not yet tested |
|
||||||
|
| [Owncloud OCIS](#owncloud-infinite-scale-ocis) | ❓| Not yet tested |
|
||||||
|
|
||||||
## Nextcloud
|
## Nextcloud
|
||||||
|
|
||||||
|
@ -334,31 +335,34 @@ And add a new line. For example, to run it every 10 minutes:
|
||||||
|
|
||||||
## Pixelfed
|
## Pixelfed
|
||||||
|
|
||||||
https://docs.pixelfed.org/technical-documentation/env.html#filesystem
|
[Pixelfed Technical Documentation > Configuration](https://docs.pixelfed.org/technical-documentation/env.html#filesystem)
|
||||||
|
|
||||||
## Pleroma
|
## Pleroma
|
||||||
|
|
||||||
https://docs-develop.pleroma.social/backend/configuration/cheatsheet/#pleromauploaderss3
|
[Pleroma Documentation > Pleroma.Uploaders.S3](https://docs-develop.pleroma.social/backend/configuration/cheatsheet/#pleromauploaderss3)
|
||||||
|
|
||||||
## Lemmy
|
## Lemmy
|
||||||
|
|
||||||
via pict-rs
|
Lemmy uses pict-rs that [supports S3 backends](https://git.asonix.dog/asonix/pict-rs/commit/f9f4fc63d670f357c93f24147c2ee3e1278e2d97)
|
||||||
https://git.asonix.dog/asonix/pict-rs/commit/f9f4fc63d670f357c93f24147c2ee3e1278e2d97
|
|
||||||
|
|
||||||
## Funkwhale
|
## Funkwhale
|
||||||
|
|
||||||
https://docs.funkwhale.audio/admin/configuration.html#s3-storage
|
[Funkwhale Documentation > S3 Storage](https://docs.funkwhale.audio/admin/configuration.html#s3-storage)
|
||||||
|
|
||||||
## Misskey
|
## Misskey
|
||||||
|
|
||||||
https://github.com/misskey-dev/misskey/commit/9d944243a3a59e8880a360cbfe30fd5a3ec8d52d
|
[Misskey Github > commit 9d94424](https://github.com/misskey-dev/misskey/commit/9d944243a3a59e8880a360cbfe30fd5a3ec8d52d)
|
||||||
|
|
||||||
## Prismo
|
## Prismo
|
||||||
|
|
||||||
https://gitlab.com/prismosuite/prismo/-/blob/dev/.env.production.sample#L26-33
|
[Prismo Gitlab > .env.production.sample](https://gitlab.com/prismosuite/prismo/-/blob/dev/.env.production.sample#L26-33)
|
||||||
|
|
||||||
## Owncloud Infinite Scale (ocis)
|
## Owncloud Infinite Scale (ocis)
|
||||||
|
|
||||||
|
OCIS could be compatible with S3:
|
||||||
|
- [Deploying OCIS with S3](https://owncloud.dev/ocis/deployment/ocis_s3/)
|
||||||
|
- [OCIS 1.7 release note](https://central.owncloud.org/t/owncloud-infinite-scale-tech-preview-1-7-enables-s3-storage/32514/3)
|
||||||
|
|
||||||
## Unsupported
|
## Unsupported
|
||||||
|
|
||||||
- Mobilizon: No S3 integration
|
- Mobilizon: No S3 integration
|
||||||
|
|
|
@ -3,6 +3,15 @@
|
||||||
Whether you need to store and serve binary packages or source code, you may want to deploy a tool referred as a repository or registry.
|
Whether you need to store and serve binary packages or source code, you may want to deploy a tool referred as a repository or registry.
|
||||||
Garage can also help you serve this content.
|
Garage can also help you serve this content.
|
||||||
|
|
||||||
|
| Name | Status | Note |
|
||||||
|
|------|--------|------|
|
||||||
|
| [Gitea](#gitea) | ✅ | |
|
||||||
|
| [Docker](#generic-static-site-generator) | ✅ | Requires garage >= v0.6.0 |
|
||||||
|
| [Nix](#generic-static-site-generator) | ✅ | |
|
||||||
|
| [Gitlab](#gitlab) | ❓ | Not yet tested |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Gitea
|
## Gitea
|
||||||
|
|
||||||
You can use Garage with Gitea to store your [git LFS](https://git-lfs.github.com/) data, your users' avatar, and their attachements.
|
You can use Garage with Gitea to store your [git LFS](https://git-lfs.github.com/) data, your users' avatar, and their attachements.
|
||||||
|
@ -52,18 +61,42 @@ $ aws s3 ls s3://gitea/avatars/
|
||||||
|
|
||||||
*External link:* [Gitea Documentation > Configuration Cheat Sheet](https://docs.gitea.io/en-us/config-cheat-sheet/)
|
*External link:* [Gitea Documentation > Configuration Cheat Sheet](https://docs.gitea.io/en-us/config-cheat-sheet/)
|
||||||
|
|
||||||
## Gitlab
|
|
||||||
|
|
||||||
*External link:* [Gitlab Documentation > Object storage](https://docs.gitlab.com/ee/administration/object_storage.html)
|
|
||||||
|
|
||||||
|
|
||||||
## Private NPM Registry (Verdacio)
|
|
||||||
|
|
||||||
*External link:* [Verdaccio Github Repository > aws-storage plugin](https://github.com/verdaccio/verdaccio/tree/master/packages/plugins/aws-storage)
|
|
||||||
|
|
||||||
## Docker
|
## Docker
|
||||||
|
|
||||||
Not yet compatible, follow [#103](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/103).
|
Create a bucket and a key for your docker registry, then create `config.yml` with the following content:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
version: 0.1
|
||||||
|
http:
|
||||||
|
addr: 0.0.0.0:5000
|
||||||
|
secret: asecretforlocaldevelopment
|
||||||
|
debug:
|
||||||
|
addr: localhost:5001
|
||||||
|
storage:
|
||||||
|
s3:
|
||||||
|
accesskey: GKxxxx
|
||||||
|
secretkey: yyyyy
|
||||||
|
region: garage
|
||||||
|
regionendpoint: http://localhost:3900
|
||||||
|
bucket: docker
|
||||||
|
secure: false
|
||||||
|
v4auth: true
|
||||||
|
rootdirectory: /
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace the `accesskey`, `secretkey`, `bucket`, `regionendpoint` and `secure` values by the one fitting your deployment.
|
||||||
|
|
||||||
|
Then simply run the docker registry:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run \
|
||||||
|
--net=host \
|
||||||
|
-v `pwd`/config.yml:/etc/docker/registry/config.yml \
|
||||||
|
registry:2
|
||||||
|
```
|
||||||
|
|
||||||
|
*We started a plain text registry but docker clients require encrypted registries. You must either [setup TLS](https://docs.docker.com/registry/deploying/#run-an-externally-accessible-registry) on your registry or add `--insecure-registry=localhost:5000` to your docker daemon parameters.*
|
||||||
|
|
||||||
|
|
||||||
*External link:* [Docker Documentation > Registry storage drivers > S3 storage driver](https://docs.docker.com/registry/storage-drivers/s3/)
|
*External link:* [Docker Documentation > Registry storage drivers > S3 storage driver](https://docs.docker.com/registry/storage-drivers/s3/)
|
||||||
|
|
||||||
|
@ -167,3 +200,9 @@ on the binary cache, the client will download the result from the cache instead
|
||||||
|
|
||||||
Channels additionnaly serve Nix definitions, ie. a `.nix` file referencing
|
Channels additionnaly serve Nix definitions, ie. a `.nix` file referencing
|
||||||
all the derivations you want to serve.
|
all the derivations you want to serve.
|
||||||
|
|
||||||
|
## Gitlab
|
||||||
|
|
||||||
|
*External link:* [Gitlab Documentation > Object storage](https://docs.gitlab.com/ee/administration/object_storage.html)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue