From ee94a29caaba373be791fb20742e5c164a975623 Mon Sep 17 00:00:00 2001 From: Heiko Pohl Date: Tue, 25 Nov 2025 11:46:33 +0100 Subject: [PATCH 1/8] tutorial upgrade 4.0.0 --- .../maintenance/upgrade/upgrade-4.0.0.md | 147 ++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 docs/admin/maintenance/upgrade/upgrade-4.0.0.md diff --git a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md new file mode 100644 index 00000000..6927ae01 --- /dev/null +++ b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md @@ -0,0 +1,147 @@ +--- +sidebar_position: 2 +id: upgrade-4.0.0 +title: Upgrade 4.0.0 +description: Upgrading to 4.0.0 +draft: false +--- + +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' + +# Update OpenCloud + +This guide describes how to upgrade OpenCloud to the stable version +**v4.0.0** using the Git repository [opencloud-compose](https://github.com/opencloud-eu/opencloud-compose.git) +with externalized data and config directories. + +# Stop OpenCloud + +Stop the currently running OpenCloud instance: + + + + +```bash +docker stop opencloud +``` + + + +```bash +docker compose stop +``` + + + + +## Backup Config and Data + +We recommended to make a [backup](/docs/admin/maintenance/backup) before proceeding with the upgrade. + +```bash +cp -r /mnt/opencloud/config /mnt/opencloud/config-backup +cp -r /mnt/opencloud/data /mnt/opencloud/data-backup +``` + +## Pull the 4.0.0 production release image + +```bash +docker pull opencloudeu/opencloud:4.0.0 +``` + + + + + + + + + +## Clone the opencloud-compose Repository + +Clone the official opencloud-compose repository onto your server: + +```bash +git clone https://github.com/opencloud-eu/opencloud-compose.git +cd opencloud +``` + +## Configure opencloud-compose + +Migrate your environment variables to the new opencloud-compose structure. + +To do this use this [documentation](/docs/admin/getting-started/container/docker-compose/docker-compose-base.md). + + + + + +## Verify Configuration Changes + +Go inside the containers + +```bash +docker run --rm -it --entrypoint /bin/sh -v $HOME/opencloud/opencloud-config:/etc/opencloud opencloudeu/opencloud:4.0.0 +``` + +Check for configuration changes: + +```bash +opencloud init --diff +``` + +for example my result: + +```bash +opencloud init --diff +Do you want to configure OpenCloud with certificate checking disabled? + This is not recommended for public instances! [yes | no = default] yes +running in diff mode +diff -u /etc/opencloud/opencloud.yaml /etc/opencloud/opencloud.yaml.tmp +--- /etc/opencloud/opencloud.yaml ++++ /etc/opencloud/opencloud.yaml.tmp +@@ -1,9 +1,9 @@ + token_manager: + jwt_secret: 9GyJ7NL^*91^xRkkyQ#3mXSm+IQVej^z + machine_auth_api_key: G^Pj5yDYwpODM7mIBBpSeulf9OR^NQz% +-url_signing_secret: hSnW$M$1!chpCWD4@J&8dBTxVA9B6j5x + system_user_api_key: WmS.GQ4.xc+5NS.^1lC-c3JGmHcZ0Q@p + transfer_secret: Lz9tI.&-S$7@B!lTTBx5bBRDaV@&!Jc% ++url_signing_secret: hSnW$M$1!chpCWD4@J&8dBTxVA9B6j5x + system_user_id: d4d7eac0-bd98-45cf-b134-55dc85f258e9 + admin_user_id: 8b4b020b-8ee6-469e-8ed6-69a33b5dc2b5 + graph: +``` + +replace `url_signing_secret` in the `/etc/opencloud/opencloud.yaml` + +Update `opencloud.yaml` if required another changes. + +## Start OpenCloud (v4.0.0) + + + + +``` bash +docker run --rm -it --entrypoint /bin/sh -v $HOME/opencloud/opencloud-config:/etc/opencloud opencloudeu/opencloud:4.0.0 +``` + + + +``` bash +docker compose up -d +``` + + + + +## Conclusion + +Your OpenCloud instance should now be running on **v2.0.5** using +externalized config and data directories. Verify: + +- Users\ +- Shared folders\ +- Public links\ +- All data availability From e524ede10382ebf6ead1236f39fa6a44a3eea5f5 Mon Sep 17 00:00:00 2001 From: Viktor Scharf Date: Tue, 25 Nov 2025 12:55:40 +0100 Subject: [PATCH 2/8] improve docs --- .../maintenance/upgrade/upgrade-4.0.0.md | 184 +++++++++++++----- 1 file changed, 136 insertions(+), 48 deletions(-) diff --git a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md index 6927ae01..f83a6d15 100644 --- a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md +++ b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md @@ -9,69 +9,103 @@ draft: false import Tabs from '@theme/Tabs' import TabItem from '@theme/TabItem' -# Update OpenCloud +# Upgrading to OpenCloud 4.0.0 This guide describes how to upgrade OpenCloud to the stable version **v4.0.0** using the Git repository [opencloud-compose](https://github.com/opencloud-eu/opencloud-compose.git) with externalized data and config directories. -# Stop OpenCloud +## Before You Begin -Stop the currently running OpenCloud instance: +- **Determine Your Deployment Type**: This guide covers two common setups: + - **Bind Mounts**: Config and data are stored in directories on the host machine (e.g., `/mnt/opencloud/config`). + - **Docker Named Volumes**: Config and data are managed by Docker. You will need your `COMPOSE_PROJECT_NAME` to access them. +- **Check Paths**: If you are using bind mounts, ensure you know the correct paths on your host system. You can find them by inspecting your current container's `docker run` command or `docker-compose.yml` file (look for `volumes:` sections that map to host paths). - +## Backup Config and Data + +⚠️ **Important**: Always create a backup before upgrading to prevent data loss. +We strongly recommend following the [backup documentation](/docs/admin/maintenance/backup) and creating copies of your configuration and data directories: + + +If your config and data are stored in host directories (bind mounts), create a direct copy of these folders. + +### Example (adjust paths to match your setup) - ```bash -docker stop opencloud +cp -r /mnt/opencloud/config /mnt/opencloud/config-backup +cp -r /mnt/opencloud/data /mnt/opencloud/data-backup ``` + - + + +### Create backup directory + ```bash -docker compose stop +mkdir -p ~/opencloud-backups ``` + +### Backup config and data + +```bash +docker cp opencloud_full-opencloud-1:/var/lib/opencloud ~/opencloud-backups/data-backup +docker cp opencloud_full-opencloud-1:/etc/opencloud ~/opencloud-backups/config-backup +``` + -## Backup Config and Data +## Stop OpenCloud + +First, gracefully stop your currently running OpenCloud instance: -We recommended to make a [backup](/docs/admin/maintenance/backup) before proceeding with the upgrade. + + + ```bash -cp -r /mnt/opencloud/config /mnt/opencloud/config-backup -cp -r /mnt/opencloud/data /mnt/opencloud/data-backup +docker stop opencloud ``` -## Pull the 4.0.0 production release image + + + ```bash -docker pull opencloudeu/opencloud:4.0.0 +docker compose stop ``` - + - + - +## Pull the 4.0.0 Production Release Image + +```bash +docker pull opencloudeu/opencloud:4.0.0 +``` + +## Update Deployment Configuration + + -## Clone the opencloud-compose Repository +### Clone the opencloud-compose Repository Clone the official opencloud-compose repository onto your server: ```bash git clone https://github.com/opencloud-eu/opencloud-compose.git -cd opencloud +cd opencloud-compose ``` -## Configure opencloud-compose - -Migrate your environment variables to the new opencloud-compose structure. +### Migrate Environment Variables -To do this use this [documentation](/docs/admin/getting-started/container/docker-compose/docker-compose-base.md). +Transfer your existing environment variables to the new opencloud-compose structure. Refer to the [Docker Compose configuration documentation](/docs/admin/getting-started/container/docker-compose/docker-compose-base.md) for detailed instructions. @@ -79,19 +113,29 @@ To do this use this [documentation](/docs/admin/getting-started/container/docker ## Verify Configuration Changes -Go inside the containers +Go inside the container: + +If your config is stored in host directories: ```bash docker run --rm -it --entrypoint /bin/sh -v $HOME/opencloud/opencloud-config:/etc/opencloud opencloudeu/opencloud:4.0.0 ``` +or, if you use Docker Named Volumes(replace with your volume name): + +```bash +docker run --rm -it --entrypoint /bin/sh \ + -v opencloud_full_opencloud-config:/etc/opencloud \ + opencloudeu/opencloud:4.0.0 +``` + Check for configuration changes: ```bash opencloud init --diff ``` -for example my result: +Example output: ```bash opencloud init --diff @@ -101,47 +145,91 @@ running in diff mode diff -u /etc/opencloud/opencloud.yaml /etc/opencloud/opencloud.yaml.tmp --- /etc/opencloud/opencloud.yaml +++ /etc/opencloud/opencloud.yaml.tmp -@@ -1,9 +1,9 @@ - token_manager: - jwt_secret: 9GyJ7NL^*91^xRkkyQ#3mXSm+IQVej^z - machine_auth_api_key: G^Pj5yDYwpODM7mIBBpSeulf9OR^NQz% --url_signing_secret: hSnW$M$1!chpCWD4@J&8dBTxVA9B6j5x - system_user_api_key: WmS.GQ4.xc+5NS.^1lC-c3JGmHcZ0Q@p - transfer_secret: Lz9tI.&-S$7@B!lTTBx5bBRDaV@&!Jc% -+url_signing_secret: hSnW$M$1!chpCWD4@J&8dBTxVA9B6j5x - system_user_id: d4d7eac0-bd98-45cf-b134-55dc85f258e9 - admin_user_id: 8b4b020b-8ee6-469e-8ed6-69a33b5dc2b5 +@@ -3,6 +3,7 @@ + machine_auth_api_key: k55Y7i3Djeeu4aPPNzM67Q39rf3ZHz^9 + system_user_api_key: GeTXN@Mj7-4n8Yhuwb&#oq8Gb1hF7Q%^ + transfer_secret: ANy#T5.IvknED9-Ud39+YmlXzN^TdaKi ++url_signing_secret: zB#FtAYid24Z^DkuBoTllnId=igo!tCO + system_user_id: 8cc36d34-cd87-4434-b9e2-726e5553609c + admin_user_id: 34a73600-a02c-4064-8aec-341cd1865a71 graph: -``` -replace `url_signing_secret` in the `/etc/opencloud/opencloud.yaml` +diff written to /etc/opencloud/opencloud.config.patch +``` -Update `opencloud.yaml` if required another changes. +Apply any necessary changes to `/etc/opencloud/opencloud.yaml` based on the diff output. In this example, add `url_signing_secret` to your `opencloud.yaml`. ## Start OpenCloud (v4.0.0) -``` bash -docker run --rm -it --entrypoint /bin/sh -v $HOME/opencloud/opencloud-config:/etc/opencloud opencloudeu/opencloud:4.0.0 + +```bash +docker run \ + --name opencloud \ + --rm \ + -d \ + -p 9200:9200 \ + -v $HOME/opencloud/opencloud-config:/etc/opencloud \ + -v $HOME/opencloud/opencloud-data:/var/lib/opencloud \ + -e OC_INSECURE=true \ + -e PROXY_HTTP_ADDR=0.0.0.0:9200 \ + -e OC_URL=https://localhost:9200 \ + opencloudeu/opencloud:4.0.0 ``` + -``` bash + +## Important Note for Existing Deployments + +If you previously deployed OpenCloud using the project name `opencloud_full` (our earlier example) and are now switching to the official [opencloud-compose](https://github.com/opencloud-eu/opencloud-compose) repository, you may need to specify the original project name to ensure: + +- **Network compatibility** - for services like S3 that need to be on the same network +- **Volume persistence** - to access existing Docker volumes + +Run the command with your original project name: + +```bash +docker compose -p opencloud_full up -d +``` + +Alternatively, set the project name permanently in the .env file: + +```bash +COMPOSE_PROJECT_NAME=opencloud_full +``` + +Then use the standard command: + +```bash docker compose up -d ``` + -## Conclusion +## Verification + +Your OpenCloud instance should now be running on **v4.0.0** using +externalized config and data directories. + +### Essential Checks + +- ✅ **User Accounts** — Confirm all users can log in successfully +- ✅ **Shared Folders** — Verify shared folder permissions and access +- ✅ **Public Links** — Test that public links remain functional +- ✅ **Data Integrity** — Ensure all files and folders are accessible +- ✅ **Service Health** — Check logs for any errors or warnings + +## Troubleshooting -Your OpenCloud instance should now be running on **v2.0.5** using -externalized config and data directories. Verify: +If you encounter issues during or after the upgrade: -- Users\ -- Shared folders\ -- Public links\ -- All data availability +1. Review the logs for error messages +2. Consult the [troubleshooting guide](/docs/admin/resources/common-issues) +3. Restore from backup if necessary +4. Contact support or open an issue on [GitHub](https://github.com/opencloud-eu/opencloud/issues) From 359e9da246bcb2771e15de90ed99b690d9bbd82d Mon Sep 17 00:00:00 2001 From: Anja Barz Date: Thu, 27 Nov 2025 16:54:46 +0100 Subject: [PATCH 3/8] Update docs/admin/maintenance/upgrade/upgrade-4.0.0.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jürgen Weigert --- docs/admin/maintenance/upgrade/upgrade-4.0.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md index f83a6d15..90ff50ef 100644 --- a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md +++ b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md @@ -34,7 +34,7 @@ If your config and data are stored in host directories (bind mounts), create a d ```bash cp -r /mnt/opencloud/config /mnt/opencloud/config-backup -cp -r /mnt/opencloud/data /mnt/opencloud/data-backup +cp -a /mnt/opencloud/data /mnt/opencloud/data-backup ``` From 02fa2875b174e6bcff941fe1850787ec402cb328 Mon Sep 17 00:00:00 2001 From: Viktor Scharf Date: Fri, 28 Nov 2025 11:02:44 +0100 Subject: [PATCH 4/8] fix --- docs/admin/maintenance/upgrade/upgrade-4.0.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md index 90ff50ef..d617b00b 100644 --- a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md +++ b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md @@ -20,7 +20,7 @@ with externalized data and config directories. - **Determine Your Deployment Type**: This guide covers two common setups: - **Bind Mounts**: Config and data are stored in directories on the host machine (e.g., `/mnt/opencloud/config`). - **Docker Named Volumes**: Config and data are managed by Docker. You will need your `COMPOSE_PROJECT_NAME` to access them. -- **Check Paths**: If you are using bind mounts, ensure you know the correct paths on your host system. You can find them by inspecting your current container's `docker run` command or `docker-compose.yml` file (look for `volumes:` sections that map to host paths). +- **Check Paths**: If you are using bind mounts, ensure you know the correct paths on your host system. You can find them by inspecting your current container's `docker run` command or `docker-compose.yml` file (look for `volumes:` sections that map to host paths). For a running container, `docker inspect opencloud_full-opencloud-1` also exposes this information in the `Mounts` section. ## Backup Config and Data From ec0a692eeb8092ff41d1fc35160aa74dfb1ba397 Mon Sep 17 00:00:00 2001 From: Anja Barz Date: Fri, 28 Nov 2025 14:05:58 +0100 Subject: [PATCH 5/8] Update docs/admin/maintenance/upgrade/upgrade-4.0.0.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jürgen Weigert --- docs/admin/maintenance/upgrade/upgrade-4.0.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md index d617b00b..15671873 100644 --- a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md +++ b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md @@ -33,7 +33,7 @@ If your config and data are stored in host directories (bind mounts), create a d ### Example (adjust paths to match your setup) ```bash -cp -r /mnt/opencloud/config /mnt/opencloud/config-backup +cp -a /mnt/opencloud/config /mnt/opencloud/config-backup cp -a /mnt/opencloud/data /mnt/opencloud/data-backup ``` From 0963ad76498ab44e597bfd66315e4a9a528239f3 Mon Sep 17 00:00:00 2001 From: Anja Barz Date: Fri, 28 Nov 2025 14:22:21 +0100 Subject: [PATCH 6/8] change intudruction --- .../maintenance/upgrade/upgrade-4.0.0.md | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md index 15671873..7ff5fe82 100644 --- a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md +++ b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md @@ -11,21 +11,27 @@ import TabItem from '@theme/TabItem' # Upgrading to OpenCloud 4.0.0 -This guide describes how to upgrade OpenCloud to the stable version -**v4.0.0** using the Git repository [opencloud-compose](https://github.com/opencloud-eu/opencloud-compose.git) -with externalized data and config directories. +This guide explains how to upgrade from the previous stable opencloud_full Compose setup to the new [opencloud-compose](https://github.com/opencloud-eu/opencloud-compose.git) repository structure. +It covers both deployment types: + +- Internal (in-container) data — setups where data is stored inside the container and is removed when the container is replaced. +- Externalized data directories — setups where data is mounted outside the containers (host-mounted volumes) and persists independently of container updates. + +Following this guide, you can migrate safely to the stable v4.0.0 release of OpenCloud. ## Before You Begin -- **Determine Your Deployment Type**: This guide covers two common setups: - - **Bind Mounts**: Config and data are stored in directories on the host machine (e.g., `/mnt/opencloud/config`). - - **Docker Named Volumes**: Config and data are managed by Docker. You will need your `COMPOSE_PROJECT_NAME` to access them. -- **Check Paths**: If you are using bind mounts, ensure you know the correct paths on your host system. You can find them by inspecting your current container's `docker run` command or `docker-compose.yml` file (look for `volumes:` sections that map to host paths). For a running container, `docker inspect opencloud_full-opencloud-1` also exposes this information in the `Mounts` section. +- Determine Your Deployment Type: This guide covers two common setups: + - Bind Mounts: Config and data are stored in directories on the host machine (e.g., `/mnt/opencloud/config`). + - Docker Named Volumes: Config and data are managed by Docker. You will need your `COMPOSE_PROJECT_NAME` to access them. +- Check Paths: If you are using bind mounts, ensure you know the correct paths on your host system. You can find them by inspecting your current container's `docker run` command or `docker-compose.yml` file (look for `volumes:` sections that map to host paths). For a running container, `docker inspect opencloud_full-opencloud-1` also exposes this information in the `Mounts` section. ## Backup Config and Data -⚠️ **Important**: Always create a backup before upgrading to prevent data loss. -We strongly recommend following the [backup documentation](/docs/admin/maintenance/backup) and creating copies of your configuration and data directories: +:::important +Important: Always create a backup before upgrading to prevent data loss. +We strongly recommend following the [backup documentation](/docs/admin/maintenance/backup) and creating copies of your configuration and data directories. +::: If your config and data are stored in host directories (bind mounts), create a direct copy of these folders. @@ -121,7 +127,7 @@ If your config is stored in host directories: docker run --rm -it --entrypoint /bin/sh -v $HOME/opencloud/opencloud-config:/etc/opencloud opencloudeu/opencloud:4.0.0 ``` -or, if you use Docker Named Volumes(replace with your volume name): +or, if you use Docker Named Volumes (replace with your volume name): ```bash docker run --rm -it --entrypoint /bin/sh \ @@ -214,7 +220,7 @@ docker compose up -d ## Verification -Your OpenCloud instance should now be running on **v4.0.0** using +Your OpenCloud instance should now be running on `v4.0.0` using externalized config and data directories. ### Essential Checks From 9d42ce9b9056426847a9efc9e97654b28ce28398 Mon Sep 17 00:00:00 2001 From: Anja Barz Date: Fri, 28 Nov 2025 14:26:57 +0100 Subject: [PATCH 7/8] remove bold words and adjust some wording --- docs/admin/maintenance/upgrade/upgrade-4.0.0.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md index 7ff5fe82..6782e342 100644 --- a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md +++ b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md @@ -193,8 +193,8 @@ docker run \ If you previously deployed OpenCloud using the project name `opencloud_full` (our earlier example) and are now switching to the official [opencloud-compose](https://github.com/opencloud-eu/opencloud-compose) repository, you may need to specify the original project name to ensure: -- **Network compatibility** - for services like S3 that need to be on the same network -- **Volume persistence** - to access existing Docker volumes +- Network compatibility - for services like S3 that need to be on the same network +- Volume persistence - to access existing Docker volumes Run the command with your original project name: @@ -220,16 +220,15 @@ docker compose up -d ## Verification -Your OpenCloud instance should now be running on `v4.0.0` using -externalized config and data directories. +Your OpenCloud instance should now be running on `v4.0.0`. ### Essential Checks -- ✅ **User Accounts** — Confirm all users can log in successfully -- ✅ **Shared Folders** — Verify shared folder permissions and access -- ✅ **Public Links** — Test that public links remain functional -- ✅ **Data Integrity** — Ensure all files and folders are accessible -- ✅ **Service Health** — Check logs for any errors or warnings +- User Accounts — Confirm all users can log in successfully +- Shared Folders — Verify shared folder permissions and access +- Public Links — Test that public links remain functional +- Data Integrity — Ensure all files and folders are accessible +- Service Health — Check logs for any errors or warnings ## Troubleshooting From c606763ab7009c670590fda6554e6ab42499caa9 Mon Sep 17 00:00:00 2001 From: Anja Barz Date: Fri, 28 Nov 2025 15:12:06 +0100 Subject: [PATCH 8/8] adjust intro and variables for better understanding --- .../maintenance/upgrade/upgrade-4.0.0.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md index 6782e342..0b48f030 100644 --- a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md +++ b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md @@ -11,13 +11,14 @@ import TabItem from '@theme/TabItem' # Upgrading to OpenCloud 4.0.0 -This guide explains how to upgrade from the previous stable opencloud_full Compose setup to the new [opencloud-compose](https://github.com/opencloud-eu/opencloud-compose.git) repository structure. -It covers both deployment types: +This guide explains how to upgrade from the previous stable opencloud_full Compose setup to the new +[opencloud-compose](https://github.com/opencloud-eu/opencloud-compose.git) repository structure. +It covers both types of persistent storage used in earlier deployments: -- Internal (in-container) data — setups where data is stored inside the container and is removed when the container is replaced. -- Externalized data directories — setups where data is mounted outside the containers (host-mounted volumes) and persists independently of container updates. +- Bind mounts: host directories mapped into containers. +- Docker named volumes: volumes managed directly by Docker. -Following this guide, you can migrate safely to the stable v4.0.0 release of OpenCloud. +Following this guide, you can safely migrate to the stable v4.0.0 release of OpenCloud. ## Before You Begin @@ -121,17 +122,17 @@ Transfer your existing environment variables to the new opencloud-compose struct Go inside the container: -If your config is stored in host directories: +If your config is stored in host directories (change `` to your home directory. In our example it is `/mnt` ): ```bash -docker run --rm -it --entrypoint /bin/sh -v $HOME/opencloud/opencloud-config:/etc/opencloud opencloudeu/opencloud:4.0.0 +docker run --rm -it --entrypoint /bin/sh -v /opencloud/opencloud-config:/etc/opencloud opencloudeu/opencloud:4.0.0 ``` -or, if you use Docker Named Volumes (replace with your volume name): +or, if you use Docker Named Volumes (replace ``with your volume name. In our example it is `opencloud_full_opencloud-config`): ```bash docker run --rm -it --entrypoint /bin/sh \ - -v opencloud_full_opencloud-config:/etc/opencloud \ + -v :/etc/opencloud \ opencloudeu/opencloud:4.0.0 ```