services: db: image: postgres:16-alpine restart: unless-stopped volumes: - db:/var/lib/postgresql/data:Z environment: - POSTGRES_PASSWORD=CHANGEME - POSTGRES_DB=nextcloud - POSTGRES_USER=nextcloud app: build: ./ restart: unless-stopped volumes: - nextcloud:/var/www/html - /var/run/docker.sock:/var/run/docker.sock networks: - default - appapi environment: - REDIS_HOST=redis - POSTGRES_HOST=db - POSTGRES_PASSWORD=CHANGEME - POSTGRES_DB=nextcloud - POSTGRES_USER=nextcloud depends_on: - db - redis redis: image: redis:alpine restart: unless-stopped web: image: nginx:alpine restart: unless-stopped hostname: web volumes: - nextcloud:/var/www/html:ro - ./nginx.conf:/etc/nginx/nginx.conf:ro # https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html expose: - 80 depends_on: - app networks: - default - proxy - appapi cron: build: ./ restart: unless-stopped networks: - default - appapi volumes: - nextcloud:/var/www/html entrypoint: /cron.sh depends_on: - db - redis appapi: platform: linux/amd64 container_name: appapi hostname: appapi privileged: true image: ghcr.io/nextcloud/nextcloud-appapi-harp:release networks: - proxy - appapi restart: unless-stopped depends_on: - app # env_file: # - appapi.env environment: # NC_HAPROXY_PASSWORD needs to be at least 12 chars long. This variable exists for backward compatibility with the DSP image # ToDo: verify whether this variable is still required - NC_HAPROXY_PASSWORD=CHANGEME1234 # HP_SHARED_KEY needs to be at least 12 chars long. - HP_SHARED_KEY=CHANGEME1234 # NC_INSTANCE_URL must be the externally accessible URL of the Nextcloud instance - NC_INSTANCE_URL=https://external-nextcloud.url volumes: - /var/run/docker.sock:/var/run/docker.sock volumes: db: nextcloud: networks: proxy: # This is an external network created for nginx-proxy-manager used by this setup. It must be edited to match your environment. name: proxy-manager_proxy_network external: true appapi: # This network is required in order for AppAPI to function correctly. Using "host" networking as in some examples may fail. name: appapi_network