Hey everyone,
Today I went ahead and migrated my ownCloud server to Nextcloud and I must say that I’m very impressed by it! It runs great and has quite a lot of featuers that were missing like the ability to move shared folders and better mobile apps.
Espacially the Android app has come a far way. But I am experiencing a problem that is very strange. I already found a workaround, but I would like to solve this issue completely.
The problem is that when I use the Android app everything loads really slowly. The loading bar keeps going for at least a full minute or longer. Thumbnails load very, very slowly and it’s hardly usable. Data transfer speeds seem fine although I didn’t test this for any files bigger than 4 MB. This only occurs when I’m connected to my own WiFi and not on mobile data or other hotspots.
The desktop apps are fine in any cases, except on my slow Asus Transformer tablet, but that’s to be expected with such low end specs and the target disk being an SD card.
My Nextcloud server is running on my local network on the IP adress 192.168.0.5. This is a 64-bit Ubuntu 16.04.1 VM running on two CPU cores with 4GB of RAM and a 16GB SSD allocated from the VMware host. The data is stored on my Synology NAS using an NFS share with a RAID-5 volume on brand new disks.
The webserver on this VM is the latest version of apache2 and I’m using MySQL for the database. All of this is running on the same VM.
My apache config looks like this:
<VirtualHost *:80>
ServerAdmin admin@mydomain.com
ServerName cloud.mydomain.com
Redirect permanent / https://cloud.mydomain.com
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin admin@mydomain.com
ServerName cloud.mydomain.com
DocumentRoot /var/www/nextcloud
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/cloud.mydomain.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/cloud.mydomain.com.key
SSLCertificateChainFile /etc/apache2/ssl/cloud.mydomain.com-bundle.crt
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
</VirtualHost>
</IfModule>
The Nextcloud config looks like this:
<?php
$CONFIG = array (
'instanceid' => '***',
'passwordsalt' => '***',
'secret' => '***',
'trusted_domains' =>
array (
0 => 'cloud.mydomain.com',
1 => 'cloud.mydomain.local',
),
'datadirectory' => '/mnt/nextcloud',
'overwrite.cli.url' => 'https://cloud.mydomain.com',
'dbtype' => 'mysql',
'version' => '11.0.0.10',
'dbname' => 'nextcloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => '***',
'dbpassword' => '***',
'logtimezone' => 'UTC',
'installed' => true,
'mail_smtpmode' => 'smtp',
'mail_from_address' => 'administrator',
'mail_domain' => 'mydomain.com',
'mail_smtphost' => 'smtp.mydomain.com',
'mail_smtpport' => '25',
'memcache.local' => '\\OC\\Memcache\\APCu',
'maintenance' => false,
'theme' => 'mytheme',
'loglevel' => 2,
);
My DNS settings are set-up so that mydomain.com resolves to 192.168.0.5 instead of my local IP. The DHCP leases inside the same subnet so there is no routing going on. However when I set my DNS to resolve to the public IP directly or use a different upstream DNS server like 8.8.8.8 loading folders and generating thumbnails is almost instant!
Does anyone know how I can debug this problem or what’s causing it? I want to use local DNS so internal file transfers are not routed over my gateway, but for some reason it seems to have an inverted effect.
Hopefully someone can help me out. Thanks!