#+TITLE: Nextcloud installation to shared hosting (kapsi.fi)
#+SUBTITLE: With Borg backups
#+DATE: <2017-06-04 Tue>
#+AUTHOR: Tuomas Pyyhtiä
#+EMAIL: pyyhttu+nextcloud@pm.me
#+DESCRIPTION: How Nextcloud was installed to kapsi.fi hosting
#+KEYWORDS: nextcloud kapsi.fi debian
#+LANGUAGE: en
# Don't show table of contents, export underscore as underscore (was: ^:nil)...rest of options as explained here: https://orgmode.org/manual/Export-Settings.html:
#+OPTIONS: toc:nil ':t pri:t num:nil p:nil stat:t tags:t tasks:t tex:t timestamp:t
#+BEGIN_COMMENT
#+PROPERTY: header-args :eval never-export :exports both :results replace
#+END_COMMENT
# Include usable macros from https://github.com/fniessen/org-macros:
#+INCLUDE: ../org-mode/macros/org-macros.setup
#+BEGIN_COMMENT
#+INFOJS_OPT: view:content ltoc:nil path:../org-mode/js/org-info.js
# for more info see: https://orgmode.org/worg/code/org-info-js
#+END_COMMENT
#+HTML_HEAD:
#+begin_comment
#+HTML_LINK_HOME: https://pyyhttu.kapsi.fi
#+HTML_LINK_UP: https://pyyhttu.kapsi.fi/debian/
#+end_comment
* Philosophy
Having for you and your family your /own/ place to access your synchronized files, both on computer and phone has proven to be very handy. Some of the benefits:
- Decentralized: I'm in control, but also responsible of my data.
- Federated: Scales infinitely, I can easily share, and never run out of space. This obv. requires me to contact Kapsi admins and [[https://www.kapsi.fi/palvelut/levytila.html][request more disk space]] or, setup e.g. an Amazon S3 bucket as an external storage.
- Open source: No vendor lock-in, no data mined out of my data, ensured continuous development, vibrant community in case I need to troubleshoot.
- Abundance of features: Photos on maps, face recognition, WebDAV for files (beorg, Nextcloud sync client), CardDAV for contacts...
- Offsite: I could host this onsite, but since the use case is hook up Nextcloud to my backups, I chose offsite location from a hosting provider I trust.
- Lossless quality: Photos backup in original quality, so I don't have to pay Google Photos / iCloud subscription.
* Prerequisites
Find a hosting provider, e.g. [[https://www.kapsi.fi/][Kapsi]], that has the needed infrastructure already setup and maintained (MariaDB, php, etc.). Install there to data storage called [[https://www.kapsi.fi/palvelut/levytila.html]["Siilo"]].
Request from Kapsi admins a data storage page, [[https://www.kapsi.fi/ohjeet/web2.html][see instructions]] for that. In my case the page requested was: https://pyyhttu-siilo.kapsi.fi/.
After you've requested and paid for your Kapsi-credentials, infra, OS and dependencies are already in place. Ensure that Nextcloud [[https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html][latest system requirements]] are fulfilled:
Operating system:\\
~$ cat /proc/version~
Database:\\
~$ mysql -V~
Webserver:\\
~$ apache2 -v~
PHP runtime:\\
~$ php -v~ (Note: more supported php runtime versions are installed in =/usr/bin/=, like =php8.2.=).
* Install
Navigate to your www-directory:\\
~$ cd ~/siilo/sites/yoursite-siilo.kapsi.fi/www~
Download the latest install tarball, in my case 16.0.4:\\
~$ wget 'https://download.nextcloud.com/server/releases/nextcloud-16.0.4.tar.bz2'~
Extract the source tarball:\\
~$ tar xvfj nextcloud-16.0.4.tar.bz2~
Open browser and go to =https://yoursite-siilo.kapsi.fi/nextcloud/index.php/login=
Choose whether to install into a sub-folder or to the root of www-directory (in that case just enter =.= (dot) for the installation path).
Create admin account by entering admin username and password.
Select =Storage & Database= section, select =MariaDB=.
Enter database. Usually the database name and the user is the same as the Kapsi username. The host address of Kapsi MySQL server is =db1.n.kapsi.fi=. If you do not have a personal password for database, you can ask for it from the Kapsi support. Database maintenance then happens at https://pakki.kapsi.fi/phpmyadmin/
* Post-installation tasks
** Edit =.htaccess=
When connecting through https, the following error is shown in the admin panel:
#+BEGIN_SRC bash
The “Strict-Transport-Security” HTTP header is not configured to at least “15552000” seconds.
#+END_SRC
To do away with that, modify =.htaccess=:
~$ nano ~/siilo/sites/yoursite.siilo.kapsi.fi/www/nextcloud/.htaccess~
Insert inside ==:
#+BEGIN_SRC bash
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
#+END_SRC
+Allow access from different ip-addresses if accessing Nexcloud with+
+multiple clients. Inside == insert:+
#+BEGIN_SRC bash
RewriteCond %{ENV:HTTPS} !on
RewriteRule (.*) https://yoursite-siilo.kapsi.fi/$1 [R=301,L]
#+END_SRC
*[2019-05-17 Fri]*: Above seems not to be needed anymore after Nextcloud version
16.0.1.
Lastly, append to the end of =.htaccess= a rule:
#+BEGIN_SRC bash
IndexIgnore *
order allow,deny
allow from all
#+END_SRC
** Edit =.user.ini=
Otherwise error is thrown in =Settings - Overview:=
#+BEGIN_SRC bash
The PHP memory limit is below the recommended value of 512MB
#+END_SRC
*[2019-05-17 Fri]*: Error was found after upgrade from =15.0.7= to version =16.0.1=. This seems to be kapsi-hosting specific.
*[2019-05-19 Sun]*: Fixed this as per [[https://www.kapsi.fi/ohjeet/phpini.html][Kapsi's php.ini instructions]] by appending to =/nextcloud/.user.ini= the values:
#+BEGIN_SRC bash
post_max_size = 10000M
upload_max_filesize = 10000M
memory_limit = 512M
#+END_SRC
Same issue has been reported at
[[https://github.com/nextcloud/server/issues/15609][Github's nextcloud
project]].
*[2024-12-01 Sun]*: [[https://www.php.net/manual/en/ini.list.php][Contents]] of =/www/nextcloud/.user.ini=:
#+begin_src bash
mbstring.func_overload=0
always_populate_raw_post_data=-1
default_charset='UTF-8'
output_buffering=0
post_maxsize = 10000M
upload_maxfilesize = 10000M
memory_limit = 512M
#+end_src
At least =output_buffering=0= [[https://help.nextcloud.com/t/php-configuration-option-output-buffering-must-be-disabled-nextcloud-20-0-1-ubuntu/97918/2][needs to be in there]], otherwise I'll get in =/admin/overview= an error =PHP configuration option "output_buffering" must be disabled=.
** Edit =config.php=
Append:
#+BEGIN_SRC -n -r bash
'trashbin_retention_obligation' => '30, 60', (ref:trashbin)
'versions_retention_obligation' => '30, 180', (ref:versions)
'tempdirectory' => '/siilo/6/pyyhttu/sites/tmp', (ref:tempdirectory)
'simpleSignUpLink.shown' => false, (ref:signuplink)
'default_phone_region' => 'FI', (ref:phone)
#+END_SRC
Where,
- [[(trashbin)][=trashbin_retention_obligation=]] controls when the deleted files are
purged,
- [[(versions)][=versions_retention_obligation=]] controls when the versioned
files are purged. More information from [[https://www.reddit.com/r/NextCloud/comments/koqg7y/nextcloud_tech_tip_by_default_at_least_with_mine/][here]] and from [[https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html?highlight=trashbin_retention_obligation][official documentation]].
- [[(tempdirectory)][=tempdirectory=]] defines custom, writable location for
Nextcloud's temp-files.
- [[(signuplink)][=signuplink=]] hides "register free account" link on shared
links.
- [[(phone)][=default_phone_region=]] to
[[https://help.nextcloud.com/t/unavoidable-security-setup-warnings-with-nc-21-update/108667][avoid
warning]] "Your installation has no default phone region set".
** Migrate data
Migrating existing data into Nextcloud can currently be done from [[https://nextcloud.com/blog/easy-migration-to-nextcloud-from-insecure-and-privacy-unfriendly-platforms-now-available/][Google Photos, Dropbox and OneDrive]]. However, I used [[https://rclone.org/][Rclone]] and [[file:///c:/users/tpyyhtia/Nextcloud/Documents/Orgzly/exiftool/exiftool.html][exiftool.]]
After I had the data on my local, it was a matter of setting it up with [[../exiftool/exiftool.html][exiftool]] then uploading with ~rsync~ to =../nextcloud/data/[user]/=.
** Two-Factor Authentication
- Login with your admin account to nextcloud and go to =Settings - Personal - Security=.
- Generate the backup codes and store them somewhere safe. You need them if
you lose your phone and access to TOTP.
- Download and install to your phone a
[[https://apps.apple.com/us/app/authenticator/id766157276][two-factor
authenticator app]].
- Click ="Enable TOTP"=, scan with the phone installed app the displayed QR-code.
- Input the code from phone and click =verify=.
- Consider enabling the same for all user accounts for added security.
** Apps
After upgrade, go to Apps to check that the apps are still enabled. Some
may have been marked with ="Enable untested app"= and needs to be enabled
manually as the apps don't yet support the new nextcloud version.
Current unofficial Apps installed:
- [[https://apps.nextcloud.com/apps/metadata][Metadata]]
- [[https://apps.nextcloud.com/apps/contacts][Contacts]]
To setup the contact record synchronization from iOS client's Contacts app to Nextcloud via CardDAV,
follow the
[[https://docs.nextcloud.com/server/18/user_manual/pim/sync_ios.html#contacts][nextcloud
docs]]. For Kapsi-specific settings I used these settings:
Also change =Default Account= to =Nextcloud= in iOS at =Settings=,
=Contacts=. This way when opening =Contacts= app, the master group for
contacts is already Nextcloud (and not Exchange, local iPhone etc.).
- [[https://apps.nextcloud.com/apps/groupfolders][Group Folders]]
Group folders are setup like so:
#+CAPTION: =Settings - Administration - Group folders=
| Folder name | Groups | Write/Share/Delete |
|--------------------+--------------------+----------------------|
| =Family_shared= | =group_family= | =All= |
| =Heidi_home= | =group_heidi= | =All= |
| =Tuomas_home= | =group_tuomas= | =All= |
- [[https://apps.nextcloud.com/apps/news][News]]
Also edit cron so that News [[https://crontab.guru/#*/15_*_*_*_*]["at every 15th minute"]] polls the content from the feeds:
~$ crontab -e~
#+BEGIN_SRC bash
# */15 * * * * php8.2 -f /home/users/pyyhttu/siilo/sites/yoursite.kapsi.fi/www/nextcloud/cron.php
#+END_SRC
Then [[https://github.com/nextcloud/news#sync-clients][install a client]] for your phone/desktop.
- [[https://apps.nextcloud.com/apps/unsplash][Unsplash]]
- [[https://apps.nextcloud.com/apps/camerarawpreviews][Camera Raw Previews]]
- [[https://apps.nextcloud.com/apps/extract][Extract]]
- [[https://apps.nextcloud.com/apps/files_rightclick][Right Click]]
- [[https://apps.nextcloud.com/apps/sharingpath][Sharing Path]]
- [[https://apps.nextcloud.com/apps/maps][Maps]]
[2024-12-08 Sun]: Now Maps should work also for photos in group folders, see [[https://github.com/nextcloud/maps/issues/123#issuecomment-1454266089][issue 123]].
Photos' exif coordinates are scanned periodically by a background job. This
will not apply to any past photos prior Maps installed, so to add those to
map, run:
~$ php occ maps:scan-photos user_id~
#+begin_note
*Note:* Upon inspecting results after this command in Maps, the existing
pictures disappear. Now waiting if they come back, or if I botched by database.
#+end_note
- [[https://apps.nextcloud.com/apps/memories][Memories]]
Install Memories by doing:\\
~$ php occ app:install memories~, then scan your photos:
~$ php occ memories:index~
See rest of the settings at =/settings/admin/memories=:
EXIF Extraction\\
Media Indexing\\
File Support\\
Photo Viewer\\
Performance\\
Recommended Apps\\
Reverse Geocoding\\
Video Streaming\\
Transcoder\\
HW Acceleration\\
Configure =File Support= for videos for previews to be visible in memories.
If not done, I'll see on video thumbnail empty placeholder and an error: =Video not configured. Run occ memories:video-setup=
#+BEGIN_SRC bash
$ php occ memories:video-setup
This command will help you setup video streaming
It will check if ffmpeg and ffprobe are installed and go-vod (the transcoder) works
If you are running go-vod externally, feature detection will not work properly
In that case you will need to manually adjust the configuration file (add --print-config)
For details on hardware support: https://github.com/pulsejet/memories/wiki/HW-Transcoding
Press enter to continue or CTRL+C to abort
ffmpeg is installed
ffprobe is installed
Checking for go-vod binary
Trying go-vod from /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/apps/memories/exiftool-bin/go-vod-amd64
go-vod is installed!
You can use transcoding and HLS streaming
This is recommended for better performance, but has implications if
you are using external storage or run Nextcloud on a slow system.
Read the following documentation carefully before continuing:
https://github.com/pulsejet/memories/wiki/Configuration
Do you want to enable transcoding and HLS? [Y/n]
Y
Starting ffmpeg feature detection
This may take a while. Please be patient
Downloading test video file ... OK
Attempting to start go-vod ... OK
go-vod logs will be stored at: /tmp/go-vod/ocg80o430zwr.log
Testing transcoding with CPU ... FAIL
CPU transcoding failed with error HTTP status: 404
Check the log file of go-vod for more details (/tmp/go-vod/ocg80o430zwr.log)
Checking for VAAPI acceleration (/dev/dri/renderD128) ... NOT FOUND
Checking for NVIDIA acceleration with NVENC
Testing transcoding with NVENC (scale_npp) ... FAIL
Testing transcoding with NVENC (scale_cuda) ... FAIL
NVENC does not seem to be available
Feature detection completed
Transcoding and HLS are now enabled! Monitor the log file for any errors
You should restart the server for changes to take effect
#+END_SRC
If needed to use =.nomedia= see this [[https://github.com/pulsejet/memories/issues/185][issue.]]
*[2025-01-22 Wed]:* Note that =.nomedia= is not yet supported in [[https://github.com/nextcloud/ios/issues/2864][iOS Nextcloud client]].
[[https://apps.nextcloud.com/apps/previewgenerator][Preview Generator]]
After installed, run in =../nextcloud/=:
~$ php occ preview:generate-all -vvv~
Once finished, add the crojob:
~$ crontab -e~
#+BEGIN_SRC bash
*/10 * * * * php /home/users/pyyhttu/siilo/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/occ preview:pre-generate -vvv~
#+END_SRC
*** NEXT Figure out how much disk space this takes, and where
- Seems to be installed to ==nextcloud/data/appdata_ocg80o430zwr/preview/= and takes 78Gb.
- Find a way to disable mp3s from those previews.
- Set Memories for previews at =/settings/admin/memories=.
- Study the article
[[https://ownyourbits.com/2019/06/29/understanding-and-improving-nextcloud-previews/][Understanding
and improving Nextcloud Previews]] for recommended settings.
- Also study
[[https://www.allerstorfer.at/nextcloud-install-preview-generator/][the alternative install instructions]].
[2023-08-08 Tue] noticed the logs contained a lot of errors:
#+begin_src bash
sem_get(): Failed for key 0xa11: Permission denied at /var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/Preview/Generator.php#272
#+end_src
Reported in [[https://github.com/nextcloud/server/issues/44578][44578]]. Followup.
[2024-12-08 Sun]: Still happens with version 30.0.2.
*** DONE Disable these official Apps
- [[https://github.com/nextcloud/recommendations/][Recommendations]]. Disabled [[https://help.nextcloud.com/t/recently-edited-items-in-nextcloud-16/52280/6][to hide recently edited files]] from UI.
- [[https://apps.nextcloud.com/apps/apporder][AppOrder]]. Not needed, default order is fine.
- [[https://apps.nextcloud.com/apps/side_menu][Side menu]]. Not needed, top bar navigation is fine.
- [[https://apps.nextcloud.com/apps/phonetrack][PhoneTrack]]. Could be handy, but I have Owntracks in use already.
** Settings
- Login as an admin user, go to =Settings= (upper right corner).
*** Personal Info
- Language: =English (US)=
- Locale: =English (Finland)=
*** Security
- TOTP (Authenticator app): =[✓] Enable TOTP=
Remember to generate backup codes and store them somewhere safe.
- Create new app passwords for devices and services that need it
([[https://www.reddit.com/r/NextCloud/comments/gnjt4r/nextcloud_system_monitor_for_iphone/][NextStats]] for iOS etc.)
*** Notifications
- Default notification settings in mail and push are fine.
*** Sharing
- Sharing Path: =[✓]= Enable Sharing Path
*** Appearance and accessibility
- Defaults are otherwise fine, but disable keyboard shortcuts.
*** Availability
- Defaults are fine.
*** Flow
- Defaults are fine.
*** Privacy
- Defaults are fine.
*** Overview
- Defaults are fine.
*** Basic Settings
- Background jobs: Cron (Recommended)
- Profile: Enable
- Email server
- Send mode: =SMTP=
- Encryption: =STARTTLS=
- From address: =[your-handle]@kapsi.fi=
- Authentication method: =None= =[✓]= Authentication required
- Server address: =mail.kapsi.fi:587=
- Credentials: =[your-handle]= =[your password]=
*[2024-12-25 Wed]* =Send mode:= =SMTP= seems to write =config/config.php= with ='mail_smtppassword'= in plain text, which is not wanted. Luckily, =Send mode:= =Sendmail= does not require authentication, so configure Email server with that instead:
- Send mode: =Sendmail=
- Encryption:
- Sendmail mode: =smtp (-bs)= (also =pipe (-t -i)= works)
- From address: =[your-handle]@kapsi.fi=
*** Theming
- Random Background Images: =[✓]= Set random image as login background
*** Other tweaks
- Hide rich workspaces: Login as a non-admin user, go to =Settings= (lower left
corner), uncheck =Show rich workspaces=.
*** FOLLOWUP Security scan
Running security scan at https://scan.nextcloud.com/ against hosting at
Kapsi should give A. The only missing score is from =__Host-Prefix=, which is
because I have nextcloud
[[https://help.nextcloud.com/t/security---host-prefix-cookie-setting/9740/5][installed
to a subdirectory]]. Observe also
[[https://www.reddit.com/r/NextCloud/comments/llrjuw/all_those_having_a_security_scan_ratinghow_did_u/][this
reddit thread]] and especially its linked Github issue for resolution.
*** NEXT Reinstall Nextcloud to root of siilo to get the highest security rating
* Maintenance
** DONE Upgrading instance
New version is announced at [[https://nextcloud.com/blog/][Nextcloud blog]]. Here's the [[https://nextcloud.com/feed][feed link]]. Also, emails notifications keep me up to date.
When the next "dot-release" is announced, upgrade can be done usually right away. When the next "major-release" is announced, it is not offered through stable update channels [[https://www.reddit.com/r/NextCloud/comments/j7cjn9/still_no_update_from_1902_to_12_in_the_updater/g83rx0s/?context=3][until the first dot release is out]]. More information at [[https://nextcloud.com/release-channels/][release channels]]. Changelog of releases is available at [[https://nextcloud.com/changelog/][Nextcloud Server Changelog]]. In any case, always take backups prior upgrading since downgrading is [[https://www.reddit.com/r/NextCloud/comments/gywwtu/downgrade_from_19_to_1805/][not supported]].
To upgrade to a new version, first inspect whether there are updates available for Apps. Update them from UI, or from command line by doing at =../nextcloud/=:
~$ php occ app:list~
~$ php occ app:update ~
Then, review third-party apps (i.e. not Official) at =/settings/admin/overview/=, for their compatibility with the new Nextcloud
major version. Before the upgrade, all 3rd party apps must be
disabled. Disabling apps is handled by =updater.phar= script
automatically. After the upgrade has been completed, re-enable the
supported apps that were disabled with their new versions one by one.
Run the whole upgrade from the [[https://docs.nextcloud.com/server/15/admin_manual/maintenance/update.html#using-the-command-line-based-updater][cmd line with updater.phar]] as the method avoids e.g. [[https://help.nextcloud.com/t/updater-app-runs-into-timeout/12891][php time-out errors]].
~$ cd to /nextcloud/updater/~
~$ php updater.phar~
#+BEGIN_SRC bash
$ php updater.phar
Nextcloud Updater - version: v16.0.3-3-ga0c2b25 dirty
Current version is 17.0.1.
Update to Nextcloud 17.0.2 available. (channel: "stable")
Following file will be downloaded automatically:
https://download.nextcloud.com/server/releases/nextcloud-17.0.2.zip
Open changelog ↗
Steps that will be executed:
[ ] Check for expected files
[ ] Check for write permissions
[ ] Create backup
[ ] Downloading
[ ] Verify integrity
[ ] Extracting
[ ] Enable maintenance mode
[ ] Replace entry points
[ ] Delete old files
[ ] Move new files in place
[ ] Done
Start update? [y/N]
#+END_SRC
Hit {{{kbd(Y)}}} to start the update:
#+BEGIN_SRC bash
Info: Pressing will finish the currently running step and then stops
the updater.
[✔] Check for expected files
[✔] Check for write permissions
[✔] Create backup
[✔] Downloading
[✔] Verify integrity
[✔] Extracting
[✔] Enable maintenance mode
[✔] Replace entry points
[✔] Delete old files
[✔] Move new files in place
[✔] Done
Update of code successful.
Should the "occ upgrade" command be executed? [Y/n]
#+END_SRC
Hit {{{kbd(Y)}}} to start the upgrade:
#+BEGIN_SRC bash
Should the "occ upgrade" command be executed? [Y/n] Y
Nextcloud or one of the apps require upgrade - only a limited number of
commands are available
You may use your browser or the occ upgrade command to do the upgrade
2019-12-20T19:08:30+00:00 Set log level to debug
2019-12-20T19:08:30+00:00 Repair step: Repair MySQL collation
2019-12-20T19:08:30+00:00 Repair info: All tables already have the correct
collation -> nothing to do
2019-12-20T19:08:30+00:00 Repair step: Repair SQLite autoincrement
2019-12-20T19:08:30+00:00 Repair step: Copy data from accounts table when
migrating from ownCloud
2019-12-20T19:08:30+00:00 Repair step: Drop account terms table when
migrating from ownCloud
2019-12-20T19:08:30+00:00 Updating database schema
2019-12-20T19:08:30+00:00 Updated database
2019-12-20T19:08:30+00:00 Updating ...
2019-12-20T19:08:30+00:00 Updated to 0.14.2
2019-12-20T19:08:31+00:00 Checking for update of app accessibility in
appstore
[...]
#+END_SRC
Upgrade finishes with message:
#+begin_src bash
Keep maintenance mode active? [y/N]
#+end_src
Hit {{{kbd(N)}}}.
Upgrade is now finished. After the upgrade, do the "Post-installation tasks" again for
=.htaccess= and =.user.ini=. The old, working files can be used to copy
& paste the values from them in. The old files are at
=nextcloud/data/updater-ocg80o430zwr/backups= [fn:1]
Navigate to login page and login. Go to =Settings - Logging= and check them for any errors. If none, upgrade has now been completed. [fn:2]
** NEXT Investigate into backup strategy
I will eventually use the [[https://ecc-comp.blogspot.com/2020/07/backing-up-for-mortals.html][3-2-1 rule]] for backups, which will result in automatized, versioned backups. [[https://proton.me/blog/3-2-1-backup][3-2-1-backups]] explained.
For now, we run a manual rsync [[https://docs.nextcloud.com/server/15/admin_manual/maintenance/backup.html][for backups]]. First, put the server to maintenance mode:
~$ php occ maintenance:mode --on~
Then config, data, themes and database are needed for complete nextcloud backup:
~$ rsync -avx config/ ../config-bak_`date +"%Y%m%d"`/~
~$ rsync -avx data/ ../data-bak_`date +"%Y%m%d"`/~
~$ rsync -avx themes/ ../themes-bak_`date +"%Y%m%d"`/~
~$ mysqldump --single-transaction -h db1.n.kapsi.fi -u pyyhttu -p --max_allowed_packet=512M pyyhttu > nextcloud-sql-bak_`date +"%Y%m%d"`.bak~
Finally, remember to lift the maintenance mode off:
~$ php occ maintenance:mode --off~
** NEXT Install borgbackup on NAS pi and pull periodic backups from Kapsi to pi OpenMediaVault
Investigate how to accomplish as per these [[https://www.google.fi/search?sclient=psy-ab&site=&source=hp&q=nextcloud+backup+borg&=&=&oq=&pbx=1][search results]].
Also setup the borg script to backuo everything else from kapsi (highlander decks, debian notes etc.).
** NEXT Exlude images created by Preview Generator from backups
That is, location =../nextcloud/data/appdata_ocg80o430zwr/preview=, which currently takes 78G (and counting).
** REJECTED Investigate usage of NextBackup for DB-backups
*[2024-12-01 Sun]*: NextBackup is [[https://github.com/pbek/nextbackup/issues/55#issuecomment-1329603845][obsoleted]].
** DONE [[https://www.reddit.com/r/selfhosted/comments/pq6ixl/backup_nextcloud_to_somewhere_else/hdac4qs/][backup contacts]]
Contacts can be exported/imported using the standard =.vcf=-file. [[https://docs.nextcloud.com/server/latest/user_manual/en/groupware/contacts.html][Documentation]].
** DONE Reindex content
When mass copying/moving files through ssh inside Nexcloud's directory structure, you need to issue a reindex command so that Nextcloud's DB indexes the copied/movied files and show them in its UI:
~$ cd ~/siilo/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/~
~$ php occ files:scan --all~
** DONE Maps: Fix off-coordinates for photos
Sometimes GPS coordinates are inaccurate and photos in Maps end up displayed several kilometers off. You can fix the coordinates:
1. In =/apps/maps/= Select desired location by right clicking on it and select "Share this location" - GPS coordinates are copied to clipboard.
2. Open =/apps/memories/map= and select the photo and "Edit metadata". Paste the coordinates from clipboard to its field "Geolocation".
3. Go back to =/apps/maps/= and hit {{{kbd(ctrl-r)}}}. You'll see a banner: "/A background job updated 0 from 1 changed photos. This might take a while/".
4. After a while, the photo has been moved to its correct coordinates.
#+begin_note
*Note:* Modifying the coordinates of the photo modifies the photo's =File Modification Date/Time= which means in iOS Nextcloud app's Media view that the photo you fixed the coordinates for, bumps to the top.
Fix this in backend at =www/nextcloud/data/Tuomas/files= by running:
~$ exiftool -m -r '-FileModifyDate__construct(Object(OCA\News\Config\LegacyConfig), Object(OC\AllConfig), Object(OCA\News\AppInfo\Application))
#1 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(101): ReflectionClass->newInstanceArgs(Array)
#2 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(109): OC\AppFramework\Utility\SimpleContainer->buildClass(Object(ReflectionClass))
#3 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): OC\AppFramework\Utility\SimpleContainer->resolve('OCA\\News\\Migrat...')
#4 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(455): OC\AppFramework\Utility\SimpleContainer->query('OCA\\News\\Migrat...')
#5 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/ServerContainer.php(140): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback('OCA\\News\\Migrat...')
#6 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/Repair.php(119): OC\ServerContainer->query('OCA\\News\\Migrat...')
#7 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/legacy/OC_App.php(1035): OC\Repair->addStep('OCA\\News\\Migrat...')
#8 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/legacy/OC_App.php(979): OC_App::executeRepairSteps('news', Array)
#9 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/Installer.php(206): OC_App::updateApp('news')
#10 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/Updater.php(452): OC\Installer->updateAppstoreApp('news')
#11 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/Updater.php(260): OC\Updater->upgradeAppStoreApps(Array)
#12 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/Updater.php(130): OC\Updater->doUpgrade('20.0.2.2', '19.0.5.2')
#13 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/core/Command/Upgrade.php(255): OC\Updater->upgrade()
#14 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OC\Core\Command\Upgrade->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/3rdparty/symfony/console/Application.php(1000): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/3rdparty/symfony/console/Application.php(271): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\Upgrade), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/3rdparty/symfony/console/Application.php(147): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#19 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/console.php(100): OC\Console\Application->run()
#20 /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/occ(11): require_once('/siilo/6/pyyhtt...')
#21 {main}
Keep maintenance mode active? [y/N] N
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Maintenance mode disabled
#+END_SRC
This was then fixed by continuing upgrade manually:
~$ php occ upgrade~
#+BEGIN_SRC bash
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Setting log level to debug
Turned on maintenance mode
Updating database schema
Updated database
Updating ...
Updated to 15.0.6
Checking for update of app accessibility in appstore
Checked for update of app "accessibility" in appstore
Checking for update of app activity in appstore
Checked for update of app "activity" in appstore
Checking for update of app admin_audit in appstore
Checked for update of app "admin_audit" in appstore
Checking for update of app apporder in appstore
Checked for update of app "apporder" in appstore
Checking for update of app bookmarks in appstore
Checked for update of app "bookmarks" in appstore
Checking for update of app bruteforcesettings in appstore
Checked for update of app "bruteforcesettings" in appstore
Checking for update of app cloud_federation_api in appstore
Checked for update of app "cloud_federation_api" in appstore
Checking for update of app comments in appstore
Checked for update of app "comments" in appstore
Checking for update of app contacts in appstore
Checked for update of app "contacts" in appstore
Checking for update of app contactsinteraction in appstore
Checked for update of app "contactsinteraction" in appstore
Checking for update of app dav in appstore
Checked for update of app "dav" in appstore
Checking for update of app federatedfilesharing in appstore
Checked for update of app "federatedfilesharing" in appstore
Checking for update of app federation in appstore
Checked for update of app "federation" in appstore
Checking for update of app files in appstore
Checked for update of app "files" in appstore
Checking for update of app files_pdfviewer in appstore
Checked for update of app "files_pdfviewer" in appstore
Checking for update of app files_rightclick in appstore
Checked for update of app "files_rightclick" in appstore
Checking for update of app files_sharing in appstore
Checked for update of app "files_sharing" in appstore
Checking for update of app files_trashbin in appstore
Checked for update of app "files_trashbin" in appstore
Checking for update of app files_versions in appstore
Checked for update of app "files_versions" in appstore
Checking for update of app files_videoplayer in appstore
Checked for update of app "files_videoplayer" in appstore
Checking for update of app logreader in appstore
Checked for update of app "logreader" in appstore
Checking for update of app lookup_server_connector in appstore
Checked for update of app "lookup_server_connector" in appstore
Checking for update of app news in appstore
Checked for update of app "news" in appstore
Checking for update of app nextcloud_announcements in appstore
Checked for update of app "nextcloud_announcements" in appstore
Checking for update of app notifications in appstore
Checked for update of app "notifications" in appstore
Checking for update of app oauth2 in appstore
Checked for update of app "oauth2" in appstore
Checking for update of app password_policy in appstore
Checked for update of app "password_policy" in appstore
Checking for update of app photos in appstore
Checked for update of app "photos" in appstore
Checking for update of app privacy in appstore
Checked for update of app "privacy" in appstore
Checking for update of app provisioning_api in appstore
Checked for update of app "provisioning_api" in appstore
Checking for update of app serverinfo in appstore
Checked for update of app "serverinfo" in appstore
Checking for update of app settings in appstore
Checked for update of app "settings" in appstore
Checking for update of app sharebymail in appstore
Checked for update of app "sharebymail" in appstore
Checking for update of app support in appstore
Checked for update of app "support" in appstore
Checking for update of app systemtags in appstore
Checked for update of app "systemtags" in appstore
Checking for update of app text in appstore
Checked for update of app "text" in appstore
Checking for update of app theming in appstore
Checked for update of app "theming" in appstore
Checking for update of app twofactor_backupcodes in appstore
Checked for update of app "twofactor_backupcodes" in appstore
Checking for update of app twofactor_totp in appstore
Checked for update of app "twofactor_totp" in appstore
Checking for update of app unsplash in appstore
Checked for update of app "unsplash" in appstore
Checking for update of app updatenotification in appstore
Checked for update of app "updatenotification" in appstore
Checking for update of app viewer in appstore
Checked for update of app "viewer" in appstore
Checking for update of app workflowengine in appstore
Checked for update of app "workflowengine" in appstore
Starting code integrity check...
Finished code integrity check
Update successful
Turned off maintenance mode
Resetting log level
#+END_SRC
However, after the upgrade news addon is still generating errors in logs, namely this PHP error:
#+BEGIN_SRC bash
Error: mkdir(): Permission denied at /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/apps/news/lib/AppInfo/Application.php#104
#+END_SRC
Opening the issue at [[https://github.com/nextcloud/news/issues/1020][News
app Github]] suggested to use ='tempdirectory'= to override the default
=/tmp= where Nextcloud stores temporary files.
So edited =../nextcloud/config/config.php= and appended:
#+BEGIN_SRC bash
'tempdirectory' => '/siilo/6/pyyhttu/sites/tmp'
#+END_SRC
After above config change, the error was no longer visible.
-----
** DONE Found on [2020-12-25 Fri] after upgdade from 20.0.3 to 20.0.4
Noticed in the morning that iOS News client had stopped updating and
further investigating showed that whole instance was offline. After
navigating to login page there was an error:
#+BEGIN_SRC bash
It looks like you are trying to reinstall your
Nextcloud. However the file CAN_INSTALL is missing from your config
directory. Please create the file CAN_INSTALL in your config folder to
continue.
#+END_SRC
However, no updates were set to run in past 24h. In fact, latest update was completed on
[2020-12-17 Thu] without issues.
Doing at =/nextcloud/= ~$ touch CAN_INSTALL~ results in login page to
update the message, this time offering a new installation, which is
unwanted.
Noticed that =/nextcloud/config/config.php= had been getting modified on
[2020-12-26 Sat], and the contents of it resembled
nothing of a like normal =config.php=:
#+BEGIN_SRC bash
'my-instance-id',
);
#+END_SRC
I had my last update backups at =/nextcloud/data/updater-ocg80o430zwr/backups/nextcloud-20.0.3.2-1608203646/=
So returning the backup by doing:
~$ cp ../nextcloud/data/updater-ocg80o430zwr/backups/nextcloud-20.0.3.2-1608203646/config/config.php ../nextcloud/config/config.php~
And then force reloading with {{{kbd(Ctrl)}}}-{{{kbd(F5)}}} in browser the login page triggers the update from =20.0.3= to =20.0.4= after which I can run the update:
~$ cd ../nextcloud/updater/~
~$ php updater.phar~
And upgrade passed.
[2021-01-06 Wed] This happened again at 03:11 AM and [2021-01-08 Fri] at 08:13. This time decided to
look at the =nextcloud.log=. There's a mention of "stale file handle":
#+BEGIN_SRC bash
{"reqId":"6yDSxPtiyjMXGbR1ocbP","level":0,"time":"2021-01-06T01:11:03+00:00","remoteAddr":"91.154.145.230","user":"Tuomas","app":"files_sharing","method":"PROPFIND","url":"/nextcloud/index.php/apps/files/","message":"/appinfo/app.php is deprecated, use \\OCP\\AppFramework\\Bootstrap\\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":"20.0.4.0"}
{"reqId":"6yDSxPtiyjMXGbR1ocbP","level":0,"time":"2021-01-06T01:11:03+00:00","remoteAddr":"91.154.145.230","user":"Tuomas","app":"twofactor_totp","method":"PROPFIND","url":"/nextcloud/index.php/apps/files/","message":"/appinfo/app.php is deprecated, use \\OCP\\AppFramework\\Bootstrap\\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":"20.0.4.0"}
{"reqId":"6yDSxPtiyjMXGbR1ocbP","level":0,"time":"2021-01-06T01:11:03+00:00","remoteAddr":"91.154.145.230","user":"Tuomas","app":"unsplash","method":"PROPFIND","url":"/nextcloud/index.php/apps/files/","message":"/appinfo/app.php is deprecated, use \\OCP\\AppFramework\\Bootstrap\\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":"20.0.4.0"}
{"reqId":"qV4yIynPEe1s7oufG5PS","level":2,"time":"2021-01-06T01:11:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"qV4yIynPEe1s7oufG5PS","level":2,"time":"2021-01-06T01:11:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"NyHajtXXg9kcHFdla8zA","level":2,"time":"2021-01-06T01:12:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"NyHajtXXg9kcHFdla8zA","level":2,"time":"2021-01-06T01:12:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"nYzN09Zfth4E5wmXE23K","level":2,"time":"2021-01-06T01:12:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"nYzN09Zfth4E5wmXE23K","level":2,"time":"2021-01-06T01:12:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"JZfsM4k17exqpdfecdRn","level":2,"time":"2021-01-06T01:13:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"JZfsM4k17exqpdfecdRn","level":2,"time":"2021-01-06T01:13:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"1bnAvm28rsVZkhMMHYX2","level":2,"time":"2021-01-06T01:13:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"1bnAvm28rsVZkhMMHYX2","level":2,"time":"2021-01-06T01:13:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"3DKFhRiM7MkulJ7nXY1C","level":2,"time":"2021-01-06T01:13:48+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"GET","url":"/nextcloud/index.php/csrftoken","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0","version":""}
{"reqId":"3DKFhRiM7MkulJ7nXY1C","level":2,"time":"2021-01-06T01:13:48+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"GET","url":"/nextcloud/index.php/csrftoken","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0","version":""}
{"reqId":"u3itDNmIzWHY4mt2HiDm","level":2,"time":"2021-01-06T01:14:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"u3itDNmIzWHY4mt2HiDm","level":2,"time":"2021-01-06T01:14:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"HkZtZuRY0Uf9pop9ofAx","level":2,"time":"2021-01-06T01:14:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"HkZtZuRY0Uf9pop9ofAx","level":2,"time":"2021-01-06T01:14:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"nNa4XrfMDfeikuQVGrkM","level":2,"time":"2021-01-06T01:15:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"nNa4XrfMDfeikuQVGrkM","level":2,"time":"2021-01-06T01:15:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"nXNRwwQd1fIXmpvmKZXu","level":3,"time":"2021-01-06T01:15:08+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","message":{"Exception":"Exception","Message":"Not installed","Code":0,"Trace":[{"file":"/siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/base.php","line":653,"function":"checkInstalled","class":"OC","type":"::","args":[]},{"file":"/siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/base.php","line":1091,"function":"init","class":"OC","type":"::","args":[]},{"file":"/siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/cron.php","line":42,"args":["/siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/base.php"],"function":"require_once"}],"File":"/siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/base.php","Line":283,"CustomMessage":"--"},"userAgent":"--","version":""}
{"reqId":"YQlJFieaI6HsB2ZQCUB2","level":2,"time":"2021-01-06T01:16:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"YQlJFieaI6HsB2ZQCUB2","level":2,"time":"2021-01-06T01:16:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"SQm4Tbe9rqRyXdywbW8P","level":2,"time":"2021-01-06T01:16:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"SQm4Tbe9rqRyXdywbW8P","level":2,"time":"2021-01-06T01:16:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"SQm4Tbe9rqRyXdywbW8P","level":3,"time":"2021-01-06T01:16:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"PHP","method":"PROPFIND","url":"/nextcloud/index.php","message":{"Exception":"Error","Message":"scandir(/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/core/l10n/): failed to open dir: Stale file handle at /var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/L10N/Factory.php#295","Code":0,"Trace":[{"function":"onError","class":"OC\\Log\\ErrorHandler","type":"::"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/L10N/Factory.php","line":295,"function":"scandir"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/L10N/Factory.php","line":410,"function":"findAvailableLanguages","class":"OC\\L10N\\Factory","type":"->"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/L10N/Factory.php","line":197,"function":"getLanguageFromRequest","class":"OC\\L10N\\Factory","type":"->"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/legacy/OC_Util.php","line":632,"function":"findLanguage","class":"OC\\L10N\\Factory","type":"->"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/legacy/OC_Template.php","line":115,"function":"addTranslations","class":"OC_Util","type":"::"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/legacy/OC_Template.php","line":78,"function":"initTemplateEngine","class":"OC_Template","type":"::"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/legacy/OC_Template.php","line":269,"function":"__construct","class":"OC_Template","type":"->"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/core/Controller/SetupController.php","line":91,"function":"printGuestPage","class":"OC_Template","type":"::"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/core/Controller/SetupController.php","line":69,"function":"displaySetupForbidden","class":"OC\\Core\\Controller\\SetupController","type":"->"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/base.php","line":946,"function":"run","class":"OC\\Core\\Controller\\SetupController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/index.php","line":37,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/Log/ErrorHandler.php","Line":91,"CustomMessage":"--"},"userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"SQm4Tbe9rqRyXdywbW8P","level":3,"time":"2021-01-06T01:16:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"PHP","method":"PROPFIND","url":"/nextcloud/index.php","message":{"Exception":"Error","Message":"scandir(): (errno 116): Stale file handle at /var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/L10N/Factory.php#295","Code":0,"Trace":[{"function":"onError","class":"OC\\Log\\ErrorHandler","type":"::"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/L10N/Factory.php","line":295,"function":"scandir"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/L10N/Factory.php","line":410,"function":"findAvailableLanguages","class":"OC\\L10N\\Factory","type":"->"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/L10N/Factory.php","line":197,"function":"getLanguageFromRequest","class":"OC\\L10N\\Factory","type":"->"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/legacy/OC_Util.php","line":632,"function":"findLanguage","class":"OC\\L10N\\Factory","type":"->"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/legacy/OC_Template.php","line":115,"function":"addTranslations","class":"OC_Util","type":"::"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/legacy/OC_Template.php","line":78,"function":"initTemplateEngine","class":"OC_Template","type":"::"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/legacy/OC_Template.php","line":269,"function":"__construct","class":"OC_Template","type":"->"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/core/Controller/SetupController.php","line":91,"function":"printGuestPage","class":"OC_Template","type":"::"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/core/Controller/SetupController.php","line":69,"function":"displaySetupForbidden","class":"OC\\Core\\Controller\\SetupController","type":"->"},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/base.php","line":946,"function":"run","class":"OC\\Core\\Controller\\SetupController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/index.php","line":37,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/private/Log/ErrorHandler.php","Line":91,"CustomMessage":"--"},"userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"XRLR9fqcjAwqxcctOSr4","level":2,"time":"2021-01-06T01:16:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"GET","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"XRLR9fqcjAwqxcctOSr4","level":2,"time":"2021-01-06T01:16:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"GET","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"6GHzz6ryUknPeOtXtmiX","level":2,"time":"2021-01-06T01:17:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"6GHzz6ryUknPeOtXtmiX","level":2,"time":"2021-01-06T01:17:02+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in http:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
{"reqId":"fys9tImFq1apHOUvsrS2","level":2,"time":"2021-01-06T01:17:32+00:00","remoteAddr":"91.154.145.230","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/index.php","message":"Could not detect any host in https:///nextcloud/data/htaccesstest.txt","userAgent":"Mozilla/5.0 (Windows) mirall/3.1.1stable-Win64 (build 20201222) (Nextcloud)","version":""}
#+END_SRC
Kapsi operates its filesystem with NFS, and they've had during [[https://www.kapsi.fi/tiedotteet/2021.html#471][2021 stability problems]] with them which they attempt to fix by kernel update.
*[2024-12-14 Sat]*: Haven't witnessed stale file handle errors anymore. Setting this to Done.
-----
** DONE Found on [2020-12-25 Fri] after upgdade from 20.0.3 to 20.0.4
Running ~$ php updater.phar~ gave:
#+BEGIN_SRC bash
Start update? [y/N] y
Info: Pressing Ctrl-C will finish the currently running step and then stops the updater.
[✔] Check for expected files
[✔] Check for write permissions
[ ] Create backup ...PHP Warning: copy(/siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/data/updater-ocg80o430zwr/backups/nextcloud-22.2.1.2-1639213625/lib/public/Search/SearchResult.php): failed to open stream: Disk quota exceeded in phar:///siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/updater/updater.phar/lib/Updater.php on line 395
[✘] Create backup failed
Could not copy "/siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/lib/public/Search/SearchResult.php" to "/siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/data/updater-ocg80o430zwr/backups/nextcloud-22.2.1.2-1639213625/lib/public/Search/SearchResult.php". Destination /siilo/6/pyyhttu/sites/pyyhttu-siilo.kapsi.fi/www/nextcloud/data/updater-ocg80o430zwr/backups/nextcloud-22.2.1.2-1639213625/lib/public/Search/SearchResult.php is not writable
Update failed. To resume or retry just execute the updater again.
#+END_SRC
Reason was the disk space for which I had exceeded the given quota. This can
be checked with ~$ quota -s~. More disk space can be requested from Kapsi
admins.
-----
** DONE Found on [2022-02-17 Thu] after upgrade from 23.0.0 to 23.0.2
Warning in =Settings - Overview:=
#+BEGIN_SRC bash
The PHP OPcache module is not properly configured:
The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply opcache.interned_strings_buffer to your PHP configuration with a value higher than 8.
#+END_SRC
Googling this out, gives plenty of results:
[[https://github.com/nextcloud/server/issues/31223][The OPcache interned strings buffer is nearly full #31223]]
[[https://github.com/nextcloud/all-in-one/issues/192][adjust opcache settings #192]]
[[https://github.com/nextcloud/docker/issues/1692][ PHP OPcache module is not properly configured: OPcache interned strings buffer is nearly full #1692]]
Also troubleshooted this and [[https://github.com/nextcloud/all-in-one/issues/192#issuecomment-1053652741][contributed with a question.]]
Update [2023-01-24 Tue]: This was resolved after and upgrade to version
25.0.1.
-----
** DONE Found on [2022-02-17 Thu] after upgrade from 23.0.0 to 23.0.2
=Entry will not be accessible due to incompatible encoding=
#+BEGIN_SRC bash
$ php occ files:scan --all
Starting scan for user 1 out of 4 (Alvaro)
Starting scan for user 2 out of 4 (Heidi)
Starting scan for user 3 out of 4 (pyyhttu)
Starting scan for user 4 out of 4 (Tuomas)
Entry "files/Photos/1997/06/Video_1997-06-15_Tuomas\ Rippi\ ja\ yo.mp4" will not be accessible due to incompatible encoding
+---------+--------+--------------+
| Folders | Files | Elapsed time |
+---------+--------+--------------+
| 8881 | 138082 | 00:14:57 |
+---------+--------+--------------+
#+END_SRC
*[2024-12-23 Mon]*: Resolved by itself as this gives no longer an error:
#+begin_src bash
$ php8.2 occ files:scan --path="/Tuomas/files/Photos/1997/06"
Starting scan for user 1 out of 1 (Tuomas)
+---------+-------+-----+---------+---------+--------+--------------+
| Folders | Files | New | Updated | Removed | Errors | Elapsed time |
+---------+-------+-----+---------+---------+--------+--------------+
| 1 | 1 | 0 | 0 | 0 | 0 | 00:00:00 |
+---------+-------+-----+---------+---------+--------+--------------+
#+end_src
-----
** DONE Found on [2024-02-17 Sat] after upgrade from 28.0.1 to 28.0.2
Warning in =Settings - Overview:=
#+BEGIN_SRC bash
Server has no maintenance window start time configured. This means resource intensive daily background jobs will also be executed during your main usage time. We recommend to set it to a time of low usage, so users are less impacted by the load caused from these heavy tasks.
#+END_SRC
Warning documented [[https://docs.nextcloud.com/server/28/admin_manual/configuration_server/background_jobs_configuration.html][here]] and [[https://help.nextcloud.com/t/nextcloud-server-has-no-maintenance-window-start-time-configured-error/180556/4][here]].
So warning resolved by adding ='maintenance_window_start' => 23,= (maintenance then starts daily 23 UTC = 01 EET onward in some random 4h window).
-----
** DONE Found on [2024-02-17 Sat] after upgrade from 28.0.1 to 28.0.2
Warning in =Settings - Overview:=
#+BEGIN_SRC bash
This instance is missing some recommended PHP modules. For improved performance and better compatibility it is highly recommended to install them: bz2.
#+END_SRC
Turns out this module is [[https://help.nextcloud.com/t/docker-image-setup-warning-missing-bz2-after-update-to-nc-28-0-0/176605][not needed after all]], so it will be removed in the next point release.
-----
** DONE Found on [2024-02-17 Sat] after upgrade from 28.0.1 to 28.0.2
Error in =Settings - Logging:=
#+BEGIN_SRC bash
Could not load log entries
#+END_SRC
Verified by [[https://github.com/nextcloud/logreader/issues/1058][disabling ublock origin]]. Some of the blocklists caused the logging window entries to be falsely blocked, so resolved by adding to ublock's Trusted sites my Nextcloud domain as whitelisted.
-----
** DONE Found on [2024-02-17 Sat] after upgrade from 28.0.1 to 28.0.2
Noticed in =Settings - Personal info:= The time under Locale field is s off by 2 hours. Also the logs are off by 2 hours with local time display option set.
This is caused by Nextcloud [[https://help.nextcloud.com/t/time-of-nextcloud-instance-not-correct/53096/4][relying on browser]] telling the time, and gets this through fingerprinting. However, I don't want to turn in =about:config= the =privacy.resistFingerprinting= to =false=, so I add my Nextcloud domain to =privacy.resistFingerprinting.exemptedDomains= instead, which gets the job done too.
-----
** DONE Found on [2024-05-25 Sun] after upgrade from 29.0.4 to 29.0.5
=One or more mimetype migrations are available. Occasionally new mimetypes are added to better handle certain file types. Migrating the mimetypes take a long time on larger instances so this is not done automatically during upgrades. Use the command `occ maintenance:repair --include-expensive` to perform the migrations=
Seems to be [[https://github.com/nextcloud/server/issues/47359][bug]] a that will be fixed.
*[2024-09-30 Mon]:* Fixed in 29.0.7
-----
** DONE Found on [2024-09-24 Tue] after upgrade from 29.0.4 to 29.0.5
After doing an app update:
#+begin_src bash
$ php occ app:update --all
memories new version available: 7.4.1
memories updated
cfg_share_links new version available: 6.1.0
Error: App "Configurable Share Links" cannot be installed because the following dependencies are not fulfilled: PHP 8.1 or higher is required.
cfg_share_links couldn't be updated
unsplash new version available: 3.0.1
unsplash updated
groupfolders new version available: 17.0.3
groupfolders updated
#+end_src
After this refreshing the Nextcloud app page I had open, caused error:
#+begin_src bash
App update required
The following apps will be updated:
Configurable Share Links (cfg_share_links)
Please make sure that the database, the config folder and the data folder have been backed up before proceeding.
To avoid timeouts with larger installations, you can instead run the following command from your installation directory:
./occ upgrade
#+end_src
Root of the the problem is that I have old php version 8.0 still in use by Nextcloud, so I should look into have my Nextcloud upgraded with the latest supported php-version, at the time of writing =php8.2=: https://www.kapsi.fi/tiedotteet/#492
*[2024-11-18 Mon]:* If I do ~$ php -v~ I get deprecated php version:
#+begin_src bash
$ php -v
PHP 8.0.30 (cli) (built: Sep 27 2024 04:04:55) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
#+end_src
However, Nextcloud sees in =/settings/admin/serverinfo=-view that I have supported version 8.2.23 installed, and used. This is further confirmed by phpmyinfo which I can enable to access at same view by doing:
~$ occ config:app:set --value=yes serverinfo phpinfo~
Assuming Nextcloud chooses whatever supported php from =/usr/bin/= and uses that. So, I'll just upgrade with latest supported php (=/usr/bin/php8.2= at the time of writing) and follow this up.
*[2024-12-14 Sat]*: I've now upgraded several dot-releases and one major version with =php8.2= and so far no problems. Setting this as Done.
-----
** DONE Found on [2024-00-24 Tue] after upgrade from 29.0.5 to 29.0.7
#+begin_src bash
Start update? [y/N] y
Info: Pressing Ctrl-C will finish the currently running step and then stops the updater.
[✔] Check for expected files
[✔] Check for write permissions
[✔] Create backup
[✔] Downloading
[✔] Verify integrity
[✔] Extracting
[✔] Enable maintenance mode
[✔] Replace entry points
[✔] Delete old files
[✔] Move new files in place
[✔] Done
Update of code successful.
Should the "occ upgrade" command be executed? [Y/n] y
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Setting log level to debug
Repair step: Repair MySQL collation
Repair info: All tables already have the correct collation -> nothing to do
Repair step: Copy data from accounts table when migrating from ownCloud
Repair step: Drop account terms table when migrating from ownCloud
Updating database schema
Exception: Database error when running migration 30000Date20240814180800 for app core
An exception occurred while executing a query: SQLSTATE[HY000]: General error: 1709 Index column size too large. The maximum column size is 767 bytes
Update failed
Maintenance mode is kept active
Resetting log level
Keep maintenance mode active? [y/N]
#+end_src
[[https://github.com/nextcloud/server/issues/23369#issuecomment-707313974][Solution]] was that I needed to append to =../config/config.php= configuration value ='mysql.utf8mb4' => true=.
After this ~$ php occ updater.phar~ finished successfully.
-----
** DONE Found on [2024-09-29 Sun] after upgrade from 29.0.5 to 29.0.7
=Your webserver is not set up to serve `.js.map` files. Without these files, JavaScript Source Maps won't function properly, making it more challenging to troubleshoot and debug any issues that may arise.=
*[2024-11-17 Sun]:* Error is gone with version =29.0.9=.
-----
** DONE Found on [2024-09-29 Sun] after upgrade from 29.0.5 to 29.0.7
=Could not check for JavaScript support via any of your `trusted_domains` nor `overwrite.cli.url`. This may be the result of a server-side DNS mismatch or outbound firewall rule. Please check manually if your webserver serves `.mjs` files using the JavaScript MIME type. To allow this check to run you have to make sure that your webserver can connect to itself. Therefor it must be able to resolve and connect to at least one its `trusted_domains` or the `overwrite.cli.url`.=
*[2024-11-17 Sun]:* Error is gone with version =29.0.9=.
-----
** DONE Found on [2024-09-29 Sun] after upgrade from 29.0.5 to 29.0.7
=Could not check that your web server serves security headers correctly, unable to query `/nextcloud/index.php/heartbeat` For more details see the [[https://docs.nextcloud.com/server/29/go.php?to=admin-security][documentation]] ↗.=
This error [[https://help.nextcloud.com/t/nc29-setup-warnings-well-known-and-other/201525/3][seems to be]] because of bug in =.well-known=-patch. And it is triggered for me because my nextcloud installation is in subfolder. Following up. The error should go away in some future dot-release.
*[2024-11-17 Sun]:* Error is gone with version =29.0.9=.
-----
** DONE Found on [2024-09-29 Sun] after upgrade from 29.0.5 to 29.0.7
=Could not check for WOFF2 loading support. Please check manually if your webserver serves `.woff2` files. To allow this check to run you have to make sure that your webserver can connect to itself. Therefor it must be able to resolve and connect to at least one its `trusted_domains` or the `overwrite.cli.url`. For more details see the [[https://docs.nextcloud.com/server/29/go.php?to=admin-nginx][documentation]].=\\
*[2024-11-06 Wed]:* Error is gone with version =29.0.8=.
-----
** DONE Found on [2025-02-27 Thu] after upgrade from 30.0.6 to 31.0.0
Logs started to show warning:
="Selected provider 'Unsplash' could not be found. Using Default. Please select an existing provider in the settings!"=
Going to =/settings/admin/theming= and =Splash= revealed for =UnsplashAPI=:
#+BEGIN_QUOTE
Set the required token. To get a token, visit:
[[https://unsplash.com/documentation#creating-a-developer-account][Unsplash: Developer Account Instructions]]
On the linked instruction page, register an application. You should not need to apply for production. Use their token here.
#+END_QUOTE
Then added to =Token= their Access Key.
-----
** DONE Found on [2025-04-02 Wed] after upgrade from 30.0.6 to 31.0.0
[[https://securityheaders.com/?q=https%3A%2F%2Fpyyhttu-siilo.kapsi.fi%2Fnextcloud&followRedirects=on][securityheaders.com]] showed =Permissions-Policy= as a missing security header:
#+ATTR_HTML: :width:100%; height:auto;
[[file:images/1.png]]
Fixed by editing =/nextcloud/.htaccess= by adding inside tag ==:
#+begin_src htaccess
string (current-date) "<~Y-~m-~d ~a ~H:~M>")))
("icon-list" (insert "+ "))
("icon-todolist" (insert "+ [ ] "))
("icon-change" (show-transform-commands))
("icon-tools" (show-tools-commands))
("icon-settings" (insert-code-snippet)))
"A list of buttons to show above the keyboard when editing notes. The
list is a list of lists stating the button text and the code to run.
For example '(("icon-left" (backward-char)) ("icon-right" (forward-char))) defines a toolbar with the buttons < and > which respectively execute the functions backward-char and forward-char.")
,#+END_SRC
#+END_SRC
** DONE Beorg with Working Copy Git client
Notes can be version controlled in iOS with Working Copy Git client. It is a
[[https://www.reddit.com/r/orgmode/comments/hxqn9t/comment/fz8wezi/?utm_source=share&utm_medium=mweb3x&utm_name=mweb3xcss&utm_term=1&utm_content=share_button][bit
pricey]] but you can setup a synchronized directory against your Github
repository. Here are
[[https://www.reddit.com/r/emacs/comments/10nih0o/comment/j6bleo3/?utm_source=share&utm_medium=mweb3x&utm_name=mweb3xcss&utm_term=1&utm_content=share_button][the
settings]] to use it with.
** NEXT Google Photoprims or Librephotos, to be installed along Nextcloud in shared hosting
[[https://www.reddit.com/r/NextCloud/comments/kkibwf/les_pas_your_photo_album_for_nextcloud/gh43pu0/?context=3][Seems to be possible]], at least with Photoprism, but they have paid subscription model in mind.
Would make it possible to have syncing of nextcloud and managing/tagging in photoprism?
It seems that Photoprism can be pointed to my Nextcloud photos directory.
** NEXT Check that previews are enabled in =config.php=
See [[https://www.reddit.com/r/NextCloud/comments/r8oijz/comment/hn763ct/?context=3][this reddit thread.]]
** DONE Enable HEIC support
See [[https://lemmy.ca/post/11181857][this.]]
*[2025-01-22 Wed]:* Instead enabled at =/settings/admin/memories= toggling on =HEIC (Imagick)=. Tested with a sample .heic file from https://heic.digital/samples/ and previews are working both in Files, Memories and in iOS Nextcloud client.
** NEXT Check [[https://www.reddit.com/r/NextCloud/comments/1c95l23/does_nextcloud_always_struggle_with_multi_gig/][large file upload settings]]
* Footnotes
[fn:1] Do not copy and replace the files from backups as this will mess
with nextcloud's versioning. Rather, compare the backups to upgrade ones with ~diff~ and manually replace the changes.
[fn:2] Warnings are OK. In case of errors during upgrade, check the two logs from =nextcloud/data=:
=nextcloud.log= and =updater.log=.