Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Linuxserver.io - Nextcloud

Featured Replies

So, I started fresh. I used CHBMB's Mariadb/nextcloud install guide. I used kamhighway's reverse proxy guide. I added peter_sm's line. All is working fine now, yay :)

  • Replies 7.1k
  • Views 1.7m
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Here's my list of instructions....    Use them at your own risk.....   If upgrading to v12 please see here:   ##Turn on maintenance mode docker exec -it nextcloud occ m

  • When i did enter the docker container with ssh and did run the following command the error message was gone   sudo -u abc php /config/www/nextcloud/occ db:add-missing-indices   Onl

  • gustomucho
    gustomucho

    After tinkering with this for a while, it seems the solution is much simpler than I thought. For some reason, the only step required is to modify the config.php file. No need to install ffmp

Posted Images

Bjonness406, well something ain't quite right.  Unfortunately that screenshot isn't terribly helpful in working out where you've gone wrong, especially as you haven't posted your config.php....

 

Sent from my LG-H815 using Tapatalk

 

 

Bjonness406, well something ain't quite right.  Unfortunately that screenshot isn't terribly helpful in working out where you've gone wrong, especially as you haven't posted your config.php....

 

Sent from my LG-H815 using Tapatalk

Sorry!

<?php
$CONFIG = array (
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'datadirectory' => '/data',
  'instanceid' => 'xxxxxxxx',
  'passwordsalt' => 'xxxxxxxxxxxxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
  'trusted_domains' => 
  array (
    0 => '192.168.1.2:444',
    1 => 'server.ddns.net',
    2 => '192.168.1.2:443',
  ),
  'overwrite.cli.url' => 'https://server.ddns.net',
  'overwritehost ' => 'server.ddns.net',
  'overwriteprotocol' => 'https',
  'overwritewebroot' => '/nextcloud',
  'dbtype' => 'mysql',
  'version' => '9.1.0.16',
  'dbname' => 'NextCloud',
  'dbhost' => '192.168.1.2:3306',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'oc_Bjonness4062',
  'dbpassword' => 'xxxxxxxxxxxxxxxx',
  'logtimezone' => 'UTC',
  'installed' => true,
  'maintenance' => false,
  'loglevel' => 2,
);

 

The server.ddns.net is a free dns name from no-ip.

Bjonness406, well something ain't quite right.  Unfortunately that screenshot isn't terribly helpful in working out where you've gone wrong, especially as you haven't posted your config.php....

 

Sent from my LG-H815 using Tapatalk

Sorry!

<?php
$CONFIG = array (
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'datadirectory' => '/data',
  'instanceid' => 'xxxxxxxx',
  'passwordsalt' => 'xxxxxxxxxxxxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
  'trusted_domains' => 
  array (
    0 => '192.168.1.2:444',
    1 => 'server.ddns.net',
    2 => '192.168.1.2:443',
  ),
  'overwrite.cli.url' => 'https://server.ddns.net',
  'overwritehost ' => 'server.ddns.net',
  'overwriteprotocol' => 'https',
  'overwritewebroot' => '/nextcloud',
  'dbtype' => 'mysql',
  'version' => '9.1.0.16',
  'dbname' => 'NextCloud',
  'dbhost' => '192.168.1.2:3306',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'oc_Bjonness4062',
  'dbpassword' => 'xxxxxxxxxxxxxxxx',
  'logtimezone' => 'UTC',
  'installed' => true,
  'maintenance' => false,
  'loglevel' => 2,
);

 

The server.ddns.net is a free dns name from no-ip.

 

Can you access the webui from https://192.168.1.2:444/index.php/login

 

And can you clarify which "version" of the reverse proxy you're using?

Bjonness406, well something ain't quite right.  Unfortunately that screenshot isn't terribly helpful in working out where you've gone wrong, especially as you haven't posted your config.php....

 

Sent from my LG-H815 using Tapatalk

Sorry!

<?php
$CONFIG = array (
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'datadirectory' => '/data',
  'instanceid' => 'xxxxxxxx',
  'passwordsalt' => 'xxxxxxxxxxxxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
  'trusted_domains' => 
  array (
    0 => '192.168.1.2:444',
    1 => 'server.ddns.net',
    2 => '192.168.1.2:443',
  ),
  'overwrite.cli.url' => 'https://server.ddns.net',
  'overwritehost ' => 'server.ddns.net',
  'overwriteprotocol' => 'https',
  'overwritewebroot' => '/nextcloud',
  'dbtype' => 'mysql',
  'version' => '9.1.0.16',
  'dbname' => 'NextCloud',
  'dbhost' => '192.168.1.2:3306',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'oc_Bjonness4062',
  'dbpassword' => 'xxxxxxxxxxxxxxxx',
  'logtimezone' => 'UTC',
  'installed' => true,
  'maintenance' => false,
  'loglevel' => 2,
);

 

The server.ddns.net is a free dns name from no-ip.

 

Can you access the webui from https://192.168.1.2:444/index.php/login

 

And can you clarify which "version" of the reverse proxy you're using?

Getting somewhere longer, but not loading entirely.

Accessing it from the reverse proxy is working fine.

 

Apache from LSIO

next.jpg.6613af8098cf78fb42cd6546d9bad054.jpg

Yeah, but I posted two versions of config.php, 

 

One for https://server.com/nextcloud

one for https://nextcloud.server.com

 

And you appear to have bits of both in yours.....

I think you misunderstand.

My server address is "myserver.ddns.net", then I want to have nextcloud at "myserver.ddns.net/nextcloud".

The reason I don't have "myserver.net" is because this is a free dns name I got from no-ip, and then is adds the "ddns.net" part after my server name. 

 

If there is anything I have missed, please tell me ;)

Yeah, but I posted two versions of config.php, 

 

One for https://server.com/nextcloud

one for https://nextcloud.server.com

 

And you appear to have bits of both in yours.....

I think you misunderstand.

My server address is "myserver.ddns.net", then I want to have nextcloud at "myserver.ddns.net/nextcloud".

The reason I don't have "myserver.net" is because this is a free dns name I got from no-ip, and then is adds the "ddns.net" part after my server name. 

 

If there is anything I have missed, please tell me ;)

 

OK, that's cleared it up.  The problem isn't anything to do with the reverse proxy, more to do with the fact that config.php doesn't "match" the way the container is setup via it's internal nginx config.

 

Essentially getting all this working there are three variables:

[*]nginx:  /config/www/nextcloud/config/config.php

[*]nginx:  /config/nginx/site-confs/default (I left this well alone during my write up

[*]Apache: /config/apache/site-confs/default.conf

 

Quick bit of testing and I found this worked for me, change line 30 of /config/nginx/site-confs/default  from

root/config/www/nextcloud/;

to

root /config/www;

Okey..

I think I am getting to tired for this now...

Will take a look at this tomorrow instead.

 

I will set all of this up again tomorrow on my dev server instead, and then see if this works.

Will only try with Nginx-letsencrypt that time, and not apache.

 

Hopefully it goes better this time....

Okey..

I think I am getting to tired for this now...

Will take a look at this tomorrow instead.

 

I will set all of this up again tomorrow on my dev server instead, and then see if this works.

Will only try with Nginx-letsencrypt that time, and not apache.

 

Hopefully it goes better this time....

 

I'm away for a week from tomorrow so you're on your own...  ;)

 

 

Okey..

I think I am getting to tired for this now...

Will take a look at this tomorrow instead.

 

I will set all of this up again tomorrow on my dev server instead, and then see if this works.

Will only try with Nginx-letsencrypt that time, and not apache.

 

Hopefully it goes better this time....

 

I'm away for a week from tomorrow so you're on your own...  ;)

 

Who is gonna help the poor people in your/LSIO support threads then? ::)

 

Have a great trip or whatever you are going to do :D

Hello,

 

I am using your docker container and it works perfectly!

 

I want to use let's encrypt but since i am new to docker, I am not sure how to install it inside the docker?

 

Is there a way that you can include it? Like in this docker? https://github.com/filcuc/nextcloud-docker

 

Which i dont know how to install on unraid, since these are my first steps with unraid and docker.

 

For now i use the nginx-letsencrypt docker cointainer to create and renew my certificate and then copy it over to my nextcloud docker and changed the path in the default file in site-confs. This works very good, ssllabs shows A+ and its working great.

 

The main reason for to not use the reverse proxy was, that the android app it not detecting the installation with the dyndns adress, only with the direct non reversed proxy ip adress inside the lan. And you get that strange error when you try to log out when you are not the in the lan.

 

Is there a more easy way right now?

 

Thanks for your amazing work! I know it is still a Beta Container, but would still be nice to have the lets encrypt :-)

The main reason for to not use the reverse proxy was, that the android app it not detecting the installation with the dyndns adress, only with the direct non reversed proxy ip adress inside the lan. And you get that strange error when you try to log out when you are not the in the lan.

Do you know if the android app detects the installation if you use a "normal" address, like mydomain.net instead of a dyndns address?

 

The main reason for to not use the reverse proxy was, that the android app it not detecting the installation with the dyndns adress, only with the direct non reversed proxy ip adress inside the lan. And you get that strange error when you try to log out when you are not the in the lan.

Do you know if the android app detects the installation if you use a "normal" address, like mydomain.net instead of a dyndns address?

 

I use my bought domain name. It like mydomain.de. When I use the the normal Nextcloud container on the 443 Port, the Adress works correctly. So it is not that fault i guess.. Or do think it is?

The main reason for to not use the reverse proxy was, that the android app it not detecting the installation with the dyndns adress, only with the direct non reversed proxy ip adress inside the lan. And you get that strange error when you try to log out when you are not the in the lan.

Do you know if the android app detects the installation if you use a "normal" address, like mydomain.net instead of a dyndns address?

 

I use my bought domain name. It like mydomain.de. When I use the the normal Nextcloud container on the 443 Port, the Adress works correctly. So it is not that fault i guess.. Or do think it is?

Then I don't think the dynsdns domain is the problem, I thought you had something like "xxx.dyndns.org".

I am having some troubles with reverse proxy on the android app too, without reverse proxy it works perfectly fine.

I have posted in the nextcloud forum, hope someone could help me there.

https://help.nextcloud.com/t/reverse-proxy-with-android-client-does-not-work/3346

 

 

If someone is using nextcloud behind reverse proxy (prefer Nginx), does the android client work? If so, can you share your config?

The main reason for to not use the reverse proxy was, that the android app it not detecting the installation with the dyndns adress, only with the direct non reversed proxy ip adress inside the lan. And you get that strange error when you try to log out when you are not the in the lan.

Do you know if the android app detects the installation if you use a "normal" address, like mydomain.net instead of a dyndns address?

 

I use my bought domain name. It like mydomain.de. When I use the the normal Nextcloud container on the 443 Port, the Adress works correctly. So it is not that fault i guess.. Or do think it is?

Then I don't think the dynsdns domain is the problem, I thought you had something like "xxx.dyndns.org".

I am having some troubles with reverse proxy on the android app too, without reverse proxy it works perfectly fine.

I have posted in the nextcloud forum, hope someone could help me there.

https://help.nextcloud.com/t/reverse-proxy-with-android-client-does-not-work/3346

 

 

If someone is using nextcloud behind reverse proxy (prefer Nginx), does the android client work? If so, can you share your config?

 

Well, I think you might see me up there in previous posts.  I eventually did get this one to work with my nginx/letsencrypt reverse proxy as well.  So its do-able.  Apparently its good to note that Nextcloud recommends that you setup your domain to be "nextcloud.example.com" as opposed to "example.com/nextcloud" Once I found that out, I learned how to add a new server_name to nginx. 

 

So my nginx site-confs default file has this appended to the end:

server {

listen 443 ssl;

server_name cloud.example.com;

ssl_certificate /config/keys/fullchain.pem;
ssl_certificate_key /config/keys/privkey.pem;
ssl_dhparam /config/nginx/dhparams.pem;
ssl_ciphers 'xxxxxxxxxxxxxxxxxxxxxxxx';
ssl_prefer_server_ciphers on;

client_max_body_size 0;

location / {
	proxy_pass https://192.168.1.5:8443;
}
}

 

And the nextcloud config looks like:

$CONFIG = array (
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'datadirectory' => '/data',
  'instanceid' => 'ocbkgz4h8t5f',
  'passwordsalt' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'trusted_domains' => 
  array (
    0 => '192.168.1.5:8443',
    1 => 'example.com:8443',
    2 => 'example.com:443',
    3 => '192.168.1.5:443',
  ),
  'trusted_proxies' => 
  array (
    0 => '192.168.1.5',
    1 => 'example.com',
  ),
  'overwrite.cli.url' => 'https://example.com/nextcloud',
  'dbtype' => 'mysql',
  'version' => '9.0.53.0',
  'dbname' => 'NextCloud',
  'dbhost' => '1921.168.1.5:3306',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'nextcloud',
  'dbpassword' => 'xxxxxxxxxxxx',
  'logtimezone' => 'UTC',
  'installed' => true,
  'maintenance' => false,
  'appstore.experimental.enabled' => true,
);

 

After all of this, I'm able to get access on the Nextcloud android app with my server set to "https://cloud.example.com"

Android app working fine for me via my Apache reverse proxy using SSL.  I have my own domain name and am using ddclient as a dynamic DNS updater.

 

Sent from my LG-H815 using Tapatalk

 

 

The main reason for to not use the reverse proxy was, that the android app it not detecting the installation with the dyndns adress, only with the direct non reversed proxy ip adress inside the lan. And you get that strange error when you try to log out when you are not the in the lan.

Do you know if the android app detects the installation if you use a "normal" address, like mydomain.net instead of a dyndns address?

 

I use my bought domain name. It like mydomain.de. When I use the the normal Nextcloud container on the 443 Port, the Adress works correctly. So it is not that fault i guess.. Or do think it is?

Then I don't think the dynsdns domain is the problem, I thought you had something like "xxx.dyndns.org".

I am having some troubles with reverse proxy on the android app too, without reverse proxy it works perfectly fine.

I have posted in the nextcloud forum, hope someone could help me there.

https://help.nextcloud.com/t/reverse-proxy-with-android-client-does-not-work/3346

 

 

If someone is using nextcloud behind reverse proxy (prefer Nginx), does the android client work? If so, can you share your config?

 

Well, I think you might see me up there in previous posts.  I eventually did get this one to work with my nginx/letsencrypt reverse proxy as well.  So its do-able.  Apparently its good to note that Nextcloud recommends that you setup your domain to be "nextcloud.example.com" as opposed to "example.com/nextcloud" Once I found that out, I learned how to add a new server_name to nginx. 

 

So my nginx site-confs default file has this appended to the end:

server {

listen 443 ssl;

server_name cloud.example.com;

ssl_certificate /config/keys/fullchain.pem;
ssl_certificate_key /config/keys/privkey.pem;
ssl_dhparam /config/nginx/dhparams.pem;
ssl_ciphers 'xxxxxxxxxxxxxxxxxxxxxxxx';
ssl_prefer_server_ciphers on;

client_max_body_size 0;

location / {
	proxy_pass https://192.168.1.5:8443;
}
}

 

And the nextcloud config looks like:

$CONFIG = array (
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'datadirectory' => '/data',
  'instanceid' => 'ocbkgz4h8t5f',
  'passwordsalt' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'trusted_domains' => 
  array (
    0 => '192.168.1.5:8443',
    1 => 'example.com:8443',
    2 => 'example.com:443',
    3 => '192.168.1.5:443',
  ),
  'trusted_proxies' => 
  array (
    0 => '192.168.1.5',
    1 => 'example.com',
  ),
  'overwrite.cli.url' => 'https://example.com/nextcloud',
  'dbtype' => 'mysql',
  'version' => '9.0.53.0',
  'dbname' => 'NextCloud',
  'dbhost' => '1921.168.1.5:3306',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'nextcloud',
  'dbpassword' => 'xxxxxxxxxxxx',
  'logtimezone' => 'UTC',
  'installed' => true,
  'maintenance' => false,
  'appstore.experimental.enabled' => true,
);

 

After all of this, I'm able to get access on the Nextcloud android app with my server set to "https://cloud.example.com"

Thanks for sharing the config, but I want to have "mydomain.com/nextcloud" since I am not able to get "cloud.domain.com" (I am using a free address from No-IP).

 

Android app working fine for me via my Apache reverse proxy using SSL.  I have my own domain name and am using ddclient as a dynamic DNS updater.

 

Sent from my LG-H815 using Tapatalk

 

 

Hmm.. Do you use domain.com/nextcloud or nextcloud.domain.com?

Yeah, but I posted two versions of config.php, 

 

One for https://server.com/nextcloud

one for https://nextcloud.server.com

 

And you appear to have bits of both in yours.....

I think you misunderstand.

My server address is "myserver.ddns.net", then I want to have nextcloud at "myserver.ddns.net/nextcloud".

The reason I don't have "myserver.net" is because this is a free dns name I got from no-ip, and then is adds the "ddns.net" part after my server name. 

 

If there is anything I have missed, please tell me ;)

 

OK, that's cleared it up.  The problem isn't anything to do with the reverse proxy, more to do with the fact that config.php doesn't "match" the way the container is setup via it's internal nginx config.

 

Essentially getting all this working there are three variables:

[*]nginx:  /config/www/nextcloud/config/config.php

[*]nginx:  /config/nginx/site-confs/default (I left this well alone during my write up

[*]Apache: /config/apache/site-confs/default.conf

 

Quick bit of testing and I found this worked for me, change line 30 of /config/nginx/site-confs/default  from

root/config/www/nextcloud/;

to

root /config/www;

 

I have the same problem. And this doesn't help me.

By the way is my Nextcloud server working REALLY slow behind the reverse proxy, all my other apps behind the reverse proxy is blazing fast.

Hi,

 

I tried to follow the guide by CHBMB to install Nextcloud with MariaDB but even when i change the binlog_format to mixed I get the following:

 

An exception occurred while executing 'INSERT INTO `oc_users` ( `uid`, `password` ) VALUES( ?, ? )' with params ["admin", "1|$2y$10$Nl2x6fxx3Xd7c4dsukN4HOIjBW6q3ZAH98il5DL2et3eZpnlgNRPy"]:

 

SQLSTATE[HY000]: General error: 1665 Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.

 

 

I already tried reinstalling and restarting the MariaDB container but still the same.

 

Now I read this:

 

What I did different was

  • edit the custom.cnf file inside the mariadb container so it keeps the file permissions. I think editing the file from the shared folder in my client machine screwed things up and mysql ignored the custom.cnf

 

 

And I'm wondering how to change the file inside the container without accessing it through my smb share.

 

Can someone help me here please?

Hi,

 

I tried to follow the guide by CHBMB to install Nextcloud with MariaDB but even when i change the binlog_format to mixed I get the following:

 

An exception occurred while executing 'INSERT INTO `oc_users` ( `uid`, `password` ) VALUES( ?, ? )' with params ["admin", "1|$2y$10$Nl2x6fxx3Xd7c4dsukN4HOIjBW6q3ZAH98il5DL2et3eZpnlgNRPy"]:

 

SQLSTATE[HY000]: General error: 1665 Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.

 

 

I already tried reinstalling and restarting the MariaDB container but still the same.

 

Now I read this:

 

What I did different was

  • edit the custom.cnf file inside the mariadb container so it keeps the file permissions. I think editing the file from the shared folder in my client machine screwed things up and mysql ignored the custom.cnf

 

 

And I'm wondering how to change the file inside the container without accessing it through my smb share.

 

Can someone help me here please?

 

Have you tried deleting your database and users in MariaDB and tried again?

 

Can easily be done via MySQL Workbench. Just connect to your MariaDB and type "DROP DATABASE nextcloud" or whatever you named your database to.

Then goto users and delete everyone except root (if you don't have any other users running another database). Then try again. Also try using the same password as you have to your MariaDB root user to your nextcloud admin user you are creating.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.