Files
app/all-apps/nextcloud/34/docker-compose.yaml

89 lines
2.6 KiB
YAML
Raw Permalink Normal View History

2026-07-10 17:06:01 -07:00
# Copyright 2025-2026 Thomas Hintz
# This file is part of Nassella.
# Nassella is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
# Nassella is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
# You should have received a copy of the GNU Affero General Public License
# along with Nassella. If not, see <https://www.gnu.org/licenses/>.
2025-08-16 15:50:14 -07:00
secrets:
nextcloud_postgres_db:
file: ./nextcloud/postgres_db
nextcloud_postgres_password:
file: ./nextcloud/postgres_password
nextcloud_postgres_user:
file: ./nextcloud/postgres_user
nextcloud_redis_password:
file: ./nextcloud/redis_password
2025-08-16 15:50:14 -07:00
services:
nextcloud_db:
2026-06-22 16:38:56 -07:00
image: postgres:18-trixie
env_file:
- ./nextcloud/nextcloud.env
2025-08-16 15:50:14 -07:00
shm_size: 128mb
restart: always
volumes:
2026-06-22 16:38:56 -07:00
- /nassella/nextcloud/var-lib-postgresql:/var/lib/postgresql
2025-08-16 15:50:14 -07:00
networks:
- nextcloud_internal
healthcheck:
test: ["CMD-SHELL", "pg_isready -d `cat $$POSTGRES_DB_FILE` -U `cat $$POSTGRES_USER_FILE`"]
start_period: 15s
interval: 30s
retries: 3
timeout: 5s
secrets:
- nextcloud_postgres_db
- nextcloud_postgres_password
- nextcloud_postgres_user
nextcloud_redis:
2026-06-22 16:38:56 -07:00
image: redis:8-trixie
env_file:
- ./nextcloud/nextcloud.env
command: bash -c 'redis-server --requirepass "$$(cat /run/secrets/nextcloud_redis_password)"'
secrets:
- nextcloud_redis_password
2025-08-16 15:50:14 -07:00
restart: always
healthcheck:
test: ["CMD-SHELL", "redis-cli --no-auth-warning -a \"$$(cat /run/secrets/nextcloud_redis_password)\" ping | grep PONG"]
start_period: 10s
interval: 30s
retries: 3
timeout: 3s
2025-08-16 15:50:14 -07:00
networks:
- nextcloud_internal
2025-08-16 15:50:14 -07:00
nextcloud:
2026-06-22 16:38:56 -07:00
image: nextcloud:34-apache
2025-08-16 15:50:14 -07:00
depends_on:
nextcloud_redis:
condition: service_healthy
nextcloud_db:
condition: service_healthy
env_file:
- ./nextcloud/nextcloud.env
secrets:
- nextcloud_postgres_db
- nextcloud_postgres_password
- nextcloud_postgres_user
- nextcloud_redis_password
2025-08-16 15:50:14 -07:00
networks:
- lb
- nextcloud_internal
2025-08-16 15:50:14 -07:00
volumes:
- /nassella/nextcloud/var-www-html:/var/www/html
2025-08-16 15:50:14 -07:00
restart: unless-stopped
networks:
lb:
nextcloud_internal:
2025-08-16 15:50:14 -07:00
driver: bridge
internal: true