diff --git a/nextcloud/readme.md b/nextcloud/readme.md
index 77d43a0..59293fe 100644
--- a/nextcloud/readme.md
+++ b/nextcloud/readme.md
@@ -12,13 +12,13 @@ File share & sync.
* [Github](https://github.com/nextcloud/server)
* [DockerHub](https://hub.docker.com/_/nextcloud/)
-Nextcloud is an open source suite of client-server software for creating
-and using file hosting services with wide cross platform support.
+Nextcloud is an open source software for sharing files, calendar,
+and general office collaboration stuff. Most people know it and use it
+as an alternative to onedrive/google drive.
The Nextcloud server is written in PHP and JavaScript.
For remote access it employs sabre/dav, an open-source WebDAV server.
-It is designed to work with several database management systems,
-including SQLite, MariaDB, MySQL, PostgreSQL.
+It is designed to work with most of the databases.
There are many ways to deploy Nextcloud, this setup is going with the most goodies.
Using [PHP-FPM](https://www.cloudways.com/blog/php-fpm-on-cloud/)
@@ -34,16 +34,16 @@ and for [memory file caching](https://docs.nextcloud.com/server/latest/admin_man
└── ~/
└── docker/
└── nextcloud/
- ├── 🗁 nextcloud-data/
- ├── 🗁 nextcloud-db-data/
+ ├── 🗁 nextcloud_data/
+ ├── 🗁 nextcloud_db_data/
├── 🗋 .env
├── 🗋 docker-compose.yml
├── 🗋 nginx.conf
└── 🗋 nextcloud-backup-script.sh
```
-* `nextcloud-data/` - users data and web app data
-* `nextcloud-db-data/` - database data
+* `nextcloud_data/` - users actual data and web app data
+* `nextcloud_db_data/` - database data - users and files metadata, configuration
* `.env` - a file containing environment variables for docker compose
* `docker-compose.yml` - a docker compose file, telling docker how to run the containers
* `nginx.conf` - nginx web server configuration file
@@ -59,11 +59,11 @@ Official examples [here](https://github.com/nextcloud/docker/tree/master/.exampl
Five containers to spin up
* **nextcloud-app** - nextcloud backend app that stores the files and facilitate
- the sync and runs the apps
-* **nextcloud-db** - mariadb database where files-metadata and users-metadata are stored
+ the sync and runs the apps(calendar, notes, phonetrack,...)
+* **nextcloud-db** - mariadb database storing files-metadata and users-metadata
* **nextcloud-web** - nginx web server with fastCGI PHP-FPM support
-* **nextcloud-redis** - in memory file caching
- and more reliable transactional file locking
+* **nextcloud-redis** - in memory file caching and more reliable transactional
+ file locking
* **nextcloud-cron** - for periodic maintenance in the background
`docker-compose.yml`
@@ -165,13 +165,11 @@ Not be pasted here, too long.
It is included in this github repo.
```
-[nginx.conf](https://raw.githubusercontent.com/DoTheEvo/selfhosted-apps-docker/master/nextcloud/nginx.conf)
-
+[nginx.conf](https://raw.githubusercontent.com/DoTheEvo/selfhosted-apps-docker/master/nextcloud/nginx.conf)
This is nginx web server configuration file, specifically setup
-to support fastCGI PHP-FPM.
-
-Taken from [this official nextcloud example
-setup](https://github.com/nextcloud/docker/tree/master/.examples/docker-compose/insecure/mariadb-cron-redis/fpm/web)
+to support fastCGI PHP-FPM.
+From [this official nextcloud example
+setup](https://github.com/nextcloud/docker/tree/master/.examples/docker-compose/insecure/mariadb/fpm/web)
and has one thing changed in it - the upstream hostname from `app` to `nextcloud-app`
```
@@ -224,48 +222,26 @@ Editing `nextcloud_data/config/config.php` and adding the new domain will fix it
# Security & setup warnings
Nextcloud has a status check in *Settings > Administration > Overview*
-There are likely several warnings on a freshly spun containers.
+There could be some warnings there, but if following this guide, it should be
+all good. As `Caddyfile` and `.env` file should take care of it.
-##### The database is missing some indexes
+[Here](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/a86c8498dc8ebc59546660701a54b839bf417516/nextcloud#security--setup-warnings)
+is a link to an older commit that talks in more detail on possible stuff here.
+But fuck writing on that noise when nextcloud is now doing phone number area
+code notification there.
-On the docker host execute:
-`docker exec --user www-data --workdir /var/www/html nextcloud-app php occ db:add-missing-indices`
-
-##### Some columns in the database are missing a conversion to big int
-
-On the docker host execute:
-`docker exec --user www-data --workdir /var/www/html nextcloud-app php occ db:convert-filecache-bigint`
-
-##### The "Strict-Transport-Security" HTTP header is not set to at least "15552000" seconds.
-
-Helps to know what is [HSTS](https://www.youtube.com/watch?v=kYhMnw4aJTw).
-This warning is already fixed in the reverse proxy section in the caddy config,
-the line: `header Strict-Transport-Security max-age=31536000;`
-
-##### Your web server is not properly set up to resolve "/.well-known/caldav" and Your web server is not properly set up to resolve "/.well-known/carddav".
-
-This warning is already fixed in the reverse proxy section in the caddy config,
-The lines:
-`redir /.well-known/carddav /remote.php/carddav 301`
-`redir /.well-known/caldav /remote.php/caldav 301`
-
-
+
# Troubleshooting
-If there is a problem accesing nextcloud from a mobile app,
-*"Please log in before granting access"*,
-and being stuck after logging in with the circle animation:
-
-Edit `nextcloud_data/config/config.php`
-adding as the last line: `'overwriteprotocol' => 'https',`
+* *old stuff that was here is not applicable anymore*
# Extra info
#### check if redis container works
At `https:///ocs/v2.php/apps/serverinfo/api/v1/info`
-ctrl+f for `redis`, should be in memcache.distributed and memcache.locking
+ctrl+f for `redis`, if it's present it means nexcloud is set to use it.
You can also exec in to redis container:
- `docker exec -it nextcloud-redis /bin/sh`
@@ -282,9 +258,6 @@ You can also exec in to redis container:
# Update
-[Watchtower](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/watchtower)
-updates the image automatically.
-
Manual image update:
- `docker-compose pull`
@@ -295,30 +268,30 @@ Manual image update:
#### Backup
-Using [borg](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/borg_backup)
-that makes daily snapshot of the entire directory.
+Using [kopia](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/kopia_backup)
+or [borg](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/borg_backup)
+to make daily snapshot of the entire docker directory.
#### Restore
-* down the nextcloud containers `docker-compose down`
-* delete the entire nextcloud directory
-* from the backup copy back the nextcloud directory
+* down the containers `docker-compose down`
+* delete/move/rename the entire project directory
+* from the backups copy back the entire project directory
* start the containers `docker-compose up -d`
# Backup of just user data
-User data daily export using the
+User's data daily export going by the
[official procedure.](https://docs.nextcloud.com/server/latest/admin_manual/maintenance/backup.html)
For nextcloud it means entering the maintenance mode, doing a database dump
and backing up several directories containing data, configs, themes.
-For the script it just means database dump as borg backup and its deduplication
-will deal with the directories, especially useful in the case of nextcloud where
-hundreds gigabytes can be stored.
+Daily kopia/borg backup run takes care of backing up the directories.
+So only database dump is needed and done with the script.
#### Create a backup script
-Placed inside `~/docker/nextcloud/` directory on the host.
+Placed inside `nextcloud` directory on the host.
`nextcloud-backup-script.sh`
```bash
@@ -352,6 +325,8 @@ Running on the host, so that the script will be periodically run.
# Restore the user data
+[The official docs.](https://docs.nextcloud.com/server/latest/admin_manual/maintenance/restore.html)
+
Assuming clean start.
* start the containers: `docker-compose up -d`
@@ -359,8 +334,8 @@ Assuming clean start.
* down the containers: `docker-compose down`
* delete the directories `config`, `data`, `themes` in the freshly created
`nextcloud/nextcloud_data/`
-* from the backup of `/nextcloud/nextcloud-data/`, copy the directories
- `configs`, `data`, `themes` in to the new `/nextcloud/nextcloud-data/`
+* from the backup of `/nextcloud/nextcloud_data/`, copy the directories
+ `configs`, `data`, `themes` in to the new `/nextcloud/nextcloud_data/`
* from the backup of `/nextcloud/nextcloud_data_db/`, copy the backup database
named `BACKUP.nextcloud.database.sql` in to the new `/nextcloud/nextcloud_data_db/`
* start the containers: `docker-compose up -d`