diff --git a/nextcloud/README.md b/nextcloud/README.md new file mode 100644 index 0000000..4f3511d --- /dev/null +++ b/nextcloud/README.md @@ -0,0 +1,9 @@ +# nextcloud + +The self-hosted productivity platform that keeps you in control + +## Important step when deploying +This stack expects the data, apps and config to be in folders under /media/nextcloud. +Data in subfolder `nextcloud_data`, config in `nextcloud_config` and apps in `nextcloud_apps`. + +The database is stored in a named volume. diff --git a/nextcloud/docker-compose.yaml b/nextcloud/docker-compose.yaml new file mode 100644 index 0000000..1329fdb --- /dev/null +++ b/nextcloud/docker-compose.yaml @@ -0,0 +1,35 @@ +version: '3.2' + +services: + db: + image: postgres:${postgres_version:-14} + environment: + - POSTGRES_DB=nextcloud + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=postgres + volumes: + - postgres_data:/var/lib/postgresql/data + + app: + image: nextcloud:${nextcloud_version:-latest} + volumes: + - /media/nextcloud/nextcloud_data:/var/www/html/data + - /media/nextcloud/nextcloud_config:/var/www/html/config + - /media/nextcloud/nextcloud_apps:/var/www/html/custom_apps + environment: + - VIRTUAL_HOST=cloud.jfreudenberger.de # the domain where the service should be reached + - VIRTUAL_PORT=80 # the port the service listens in the container + - LETSENCRYPT_HOST=cloud.jfreudenberger.de # the same domain as VIRTUAL_HOST; this enables ssl + depends_on: + - db + networks: + - webproxy + +networks: + webproxy: + external: + name: webproxy + +volumes: + postgres_data: +