Appearance
Nextcloud
Overview
Nextcloud 33 (Apache-based) provides file sync, share, and collaboration.
| Field | Value |
|---|---|
| Image | nextcloud:33-apache |
| Domain | cloud.cadenceworks.tech |
| Local Port | 127.0.0.1:9080 |
| Database | PostgreSQL 16 (container) |
| Cache | Redis 7 (container) |
Docker Compose
Path: ~/nextcloud/docker-compose.yml
yaml
services:
db:
image: postgres:16
restart: always
volumes:
- ./db:/var/lib/postgresql/data
environment:
POSTGRES_DB: nextcloud
POSTGRES_USER: nextcloud
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U nextcloud"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
restart: always
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
app:
image: nextcloud:33-apache
restart: always
ports:
- 127.0.0.1:9080:80
volumes:
- ./data:/var/www/html/data
- ./config:/var/www/html/config
- ./custom_apps:/var/www/html/custom_apps
environment:
POSTGRES_HOST: db
POSTGRES_DB: nextcloud
POSTGRES_USER: nextcloud
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
NEXTCLOUD_ADMIN_USER: ${NEXTCLOUD_ADMIN_USER}
NEXTCLOUD_ADMIN_PASSWORD: ${NEXTCLOUD_ADMIN_PASSWORD}
NEXTCLOUD_TRUSTED_DOMAINS: cloud.cadenceworks.tech
OVERWRITEPROTOCOL: https
TRUSTED_PROXIES: 0.0.0.0/0
PHP_UPLOAD_LIMIT: 10G
PHP_MEMORY_LIMIT: 512M
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthyEnvironment Variables
Secrets are stored in a .env file alongside the compose file.
| Variable | Purpose |
|---|---|
POSTGRES_PASSWORD | Database password |
NEXTCLOUD_ADMIN_USER | Initial admin username |
NEXTCLOUD_ADMIN_PASSWORD | Initial admin password |
Key Configuration
- Upload limit: 10 GB
- PHP memory limit: 512 MB
- HTTPS enforced via
OVERWRITEPROTOCOL - Trusts all proxies (
TRUSTED_PROXIES: 0.0.0.0/0) for Caddy reverse proxy - Data stored in bind-mounted
./datadirectory