mirror of
https://github.com/nextcloud/all-in-one.git
synced 2024-11-11 09:23:36 +08:00
Merge pull request #1586 from ManOki/main
manual-install: add docker profiles for optional services
This commit is contained in:
commit
67aa36c687
4 changed files with 40 additions and 18 deletions
|
@ -28,7 +28,7 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-database:
|
||||
container_name: nextcloud-aio-database
|
||||
image: nextcloud/aio-postgresql:latest-arm64
|
||||
|
@ -45,7 +45,7 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-nextcloud:
|
||||
container_name: nextcloud-aio-nextcloud
|
||||
depends_on:
|
||||
|
@ -101,7 +101,7 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-redis:
|
||||
container_name: nextcloud-aio-redis
|
||||
image: nextcloud/aio-redis:latest-arm64
|
||||
|
@ -112,9 +112,10 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-collabora:
|
||||
container_name: nextcloud-aio-collabora
|
||||
profiles: ["collabora"]
|
||||
image: nextcloud/aio-collabora:latest-arm64
|
||||
environment:
|
||||
- aliasgroup1=https://${NC_DOMAIN}:443
|
||||
|
@ -125,9 +126,10 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-talk:
|
||||
container_name: nextcloud-aio-talk
|
||||
profiles: ["talk"]
|
||||
image: nextcloud/aio-talk:latest-arm64
|
||||
ports:
|
||||
- ${TALK_PORT}:${TALK_PORT}/tcp
|
||||
|
@ -143,9 +145,10 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-onlyoffice:
|
||||
container_name: nextcloud-aio-onlyoffice
|
||||
profiles: ["onlyoffice"]
|
||||
image: nextcloud/aio-onlyoffice:latest-arm64
|
||||
environment:
|
||||
- TZ=${TIMEZONE}
|
||||
|
@ -158,9 +161,10 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-imaginary:
|
||||
container_name: nextcloud-aio-imaginary
|
||||
profiles: ["imaginary"]
|
||||
image: nextcloud/aio-imaginary:latest-arm64
|
||||
environment:
|
||||
- TZ=${TIMEZONE}
|
||||
|
@ -168,9 +172,10 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-fulltextsearch:
|
||||
container_name: nextcloud-aio-fulltextsearch
|
||||
profiles: ["fulltextsearch"]
|
||||
image: nextcloud/aio-fulltextsearch:latest-arm64
|
||||
environment:
|
||||
- TZ=${TIMEZONE}
|
||||
|
|
|
@ -28,7 +28,7 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-database:
|
||||
container_name: nextcloud-aio-database
|
||||
image: nextcloud/aio-postgresql:latest
|
||||
|
@ -45,7 +45,7 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-nextcloud:
|
||||
container_name: nextcloud-aio-nextcloud
|
||||
depends_on:
|
||||
|
@ -104,7 +104,7 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-redis:
|
||||
container_name: nextcloud-aio-redis
|
||||
image: nextcloud/aio-redis:latest
|
||||
|
@ -115,9 +115,10 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-collabora:
|
||||
container_name: nextcloud-aio-collabora
|
||||
profiles: ["collabora"]
|
||||
image: nextcloud/aio-collabora:latest
|
||||
environment:
|
||||
- aliasgroup1=https://${NC_DOMAIN}:443
|
||||
|
@ -128,9 +129,10 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-talk:
|
||||
container_name: nextcloud-aio-talk
|
||||
profiles: ["talk"]
|
||||
image: nextcloud/aio-talk:latest
|
||||
ports:
|
||||
- ${TALK_PORT}:${TALK_PORT}/tcp
|
||||
|
@ -146,9 +148,10 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-clamav:
|
||||
container_name: nextcloud-aio-clamav
|
||||
profiles: ["clamav"]
|
||||
image: nextcloud/aio-clamav:latest
|
||||
environment:
|
||||
- TZ=${TIMEZONE}
|
||||
|
@ -158,9 +161,10 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-onlyoffice:
|
||||
container_name: nextcloud-aio-onlyoffice
|
||||
profiles: ["onlyoffice"]
|
||||
image: nextcloud/aio-onlyoffice:latest
|
||||
environment:
|
||||
- TZ=${TIMEZONE}
|
||||
|
@ -173,9 +177,10 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-imaginary:
|
||||
container_name: nextcloud-aio-imaginary
|
||||
profiles: ["imaginary"]
|
||||
image: nextcloud/aio-imaginary:latest
|
||||
environment:
|
||||
- TZ=${TIMEZONE}
|
||||
|
@ -183,9 +188,10 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
|
||||
|
||||
nextcloud-aio-fulltextsearch:
|
||||
container_name: nextcloud-aio-fulltextsearch
|
||||
profiles: ["fulltextsearch"]
|
||||
image: nextcloud/aio-fulltextsearch:latest
|
||||
environment:
|
||||
- TZ=${TIMEZONE}
|
||||
|
|
|
@ -27,6 +27,11 @@ Now copy the provided yaml file to a docker-compose file by running on x64 `cp l
|
|||
|
||||
Now you should be ready to go with `sudo docker-compose --env-file my.conf up`.
|
||||
|
||||
## Docker profiles
|
||||
The default profile of `latest.yml` only provide the minimum necessary services: nextcloud, database, redis and apache. To get optional services collabora, onlyoffice, talk, clamav, imaginary or fulltextsearch use additional arguments for each of them, for example `--profile collabora`.
|
||||
|
||||
For a complete all-in-one with collabora use `sudo docker-compose --env-file my.conf --profile collabora --profile talk --profile clamav --profile imaginary --profile fulltextsearch up`.
|
||||
|
||||
## How to update?
|
||||
Since the AIO containers may change in the future, it is highly recommended to strictly follow the following procedure whenever you want to upgrade your containers.
|
||||
1. Run `sudo docker-compose --env-file my.conf down` to stop all running containers
|
||||
|
|
|
@ -92,6 +92,11 @@ do
|
|||
if [ "$name" != "nextcloud-aio-apache" ]; then
|
||||
OUTPUT="$(echo "$OUTPUT" | sed "/ $name:/i\ ")"
|
||||
fi
|
||||
if ! echo "$name" | grep "apache$" && ! echo "$name" | grep "database$" && ! echo "$name" | grep "nextcloud$" && ! echo "$name" | grep "redis$"; then
|
||||
sed -i '/container_name/d' containers.yml
|
||||
SLIM_NAME="${name##nextcloud-aio-}"
|
||||
OUTPUT="$(echo "$OUTPUT" | sed "/container_name: $name$/a\ \ \ \ profiles:\ \[\"$SLIM_NAME\"\]")"
|
||||
fi
|
||||
done
|
||||
|
||||
OUTPUT="$(echo "$OUTPUT" | sed "/restart: /a\ \ \ \ networks:\n\ \ \ \ \ \ - nextcloud-aio")"
|
||||
|
@ -102,6 +107,7 @@ echo "" >> containers.yml
|
|||
echo "$OUTPUT" >> containers.yml
|
||||
|
||||
sed -i '/container_name/d' containers.yml
|
||||
sed -i 's|^ $||' containers.yml
|
||||
|
||||
VOLUMES="$(grep -oP 'nextcloud_aio_[a-z_]+' containers.yml | sort -u)"
|
||||
mapfile -t VOLUMES <<< "$VOLUMES"
|
||||
|
@ -126,7 +132,7 @@ sed -i '/image:/s/$/:latest/' latest.yml
|
|||
|
||||
cat containers.yml > latest-arm64.yml
|
||||
sed -i '/image:/s/$/:latest-arm64/' latest-arm64.yml
|
||||
sed -i '/ nextcloud-aio-clamav:/,/^ $/d' latest-arm64.yml
|
||||
sed -i '/ nextcloud-aio-clamav:/,/^$/d' latest-arm64.yml
|
||||
sed -i '/nextcloud[-_]aio[-_]clamav/d' latest-arm64.yml
|
||||
sed -i '/CLAMAV_ENABLED/d' latest-arm64.yml
|
||||
|
||||
|
|
Loading…
Reference in a new issue