[Support] knex666 - Nextcloud


Recommended Posts

33 minutes ago, Marzel said:

 

ok, than i need to find out how the "Custom Nginx Configuration" in Nginx Proxy Manager work. Haven't had to use it yet.

For this, I have...

 

proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 16384m;
client_max_body_size 0;

 ...in that field and it's working fine.  Can't remember much more about it though since I set it up once and haven't touched it since.

Link to comment
1 hour ago, Cessquill said:

For this, I have...

 


proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 16384m;
client_max_body_size 0;

 ...in that field and it's working fine.  Can't remember much more about it though since I set it up once and haven't touched it since.

 

i'm not a expert put i don't think that some of this would fix my problem. Anyways thank for posting.

 

27 minutes ago, mgutt said:

i tried a different redirect but that redirected to many. But that did the trick and fixed it also for me.

 

Thank you.

Link to comment
  • 2 weeks later...
  • 2 weeks later...
On 3/26/2020 at 10:48 AM, knex666 said:

Hi, 

Please read about docker network you can not reach a brige docker from host or br0 you will See very clear after reading about docker Networks. 

 

There is no Port in the integrated Version. Its just a virtual folder mapping to /apps/... 

Cheers 

Hi @knex666

is there any way to run this docker in br0 with mariadb? I want to run this docker with other IP than the Unraid-IP.

 

Link to comment

Hi, I am completely new to unraid and Docker. So sorry for my stupid questions:

 

How do I get this container running?

 

I set up a MariaDB and tried linuxserver's container first, following this guide:  https://blog.linuxserver.io/2017/05/10/installing-nextcloud-on-unraid-with-letsencrypt-reverse-proxy/

 

This was working just fine, but I would very much prefer a container that is based on the official image and provides OnlyOffice integration. 

 

I am however pretty clueless how to get this up and running. 

 

This is what I did: 

 

I deleted the container and Image in the unraid WebUI, I deleted appdata/nextcloud. I also dropped and recreated the database. 

 

If I just set my Data Path and leave everything in the Template as it is I cannot access the WebUI at http://192.188.2.4:8080. 

 

If I add a Port parameter and map Container Port 80 to Host Port 444, the WebUI is accessible at http://192.188.2.4:8080.

I enter the admin users name and password as well as my database. Howeverm, this gives me a timeout and no page is loading. If I access http://192.188.2.4:444 again, from now on I am presented the login page. I enter user credentials, click login, but then nothing happens.  It tries to redirect me to http://192.168.2.4:444/login?redirect_url=/apps/dashboard/, but I am stuck forever at the login page.  

 

Please help me to get going.

 

Thank you very much. 

 

Link to comment
2 hours ago, ColinMacLaren said:

Hi, I am completely new to unraid and Docker. So sorry for my stupid questions:

 

How do I get this container running?

 

I set up a MariaDB and tried linuxserver's container first, following this guide:  https://blog.linuxserver.io/2017/05/10/installing-nextcloud-on-unraid-with-letsencrypt-reverse-proxy/

 

This was working just fine, but I would very much prefer a container that is based on the official image and provides OnlyOffice integration. 

 

I am however pretty clueless how to get this up and running. 

 

This is what I did: 

 

I deleted the container and Image in the unraid WebUI, I deleted appdata/nextcloud. I also dropped and recreated the database. 

 

If I just set my Data Path and leave everything in the Template as it is I cannot access the WebUI at http://192.188.2.4:8080. 

 

If I add a Port parameter and map Container Port 80 to Host Port 444, the WebUI is accessible at http://192.188.2.4:8080.

I enter the admin users name and password as well as my database. Howeverm, this gives me a timeout and no page is loading. If I access http://192.188.2.4:444 again, from now on I am presented the login page. I enter user credentials, click login, but then nothing happens.  It tries to redirect me to http://192.168.2.4:444/login?redirect_url=/apps/dashboard/, but I am stuck forever at the login page.  

 

Please help me to get going.

 

Thank you very much. 

 

Nextcloud by default is looking for a HTTPS connection.  You'll need to go into the config and make some changes if you don't plan to use SSL connections.  There is a lot of documentation on here, and I know its kind of annoying to dig, but ultimately, you might want to either install a NGINX docker and configure that for Nextcloud, or google Nextcloud http setup and edit the config to allow it to work.

 

Also, there are a lot of tweaks when it comes to NGINX as well.  So if you go that route, make sure you do some digging there.  What works for one person won't necessarily work for the next though.  Because you are uploading files, things to keep in mind: 

Timeouts for file uploads
Authentication
Apps and how they communicate
What you allow into your network

Not sure how much help I was here for you, but I atleast hope I was able to direct you to a better path.

Link to comment

I'm attempting a first time fresh install and have run into the following set of problems:

 

After install is complete and I've added the ExtraParams and PostArgs I'm left in Maintenance mode. 

From the unRaid console I issue:
 

docker exec -u www-data -it Nextcloud /bin/bash
php /var/www/html/occ maintenance:mode --off


This clears the Maintenance mode but now I'm presented with:


Update to 21.0.1

Exception: Updates between multiple major versions and downgrades are unsupported.
Detailed logs

Preparing update

Set log level to debug

Turned on maintenance mode

Exception: Updates between multiple major versions and downgrades are unsupported.

The update was unsuccessful. For more information check our forum post covering this issue.

 

in the browser or

 

www-data@4e8c6e8a1b7c:~/html$ php ./occ upgrade
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
Exception: Updates between multiple major versions and downgrades are unsupported.
Update failed
Maintenance mode is kept active
Resetting log level

 

from the container command line.

 

I've tried a occ maintenance:repair as suggesting in a different forum but still no luck.

 

This seems like a pretty substantial hurdle out of the gate. I could go with SpaceInvaderOne's process but I'm not sure there is enough of a benefit of creating an separate MariaDB container.

 

 

Link to comment

Did you wait until MariaDB has been fully installed? Did you add a new user to MariaDB or did you use the root user (both would be ok, but I like to know your steps).

 

Finally I would say: Delete everything and try it again. Something like "maintenance mode" is not normal.

Link to comment
2 hours ago, mgutt said:

Did you wait until MariaDB has been fully installed? Did you add a new user to MariaDB or did you use the root user (both would be ok, but I like to know your steps).

 

Finally I would say: Delete everything and try it again. Something like "maintenance mode" is not normal.

Is installing MariaDB something that has to be done separately?  I know SpaceInvaderOne's tutorial describes it but its a few years old and wasn't sure if it was still the best practice.

I've removed the docker app and image multiple times.  I am installing from the Community Applications interface choosing "Nextcloud - knex666's Repository" and the steps from the first post in this thread (setting folder rights, not concerned about external access yet). I was under the assumption it has a sqlserver of some fashion bundled if you didn't specify one.

Link to comment
2 hours ago, Wvrent said:

Is installing MariaDB something that has to be done separately? 

Yes, or you are forced to use the default "SQLite", which is a file based and very slow database mechanism. On the first installation page you find options to set the IP and credentials of an external database. If you use MariaDB only for Nextcloud, then you could use "root" as username and the password which you set in the container's settings.

Link to comment
5 hours ago, mgutt said:

Yes, or you are forced to use the default "SQLite", which is a file based and very slow database mechanism. On the first installation page you find options to set the IP and credentials of an external database. If you use MariaDB only for Nextcloud, then you could use "root" as username and the password which you set in the container's settings.

 

Turned out removing the app and the image wasn't enough.  I had to delete the appdata/nextcloud folder.

Of course now that I've had success I find out NC Hub 21 has dumped OnlyOffice for Collabra which I find to be much more sluggish

 

*sigh*

 

Thanks for the help regardless.  Progress has been made.

 

 

Link to comment
  • 3 weeks later...
On 12/11/2020 at 2:56 PM, mikel632 said:

I was running the linuxserver docker before successfully, but decided to give the official docker a try. I installed it and connected it to a mariadb docker and everything went fine. After setup was complete and i logged into the GUI it was horrendously slow. Is there anything I need to do out of the box to get the GUI to be faster? For example, if i click the file's menu or like settings it can take up to like 2 min to load. With the linuxserver docker everything was fast. Any ideas? Even logging into it can take 1-2 min.

 

 

Hi, I'm having this same issue with this particular image. It takes ~2 mins. to display the login page through an Nginx reverse proxy, but is instant when accessing locally. Any ideas?

Link to comment
On 5/19/2021 at 12:11 AM, tmeuze said:

 

Hi, I'm having this same issue with this particular image. It takes ~2 mins. to display the login page through an Nginx reverse proxy, but is instant when accessing locally. Any ideas?

 

Hey everyone,

 

I was wondering why so i setup a reverse proxy with nginx and it sucks so hard. it takes a very long time. without the reverse proxy its there in under a second. So I think we have to investigate on that I dont have any idea. I dont think its about the docker.

Is anyone very familliar to nginx configuration. I will try to find a solution but maybe we can search together. 

 

cheers

  • Thanks 1
Link to comment
2 minutes ago, knex666 said:

it takes a very long time.

Try to optimize your container paths like replacing /mnt/user against /mnt/cache. But having a slow reverse proxy is really strange. Did you check your cpu usage / process list with and without the proxy through htop?

  • Like 1
Link to comment
2 hours ago, knex666 said:

I was wondering why so i setup a reverse proxy with nginx and it sucks so hard. it takes a very long time.

Just had a friend check my URL remotely and it took just under a second to load.  I'm using Nginx Proxy Manager with my advanced settings at the top of this page.  Using the URL locally quick too.  Occasionally use it to deliver/transfer work files and have had no issues.

  • Like 1
Link to comment
43 minutes ago, Cessquill said:

Just had a friend check my URL remotely and it took just under a second to load.  I'm using Nginx Proxy Manager with my advanced settings at the top of this page.  Using the URL locally quick too.  Occasionally use it to deliver/transfer work files and have had no issues.

 

Thanks, your configuration works much better than mine! So nothing to do for me on the docker side ;-) thanks!

  • Like 1
Link to comment
6 hours ago, Cessquill said:

Just had a friend check my URL remotely and it took just under a second to load.  I'm using Nginx Proxy Manager with my advanced settings at the top of this page.  Using the URL locally quick too.  Occasionally use it to deliver/transfer work files and have had no issues.

That's so strange. I have a pretty standard-fare Nginx config. Mind sharing your raw config? I'm not familiar with NPM UI.

 

As @mikel632 said, the linuxserver image doesn't have this issue with the same reverse proxy config.

 

Here's mine

Spoiler

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name sub.domain.com;

    include /config/nginx/ssl.conf;
    # include /config/nginx/geoip-deny-highrisk.conf;
    # include /config/nginx/authelia-server.conf;

    client_max_body_size 0;

    location / {
        include /config/nginx/proxy.conf;
        # include /config/nginx/authelia-location.conf;
        # resolver 127.0.0.11 valid=30s;
        set $upstream_app 10.0.1.20;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
        
        proxy_max_temp_file_size 2048m;
    }
}

proxy.conf


# Timeout if the real server is dead
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

# Proxy Connection Settings
proxy_buffers 32 4k;
proxy_connect_timeout 240;
proxy_headers_hash_bucket_size 128;
proxy_headers_hash_max_size 1024;
proxy_http_version 1.1;
proxy_read_timeout 240;
# proxy_redirect  http://  $scheme://;
proxy_send_timeout 240;

# Proxy Cache and Cookie Settings
proxy_cache_bypass $cookie_session;
#proxy_cookie_path / "/; Secure"; # enable at your own risk, may break certain apps
proxy_no_cache $cookie_session;

# Proxy Header Settings
proxy_set_header Connection $connection_upgrade;
proxy_set_header Early-Data $ssl_early_data;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
# proxy_set_header X-Forwarded-Proto https;
# proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Real-IP $remote_addr;

ssl.conf



## Version 2020/10/29 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/ssl.conf

### Mozilla Recommendations
# generated 2020-06-17, Mozilla Guideline v5.4, nginx 1.18.0-r0, OpenSSL 1.1.1g-r0, intermediate configuration
# https://ssl-config.mozilla.org/#server=nginx&version=1.18.0-r0&config=intermediate&openssl=1.1.1g-r0&guideline=5.4

ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
ssl_session_tickets off;

# intermediate configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;

# OCSP stapling
ssl_stapling on;
ssl_stapling_verify on;


### Linuxserver.io Defaults

# Certificates
ssl_certificate /config/keys/letsencrypt/fullchain.pem;
ssl_certificate_key /config/keys/letsencrypt/privkey.pem;
# verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /config/keys/letsencrypt/fullchain.pem;

# Diffie-Hellman Parameters
ssl_dhparam /config/nginx/dhparams.pem;

# Resolver
resolver 127.0.0.11 valid=30s; # Docker DNS Server

# Enable TLS 1.3 early data
ssl_early_data on;

# HSTS, remove # from the line below to enable HSTS
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;

add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";

# Optional additional headers
#add_header Cache-Control "no-transform" always;
# add_header Content-Security-Policy "upgrade-insecure-requests; frame-ancestors 'self' https://*.andro.pw";
add_header Referrer-Policy "same-origin" always;
add_header X-Content-Type-Options "nosniff" always;
# add_header X-Frame-Options "SAMEORIGIN" always;
#add_header X-UA-Compatible "IE=Edge" always;
#add_header X-XSS-Protection "1; mode=block" always;

 

 

Edited by tmeuze
Formatting
Link to comment
18 hours ago, tmeuze said:

Mind sharing your raw config?

The redacted conf file that NPM creates is below.  Not sure of the ssl and proxy files - will need to dig around...

 

server {
  set $forward_scheme http;
  set $server         "192.168.1.10";
  set $port           8088;

  listen 8080;
listen [::]:8080;

listen 4443 ssl http2;
listen [::]:4443;


  server_name my.domain.com


  # Let's Encrypt SSL
  include conf.d/include/letsencrypt-acme-challenge.conf;
  include conf.d/include/ssl-ciphers.conf;
  ssl_certificate /etc/letsencrypt/live/npm-8/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/npm-8/privkey.pem;




# Asset Caching
  include conf.d/include/assets.conf;


  # Block Exploits
  include conf.d/include/block-exploits.conf;



  # HSTS (ngx_http_headers_module is required) (31536000 seconds = 1 year)
  add_header Strict-Transport-Security "max-age=31536000;includeSubDomains; preload" always;




  access_log /config/log/proxy_host-18.log proxy;

proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 16384m;
client_max_body_size 0;





  location / {

    


    # Force SSL
    include conf.d/include/force-ssl.conf;




  # HSTS (ngx_http_headers_module is required) (31536000 seconds = 1 year)
  add_header Strict-Transport-Security "max-age=31536000;includeSubDomains; preload" always;




    
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    proxy_http_version 1.1;
    

    # Proxy!
    include conf.d/include/proxy.conf;
  }


  # Custom
  include /data/nginx/custom/server_proxy[.]conf;
}

 

  • Thanks 1
Link to comment
  • knex666 changed the title to [Support] knex666 - Nextcloud

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.