all-in-one/community-containers
Simon L e945d5b58b
Merge pull request #3906 from nextcloud/enh/noid/update-local-ai
[breaking] - update aio-local-ai to v2
2024-03-04 12:54:25 +01:00
..
caddy Updated README for Jellyfin, Plex, and Caddy 2024-02-23 16:39:34 +00:00
dlna Nextcloud-DLNA community container (#3614) 2023-10-31 18:25:34 +01:00
facerecognition Increase version of the external model to v1. 2024-01-15 21:29:18 -03:00
fail2ban adjust link to community containers 2023-10-19 23:02:10 +02:00
jellyfin Updated README for Jellyfin, Plex, and Caddy 2024-02-23 16:39:34 +00:00
libretranslate libretranslate - remove note because it is working now 2023-12-06 17:56:55 +01:00
local-ai [breaking] - update aio-local-ai to v2 2023-12-08 14:43:46 +01:00
memories community containers - add memories 2023-11-15 21:09:42 +01:00
npmplus adjust link to community containers 2023-10-19 23:02:10 +02:00
pi-hole Fix pi-hole config page url 2024-02-16 20:16:26 +01:00
plex Updated README for Jellyfin, Plex, and Caddy 2024-02-23 16:39:34 +00:00
stalwart Update readme.md mistypo 2024-01-09 09:13:34 +01:00
vaultwarden adjust link to community containers 2023-10-19 23:02:10 +02:00
readme.md fix detail 2023-11-05 20:30:23 +01:00

Community containers

This directory features containers that are built for AIO which allows to add additional functionality very easily.

Disclaimers

⚠️ This is currently beta and not stable yet!

All containers that are in this directory are community maintained so the responsibility is on the community to keep them updated and secure. There is no guarantee that this will be the case in the future.

How to use this?

Before adding any additional container, make sure to create a backup via the AIO interface!

Afterwards, you might want to add additional community containers to the default AIO stack. You can do so by adding --env AIO_COMMUNITY_CONTAINERS="container1 container2" to the docker run command of the mastercontainer (but before the last line nextcloud/all-in-one:latest! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must match the folder names in this directory! ⚠️⚠️⚠️ Please review the folder for documentation on each of the containers before adding them! Not reviewing the documentation for each of them first might break starting the AIO containers because e.g. fail2ban only works on Linux and not on Docker Desktop!

How to add containers?

Simply submit a PR by creating a new folder in this directory: https://github.com/nextcloud/all-in-one/tree/main/community-containers with the name of your container. It must include a json file with the same name and with correct syntax and a readme.md with additional information. You might get inspired by caddy, fail2ban, local-ai, libretranslate, plex, pi-hole or vaultwarden (subfolders in this directory). For a full-blown example of the json file, see https://github.com/nextcloud/all-in-one/blob/main/php/containers.json. The json-schema that it validates against can be found here: https://github.com/nextcloud/all-in-one/blob/main/php/containers-schema.json.

Is there a list of ideas for new community containers?

Yes, see this list for already existing ideas for new community containers. Feel free to pick one up and add it to this folder by following the instructions above.

How to remove containers from AIOs stack?

In some cases, you might want to remove some community containers from the AIO stack again. Here is how to do this.

First, do a backup from the AIO interface in order to save the current state. Do not start the containers again afterwards! Now simply recreate the mastercontainer and remove any container from the --env AIO_COMMUNITY_CONTAINERS="container1 container2" that you do not actually need. If you want to remove all, simply use --env AIO_COMMUNITY_CONTAINERS=" ".

After removing the containers, there might be some data left on your server that you might want to remove. You can get rid of the data by first running sudo docker rm nextcloud-aio-container1, (adjust container1 accordingly) per community-container that you removed. Then run sudo docker image prune -a in order to remove all images that are not used anymore. As last step you can get rid of persistent data of these containers that is stored in volumes. You can check if there is some by running sudo docker volume ls and look for any volume that matches the ones that you removed. If so, you can remove them with sudo docker volume rm nextcloud_aio_volume-id (of course you need to adjust the volume-id).