Merge pull request #1383 from Schroedingers-Cat/clearer-migration

Clearer migration documentation
This commit is contained in:
Tilo Spannagel 2021-02-20 20:31:25 +01:00 committed by GitHub
commit 8b9ca85ac5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 56 additions and 54 deletions

110
README.md
View File

@ -466,73 +466,75 @@ You're already using Nextcloud and want to switch to docker? Great! Here are som
1. Define your whole Nextcloud infrastructure in a `docker-compose` file and run it with `docker-compose up -d` to get the base installation, volumes and database. Work from there. 1. Define your whole Nextcloud infrastructure in a `docker-compose` file and run it with `docker-compose up -d` to get the base installation, volumes and database. Work from there.
2. Restore your database from a mysqldump (nextcloud\_db\_1 is the name of your db container) 2. Restore your database from a mysqldump (nextcloud\_db\_1 is the name of your db container)
- To import from a MySQL dump use the following commands - To import from a MySQL dump use the following commands
```console ```console
docker cp ./database.dmp nextcloud_db_1:/dmp docker cp ./database.dmp nextcloud_db_1:/dmp
docker-compose exec db sh -c "mysql -u USER -pPASSWORD nextcloud < /dmp" docker-compose exec db sh -c "mysql -u USER -pPASSWORD nextcloud < /dmp"
docker-compose exec db rm /dmp docker-compose exec db rm /dmp
``` ```
- To import from a PostgreSQL dump use to following commands - To import from a PostgreSQL dump use to following commands
```console ```console
docker cp ./database.dmp nextcloud_db_1:/dmp docker cp ./database.dmp nextcloud_db_1:/dmp
docker-compose exec db sh -c "psql -U USER --set ON_ERROR_STOP=on nextcloud < /dmp" docker-compose exec db sh -c "psql -U USER --set ON_ERROR_STOP=on nextcloud < /dmp"
docker-compose exec db rm /dmp docker-compose exec db rm /dmp
``` ```
3. Edit your config.php 3. Edit your config.php
1. Set database connection 1. Set database connection
- In case of MySQL database - In case of MySQL database
```php ```php
'dbhost' => 'db:3306', 'dbhost' => 'db:3306',
``` ```
- In case of PostgreSQL database - In case of PostgreSQL database
```php ```php
'dbhost' => 'db:5432', 'dbhost' => 'db:5432',
``` ```
2. Make sure you have no configuration for the `apps_paths`. Delete lines like these 2. Make sure you have no configuration for the `apps_paths`. Delete lines like these
```diff ```diff
- 'apps_paths' => array ( - 'apps_paths' => array (
- 0 => array ( - 0 => array (
- 'path' => OC::$SERVERROOT.'/apps', - 'path' => OC::$SERVERROOT.'/apps',
- 'url' => '/apps', - 'url' => '/apps',
- 'writable' => true, - 'writable' => true,
- ), - ),
- ), - ),
``` ```
3. Make sure to have the `apps` directory non writable and the `custom_apps` directory writable 3. Make sure to have the `apps` directory non writable and the `custom_apps` directory writable
```php ```php
'apps_paths' => array ( 'apps_paths' => array (
0 => array ( 0 => array (
'path' => '/var/www/html/apps', 'path' => '/var/www/html/apps',
'url' => '/apps', 'url' => '/apps',
'writable' => false, 'writable' => false,
), ),
1 => array ( 1 => array (
'path' => '/var/www/html/custom_apps', 'path' => '/var/www/html/custom_apps',
'url' => '/custom_apps', 'url' => '/custom_apps',
'writable' => true, 'writable' => true,
), ),
), ),
``` ```
4. Make sure your data directory is set to /var/www/html/data 4. Make sure your data directory is set to /var/www/html/data
```php ```php
'datadirectory' => '/var/www/html/data', 'datadirectory' => '/var/www/html/data',
``` ```
4. Copy your data (nextcloud_app_1 is the name of your Nextcloud container): 4. Copy your data (nextcloud_app_1 is the name of your Nextcloud container):
```console ```console
docker cp ./data/ nextcloud_app_1:/var/www/html/ docker cp ./data/ nextcloud_app_1:/var/www/html/
docker-compose exec app chown -R www-data:www-data /var/www/html/data docker-compose exec app chown -R www-data:www-data /var/www/html/data
docker cp ./theming/ nextcloud_app_1:/var/www/html/ docker cp ./theming/ nextcloud_app_1:/var/www/html/
docker-compose exec app chown -R www-data:www-data /var/www/html/theming docker-compose exec app chown -R www-data:www-data /var/www/html/theming
docker cp ./config/config.php nextcloud_app_1:/var/www/html/config docker cp ./config/config.php nextcloud_app_1:/var/www/html/config
docker-compose exec app chown -R www-data:www-data /var/www/html/config docker-compose exec app chown -R www-data:www-data /var/www/html/config
``` ```
If you want to preserve the metadata of your files like timestamps, copy the data directly on the host to the named volume using plain `cp` like this:
```console
cp --preserve --recursive ./data/ /path/to/nextcloudVolume/data
```
5. Copy only the custom apps you use (or simply redownload them from the web interface): 5. Copy only the custom apps you use (or simply redownload them from the web interface):
```console ```console
docker cp ./custom_apps/ nextcloud_data:/var/www/html/ docker cp ./custom_apps/ nextcloud_data:/var/www/html/
docker-compose exec app chown -R www-data:www-data /var/www/html/custom_apps docker-compose exec app chown -R www-data:www-data /var/www/html/custom_apps
``` ```
# Questions / Issues # Questions / Issues
If you got any questions or problems using the image, please visit our [Github Repository](https://github.com/nextcloud/docker) and write an issue. If you got any questions or problems using the image, please visit our [Github Repository](https://github.com/nextcloud/docker) and write an issue.