Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added docker socket proxy to manual install #5377

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions manual-install/community-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
services:
nextcloud-aio-local-ai:
image: szaimen/aio-local-ai:v2
expose: "8080"
restart: unless-stopped
environment:
- "TZ=${TIMEZONE}"
- MODELS_PATH=/models
volumes:
- nextcloud_aio_localai_models:/models
- nextcloud_aio_localai_images:/tmp/generated/images/
- ${NEXTCLOUD_DATADIR}:/nextcloud:ro
profiles:
- local-ai
networks:
- nextcloud-aio
cap_drop:
- NET_RAW

nextcloud-aio-caddy:
image: szaimen/aio-caddy:v2
expose: "443"
restart: unless-stopped
ports:
- 443:443/tcp
- 443:443/udp
environment:
- "TZ=${TIMEZONE}"
- "NC_DOMAIN=${NC_DOMAIN}"
- "APACHE_PORT=${APACHE_PORT}"
volumes:
- nextcloud_aio_caddy:/data
- "${NEXTCLOUD-DATADIR}:/nextcloud:ro"
profiles:
- caddy
networks:
- nextcloud-aio
cap_drop:
- NET_RAW

nextcloud-aio-dlna:
image: thanek/nextcloud-dlna
network_mode: host
restart: unless-stopped
depends_on:
- nextcloud-aio-database
environment:
- "NC_DOMAIN=${NC_DOMAIN}"
- NC_PORT=443
- NEXTCLOUD_DLNA_SERVER_PORT=9999
- NEXTCLOUD_DLNA_FRIENDLY_NAME=nextcloud-aio
- NEXTCLOUD_DATA_DIR=/data
- NEXTCLOUD_DB_TYPE=postgres
- NEXTCLOUD_DB_HOST=nextcloud-aio-database
- NEXTCLOUD_DB_PORT=5432
- NEXTCLOUD_DB_NAME=nextcloud_database
- NEXTCLOUD_DB_USER=oc_nextcloud
- "NEXTCLOUD_DB_PASS=${DATABASE_PASSWORD}"
volumes:
- ${NEXTCLOUD_DATADIR}:/data:ro
profiles:
- dlna
cap_drop:
- NET_RAW

nextcloud-aio-facerecognition:
image: matiasdelellis/facerecognition-external-model:v1
expose: "5000"
restart: unless-stopped
environment:
- "TZ=${TIMEZONE}"
- API_KEY=some-super-secret-api-key
- FACE_MODEL=3
aio_variables:
- nextcloud_memory_limit=2048M
profiles:
- facerecognition
networks:
- nextcloud-aio
cap_drop:
- NET_RAW

nextcloud-aio-jellyfin:
image: jellyfin/jellyfin
network_mode: host
restart: unless-stopped
environment:
- "TZ=${TIMEZONE}"
volumes:
- nextcloud_aio_jellyfin:"/config"
- ${NEXTCLOUD_DATADIR}:/media:ro
- ${NEXTCLOUD_MOUNT}:${NEXTCLOUD_MOUNT}:ro
devices:
- "/dev/dri"
profiles:
- jellyfin
cap_drop:
- NET_RAW
# TODO: inject post run commands
23 changes: 23 additions & 0 deletions manual-install/latest.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
include:
- community-compose.yml

services:
nextcloud-aio-apache:
depends_on:
Expand Down Expand Up @@ -98,6 +101,9 @@ services:
nextcloud-aio-imaginary:
condition: service_started
required: false
nextcloud-aio-docker-socket-proxy:
condition: service_started
required: false
image: nextcloud/aio-nextcloud:latest
init: true
expose:
Expand Down Expand Up @@ -375,6 +381,23 @@ services:
cap_drop:
- NET_RAW

nextcloud-aio-docker-socket-proxy:
image: nextcloud/aio-docker-socket-proxy
restart: unless-stopped
init: true
expose:
- "2375"
environment:
- "TZ=${TIMEZONE}"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
profiles:
- docker-socket-proxy
networks:
- nextcloud-aio
cap_drop:
- NET_RAW

nextcloud-aio-whiteboard:
image: nextcloud/aio-whiteboard:latest
init: true
Expand Down
7 changes: 4 additions & 3 deletions manual-install/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@ You can run the containers that are build for AIO with docker-compose. This come
- You can run it without a container having access to the docker socket
- You can modify all values on your own
- You can run the containers with docker swarm
- You can run it entirely offline or in air-gapped environment

### Disadvantages
- You lose the AIO interface
- You lose update notifications and automatic updates
- You lose all AIO backup and restore features
- You lose all community containers: https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers
- You lose some community containers: https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers
- **You need to know what you are doing, especially when modifying the compose.yaml file**
- For updating, you need to strictly follow the at the bottom described update routine
- Probably more
Expand All @@ -30,9 +31,9 @@ Now copy the provided yaml file to a compose.yaml file by running `cp latest.yml
Now you should be ready to go with `sudo docker compose 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, talk, whiteboard, talk-recording, clamav, imaginary or fulltextsearch use additional arguments for each of them, for example `--profile collabora`. (Note: there is no clamav image for arm64).
The default profile of `latest.yml` only provide the minimum necessary services: nextcloud, database, redis and apache. To get optional services collabora, talk, whiteboard, talk-recording, clamav, imaginary, fulltextsearch or docker-socket-proxy use additional arguments for each of them, for example `--profile collabora`. (Note: there is no clamav image for arm64). For community containers, additional profile flags are required, such as local-ai, caddy, dlna, facerecognition, jellyfin.

For a complete all-in-one with collabora use `sudo docker compose --profile collabora --profile talk --profile talk-recording --profile clamav --profile imaginary --profile fulltextsearch --profile whiteboard up`. (Note: there is no clamav image for arm64).
For a complete all-in-one with collabora use `sudo docker compose --profile collabora --profile talk --profile talk-recording --profile clamav --profile imaginary --profile fulltextsearch --profile whiteboard --profile docker-socket-proxy --profile caddy --profile dlna --profile facerecognition --profile jellyfin --profile local-ai up`. (Note: there is no clamav image for arm64).

## 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.
Expand Down