98 lines
2.3 KiB
YAML
98 lines
2.3 KiB
YAML
services:
|
|
nextcloud:
|
|
# image: nextcloud:latest
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: nextcloud
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
- imaginary
|
|
volumes:
|
|
- ./app:/var/www/html
|
|
- ./data:/var/www/html/data
|
|
environment:
|
|
- POSTGRES_DB=nextcloud
|
|
- POSTGRES_USER=nextcloud
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_HOST=postgres
|
|
- NEXTCLOUD_TRUSTED_DOMAINS=nextcloud.timothykim.net
|
|
- REDIS_HOST=redis
|
|
- SMTP_HOST=smtp.fastmail.com
|
|
- SMTP_SECURE=ssl
|
|
- SMTP_PORT=465
|
|
- SMTP_AUTHTYPE=LOGIN
|
|
- SMTP_NAME=timothykim@fastmail.fm
|
|
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
|
- MAIL_FROM_ADDRESS=nextcloud.timothykim.net
|
|
- MAIL_DOMAIN=fastmail.com
|
|
- PHP_MEMORY_LIMIT=8G
|
|
- PHP_UPLOAD_LIMIT=20G
|
|
- APACHE_BODY_LIMIT=0
|
|
networks:
|
|
- nextcloud_net
|
|
- internal_net
|
|
- shared
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost/status.php"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 10
|
|
start_period: 120s
|
|
|
|
appapi-harp:
|
|
image: ghcr.io/nextcloud/nextcloud-appapi-harp:release
|
|
container_name: appapi-harp
|
|
hostname: appapi-harp
|
|
restart: unless-stopped
|
|
depends_on:
|
|
nextcloud:
|
|
condition: service_healthy
|
|
environment:
|
|
- HP_SHARED_KEY=${HP_SHARED_KEY}
|
|
- NC_INSTANCE_URL=https://nextcloud.timothykim.net
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ./certs:/certs
|
|
networks:
|
|
- nextcloud_net
|
|
|
|
postgres:
|
|
image: postgres:17-alpine
|
|
container_name: nextcloud-db
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./db:/var/lib/postgresql/data
|
|
environment:
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_USER=nextcloud
|
|
- POSTGRES_DB=nextcloud
|
|
networks:
|
|
- internal_net
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
container_name: nextcloud-redis
|
|
restart: unless-stopped
|
|
networks:
|
|
- internal_net
|
|
|
|
|
|
imaginary:
|
|
image: nextcloud/aio-imaginary:latest
|
|
container_name: nextcloud-imaginary
|
|
restart: unless-stopped
|
|
environment:
|
|
- PORT=9000
|
|
networks:
|
|
- internal_net
|
|
|
|
networks:
|
|
internal_net:
|
|
nextcloud_net:
|
|
external: true
|
|
shared:
|
|
external: true
|