[Support] Linuxserver.io - Nextcloud


Recommended Posts

Yes. In several different containers. Check my earlier post about it and the one I use now. 
 
Edit: I got it from Docker hub. No container with unraid template available. 

Add container button
Name: ClamAV
Repository: mkodockx/docker-clamav
Icon URL: http://www.clamav.net/assets/clamav-trademark.png
Extra Parameters: --restart=unless-stopped
Network Type: "Custom : Br0"
Fixed IP address (optional): 192.168.1.xx
Added extra path for logs, want easy access: Container Path: /var/log/clamav. Host path: /mnt/user/appdata_array/clamav/logs/
See screenshots in earlier post.

Edit 2: Added my template.
my-ClamAV.xml
Sweet thanks

Sent from my SM-N960U using Tapatalk

Link to comment
9 hours ago, Niklas said:

Yes. In several different containers. Check my earlier post about it and the one I use now. 

 

Edit: I got it from Docker hub. No container with unraid template available. 

Add container button
Name: ClamAV
Repository: mkodockx/docker-clamav
Icon URL: http://www.clamav.net/assets/clamav-trademark.png
Extra Parameters: --restart=unless-stopped
Network Type: "Custom : Br0"
Fixed IP address (optional): 192.168.1.xx
Added extra path for logs, want easy access: Container Path: /var/log/clamav. Host path: /mnt/user/appdata_array/clamav/logs/
See screenshots in earlier post.

Edit 2: Added my template.

my-ClamAV.xml

Thanks for this, I ended up doing the same thing.

 

However, for some reason I'm seeing this in my Nexloud logs:

Error	files_antivirus	RuntimeException: The ClamAV module is not in daemon mode.

And this in my ClamAV logs:

Sat Mar 30 23:51:06 2019 -> ^Clamd was NOT notified: Can't connect to clamd through /var/run/clamav/clamd.ctl: No such file or directory

Strangely enough, when I open a bash into the container I can see the clamd.ctl file where it is supposed to be...

 

I set up everything the same way you have it. Any idea what the issue might be?

Edited by zandrsn
updated to mention that the file IS there.
Link to comment

Hi, got this docker up and running and it's working great. Thx!!

 

I'm trying to finalize my backup solution and am currently thinking of using Crashplan to just backup the entire share folder every night.  Any reason why this wouldn’t be a good idea?

 

Also using AppBackup for the docker.

Link to comment
8 hours ago, zandrsn said:

Thanks for this, I ended up doing the same thing.

 

However, for some reason I'm seeing this in my Nexloud logs:


Error	files_antivirus	RuntimeException: The ClamAV module is not in daemon mode.

And this in my ClamAV logs:


Sat Mar 30 23:51:06 2019 -> ^Clamd was NOT notified: Can't connect to clamd through /var/run/clamav/clamd.ctl: No such file or directory

Strangely enough, when I open a bash into the container I can see the clamd.ctl file where it is supposed to be...

 

I set up everything the same way you have it. Any idea what the issue might be?

I see the same "NOT notified" but I think we can disregard it. I saw it in other ClamAV containers too.

 

No clear answer here:
https://github.com/mko-x/docker-clamav/issues/12
But, as I said. It's only at startup and could probably be ignored.

Edited by Niklas
Link to comment

Hi All,

 

I have a new install of Nextcloud up and running. Thanks to loads of info on here I have been "cleaning up" a bit.  I have one security Issue I'm having trouble with. 

 

My understanding is that I need to add the lines:

 

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";

add_header Front-End-Https on;

 

Into my  letsencrypt/nginx/proxy-config/Nextcloud.subdomain.config?   When I do I get a 502 bad gateway error.

Anyone have advise on how to resolve? 

NCerror.jpg

Link to comment

Hi All, 

 

Having an issues with connecting to the nextcloud page. Every time I go to the IP I get "page cannot be loaded" error unless I'm running on network mode br0. 

 

I have verified the log and everything seems to be fine. 

 

So far I've tried br0, host, bridge, custom proxy. I was able to connect using br0, however I would like to connect to it remotely which requires either bridge or the proxy network. 

 

Any ideas? 

 

Thanks, 

 

 

Link to comment
On 3/30/2019 at 7:17 PM, Niklas said:

Yes. In several different containers. Check my earlier post about it and the one I use now. 

 

Edit: I got it from Docker hub. No container with unraid template available. 

Add container button
Name: ClamAV
Repository: mk0x/docker-clamav:alpine
Icon URL: http://www.clamav.net/assets/clamav-trademark.png
Extra Parameters: --restart=unless-stopped
Network Type: "Custom : Br0"
Fixed IP address (optional): 192.168.1.xx
Added extra path for logs, want easy access: Container Path: /var/log/clamav. Host path: /mnt/user/appdata_array/clamav/logs/
See screenshots in earlier post.

Edit 2: Added my template.

 

my-ClamAV.xml

 

Changed to the new container built on alpine. A lot smaller now. Old one was Debian. Just change "Repository:" to mk0x/docker-clamav:alpine
After that, delete the orphan image in your Docker container list.

Edited by Niklas
Link to comment
On 8/19/2017 at 8:14 PM, Diggewuff said:

Hey,

im currently having an issue while downloading larger files.

I have configured my Nextcloud with LS lets encrypt docker, and when I'm downloading a large file or folder which then is put into a tar container the download is aborting at 1 GB.

Could that be a configuration error? At witch points could download size limits be configured? Via local network Downloads are not aborting! 

I suppose it's the reverse proxy.


#***.***********.de

server {
    listen 443 ssl http2;
    server_name ***.***********.de;

    root /config/www;
        index index.html index.htm index.php;

    ###SSL Certificates
    ssl_certificate /config/keys/letsencrypt/fullchain.pem;
        ssl_certificate_key /config/keys/letsencrypt/privkey.pem;

    ###Diffie–Hellman key exchange ###
    ssl_dhparam /config/nginx/dhparams.pem;

    ###SSL Ciphers
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:**********************';

        ###Extra Settings###
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

    ### Add HTTP Strict Transport Security ###
    #add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
    add_header Front-End-Https on;

    client_max_body_size 0;

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

 

Finally i found a solution to people who will experience this problem.

Downloads/uploads for bigger files are impossible, 1gb+. Connection gets disconnected or is painfully slow. Well-known problem here and reddit threads.

This problem appears on this container with reverse proxy tutorial and when u make reverse proxy with NginxProxyManager.

 

Add to nginx.config or virtual host config file in reverse proxy. Depends on your configuration.

 

client_max_body_size      2000m;

proxy.conf extra lines

proxy_temp_file_write_size 64k;
proxy_connect_timeout 10080s;
proxy_send_timeout 10080;
proxy_read_timeout 10080;
proxy_buffer_size 64k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_redirect off;
proxy_request_buffering off;
proxy_buffering off; 

---------------------

nextcloud php-fpm

 

pm = ondemand
pm.max_children = 25
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5

nextcloud php.ini

memory_limit = 512M

 

Redis cache is also suggested. Install redis container and add these lines to nextcloud.

 

config.php

  'memcache.local' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => 'IP',
    'port' => 6379,
  ),

 

 

Edited by ufo56
Link to comment

Hi,

 

I have one Issue left, after the Nextcloud Update 15.0.6.

Quote

- MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL. For further details read the documentation page about this.

 

I checked already my mariadb tables and there is one column missing.

ERROR 1054 (42S22): Unknown column 'FILE_FORMAT' in 'field list'

 

So I tried to follow the instructions on the Docs but I did not find any solution to add this column.

I am not 100% sure how to add the missing key.

ALTER TABLE 'oc_accounts' ADD KEY 'FILE_FORMAT' USING barracuda;


I am not sure about the type. Is it barracuda?
And the Syntax, is it correct?

 

And than I have to do it for all tables listed with this command:

SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME like "nextcloud%";

Or is there maybe a way to do it safer / more easy?

 

Thank you.

Link to comment
On 4/6/2019 at 1:45 AM, Serenity_Duck said:

Hi,

 

I have one Issue left, after the Nextcloud Update 15.0.6.

 

I checked already my mariadb tables and there is one column missing.


ERROR 1054 (42S22): Unknown column 'FILE_FORMAT' in 'field list'

 

So I tried to follow the instructions on the Docs but I did not find any solution to add this column.

I am not 100% sure how to add the missing key.


ALTER TABLE 'oc_accounts' ADD KEY 'FILE_FORMAT' USING barracuda;


I am not sure about the type. Is it barracuda?
And the Syntax, is it correct?

 

And than I have to do it for all tables listed with this command:


SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME like "nextcloud%";

Or is there maybe a way to do it safer / more easy?

 

Thank you.


What MariaDB-container are you running? Updated? If MariaDB 10.3 or later you only need innodb_file_per_table=1 in custom.cnf

 

Look at the instructions again:

The instructions for MariaDB 10.3 OR LATER tells you:


Make sure that you have innodb_file_per_table=1 in your /appdata/mariadb/custom.cnf
It then tells you to "Continue at step 2 of the MySQL instructions."

Step 2 of the MySQL instructions:

Change your databases character set and collation:

ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Edit: Look HERE to see where and how to enter this command.

Edit: The following steps should be done in the console for the nextcloud container.


Step 3:

Set the mysql.utf8mb4 config to true in your config.php:

sudo -u abc php /config/www/nextcloud/occ config:system:set mysql.utf8mb4 --type boolean --value="true"

Step 4:

Convert all existing tables to the new collation by running the repair step:

sudo -u abc php /config/www/nextcloud/occ maintenance:repair

I have changed the syntax for the console commands in step 3 and 4 to fit this container.

MariaDB 10.3 and later does not have the FILE_FORMAT key. I guess barracuda is the default from 10.3 and up.

Edited by Niklas
Added some clarifications
  • Like 2
Link to comment
7 hours ago, Niklas said:


What mariadb-docker are you running? Updated? If MariaDB 10.3 or later you only need innodb_file_per_table=1 in custom.cnf

 

Look at the instructions again:

The instructions for mariadb 10.3 OR LATER tells you:


Make sure that you have innodb_file_per_table=1 in your \appdata\mariadb\custom.cnf
It then tells you to "Continue at step 2 of the MySQL instructions."

Step 2 of the MySQL instructions:

Change your databases character set and collation:

ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Step 3:

Set the mysql.utf8mb4 config to true in your config.php:

$ sudo -u abc php /config/www/nextcloud/occ config:system:set mysql.utf8mb4 --type boolean --value="true"

Step 4:

Convert all existing tables to the new collation by running the repair step:

$ sudo -u abc php /config/www/nextcloud/occ maintenance:repair

I have changed the syntax for the sudo commands to fit this container.

mariadb 10.3 or later does not have the FILE_FORMAT key. I guess barracuda is the default from 10.3 and on.

Hi,

 

Yes thanks that work for me!

 

I thing that when I tried the step 2 the first time it did not work correctly.

 

And Yes my Mariadb is at 10.3 :)

 

Thank you!
 

Edited by Serenity_Duck
add mariadb version
  • Like 1
Link to comment

Hello! thanks so much for putting this docker together. Looks like it's working like a charm... probably not renewing my Dropbox subscription next year.

 

Anyway! I just wanted to ask if it could be possible that the nextcloud docker is avoiding my disk where the nextcloud share is to go to stand-by mode? Even if it's not syncing anything since yesterday, I'm still seeing my disk up. If yes, is there a way I can avoid this and let my disk to go to sleep? 

 

Thanks!

Link to comment

I need help with this statement:

 

Step 2 of the MySQL instructions:

Change your databases character set and collation:

ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

 

I have no idea where or how this is supposed to be entered?

 

I have made the change to my cnf file but that's as far as I get.

 

Probably shouldn't be trying this without more guidance ...

Link to comment
11 hours ago, dstanley said:

I need help with this statement:

 

Step 2 of the MySQL instructions:

Change your databases character set and collation:

ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

 

I have no idea where or how this is supposed to be entered?

 

I have made the change to my cnf file but that's as far as I get.

 

Probably shouldn't be trying this without more guidance ...

Something like this should work...


1. Open console to the mariadb container.

 

2. Type mysql followed by enter.
If this gives you problems, try mysql --user=root

You should see some information and help. Cursor should be at "MariaDB [(none)]>  "

3. Paste the sql query: 
ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 

and press enter. Be sure to include the ; at the end.
You should see something like "Query OK, 1 row affected".

If you have named your database differently from standard install, change the "nextcloud" bit in the command to fit your config.

 

4. Type quit followed by enter.

 

You can now close the console window.

 

Run the other 2 commands in the console for the Nextcloud container. 

 

I think this should work. I started to use this container not that long ago so I don't need to do anything. It was done for me automatically when deploying this awesome container. :)

Edited by Niklas
Added some info and rearranged instructions to make some stuff more clear.
  • Like 2
Link to comment
2 hours ago, Niklas said:

Something like this should work...


1. Open console to the mariadb container.

 

2. Type mysql followed by enter.
If this gives you problems, try "mysql --user=root"

You should see some information and help. Cursor should be at "MariaDB [(none)]>"

3. Paste the command and press enter.
Be sure to include the ; at the end, you should see something like "Query OK, 1 row affected".

 

4. Lastly, enter "quit" followed by enter.

 

You can now close the console window.

 

Run the other 2 commands in the console for the Nextcloud container. 

 

I think this should work. I started to use this container not that long ago so I don't need to do anything. It was done for me automatically when deploying this awesome container. :)

Edit: If you have named your database differently from standard install, change the "nextcloud" bit in the sql command to fit your config.

Thank you so much Niklas - this worked out great with your help!

I could not have completed this without your help ...

 

Dwight

  • Like 1
Link to comment
2 minutes ago, bobokun said:

Anyone getting an error trying to share a folder after updating to 15.0.6? I just receive a generic "Unable to create a link share" message when I try to create a share link. This was working previously prior to the update.


Just tried. Works here.

Link to comment

Hi all. I'm a new NextCloud user and I followed Spaceinvader One's great video tutorial (Thanks Spaceinvader One!).

 

I managed to setup NextCloud and the reverse proxy OK (it's functional), but I'm seeing speeds between KB/s and low MB/s speeds when either uploading or downloading files to/from NextCloud on a gigabit local network. If I copy the same files using file explorer in Windows, I hit 80 - 90 MB/s when uploading to the Unraid server shares directly (no cache). When I Google around, I see people reporting NextCloud speeds in the 80 - 90 MB/s range, so it seems something is wrong.

 

Here is what I've speculated is the problem:

  • There could be a problem with my reverse proxy setup, such as:
    • Slow HTTPS encryption bottle-necking performance???
    • My desktop is failing to make a direct LAN connection with NextCloud and is going to the internet to reach my server. Even if I try to connect to NextCloud directly using the IP address, it is always resolved to the duckdns address I setup.
  • Database performance related
    • NextCloud is recommending I install Redis - which I can't seem to configure properly without breaking the NextCloud Server (I get a Internal Server Error 500 message. I was having some file locking errors initially, but these seem to have gone away for now.

Any help would be much appreciated. If it would help to see any configuration files, please let me know which.

  • Like 1
Link to comment
Hi all. I'm a new NextCloud user and I followed Spaceinvader One's great video tutorial (Thanks Spaceinvader One!).
 
I managed to setup NextCloud and the reverse proxy OK (it's functional), but I'm seeing speeds between KB/s and low MB/s speeds when either uploading or downloading files to/from NextCloud on a gigabit local network. If I copy the same files using file explorer in Windows, I hit 80 - 90 MB/s when uploading to the Unraid server shares directly (no cache). When I Google around, I see people reporting NextCloud speeds in the 80 - 90 MB/s range, so it seems something is wrong.
 
Here is what I've speculated is the problem:
  • There could be a problem with my reverse proxy setup, such as:
    • Slow HTTPS encryption bottle-necking performance???
    • My desktop is failing to make a direct LAN connection with NextCloud and is going to the internet to reach my server. Even if I try to connect to NextCloud directly using the IP address, it is always resolved to the duckdns address I setup.
  • Database performance related
    • NextCloud is recommending I install Redis - which I can't seem to configure properly without breaking the NextCloud Server (I get a Internal Server Error 500 message. I was having some file locking errors initially, but these seem to have gone away for now.
Any help would be much appreciated. If it would help to see any configuration files, please let me know which.
If you find the solution. Please let me know I really gave up on that

Sent from my Pixel 2 XL using Tapatalk

Link to comment
8 hours ago, ufo56 said:

few posts back 

 

Thanks for the suggestion ufo56.

 

I had actually tried implementing all of your suggestions a few days ago, but the Redis changes crashed NextCloud and caused an "Internal Error" message in the docker UI (I realized my mistake and noted it below). 

 

This time I went back and added your changes individually. All testing was done on an gigabit LAN either uploading to my nextcloud share, which writes to a SSD cache, or downloading to an SSD:

 

The upload baseline is the following, I see peaks up to 200 - 260 mbps (~30 MB/s) during upload, but transfer is not very steady, so the overall speed isn't great. See the attached image network performance image below "Nextcloud Upload Before Changes.png". Pretty slow for SSD to SSD transfer over gbit connection.

 

The download baseline is better, I see rather consistent transfer speeds of ~310 mbps (~38 MB/s).

 

First I changed the proxy.conf file by adding or changing the following lines in \appdata\letsencrypt\nginx. I then restarted the LetsEncrypt and NextCloud dockers. After making this change, I saw no noticeable difference in file transfer speed and it had the same bursty behavior as illustrated in the image I referenced above.

 

Quote

proxy.conf extra lines

 

proxy_temp_file_write_size 64k;

proxy_connect_timeout 10080s;

proxy_send_timeout 10080;

proxy_read_timeout 10080;

proxy_buffer_size 64k;

proxy_buffers 16 32k;

proxy_busy_buffers_size 64k;

proxy_redirect off;

proxy_request_buffering off;

proxy_buffering off;

 

Next I implemented the php-fpm changes. I did this by adding the following lines to the end of the www2.conf file in /appdata/nextcloud/php, hopefully that was the correct place and manner to make the change. I then restarted the NextCloud docker. After making this change, I saw no noticeable difference in file transfer speed and it had the same bursty behavior as illustrated in the image I referenced above.

 

Quote

nextcloud php-fpm

 

pm = ondemand

pm.max_children = 25

pm.start_servers = 2

pm.min_spare_servers = 1

pm.max_spare_servers = 5

 

Next I implemented the changes in php.ini. I did this by adding the following lines to the end of the php-local.ini file in /appdata/nextcloud/php, hopefully that was the correct place and manner to make the change. I then restarted the NextCloud docker. After making this change, I saw no noticeable difference in file transfer speed and it had the same bursty behavior as illustrated in the image I referenced above.

 

Quote

nextcloud php.ini

 

memory_limit = 512M

 

Next I enabled the Redis cache. After installing RedisI made those changes in the config.php file in  \appdata\nextcloud\www\nextcloud\config. A mistake I was making previously was that you must replace IP with your server IP. For some reason I thought it would automatically grab the IP. This error was causing the Internal Server Error issue I had earlier. I then restarted the NextCloud docker.

 

Quote

config.php

 

'memcache.local' => '\\OC\\Memcache\\Redis',

'memcache.locking' => '\\OC\\Memcache\\Redis',

'redis' => array (

'host' => 'IP',

'port' => 6379,

),

 

With all of these changes in place, nothing has changed and I'm still seeing the bursty upload behavior. I am also noticing that the peak burst upload speeds fall off over time. After transferring a few GB, speeds have fallen by about 50%. See attached "Nextcloud Upload After Changes Steady State.png".

 

If I pause, wait a couple seconds, and then resume, the transfer is restored to "full speed" again, see attached "Nextcloud Upload After Changes Pause and Restart.png".

 

So there appears there may be two issues:

  1. My max download speed appears to be limited to ~310 mbps (~38 MB/s)
  2. My max upload speed is similarly limited, but it also bursty, with an average transfer speed between 100 and 150 mbps (~12 - 18 MB/s)

Any additional thoughts would be greatly appreciated.

 

Nextcloud Upload Before Changes.png

Nextcloud Upload Before Changes.PNG

 

Nextcloud Download After Changes.png

Nextcloud Download.PNG

 

Nextcloud Upload After Changes Steady State.png

Nextcloud Upload After Changes Steady State.PNG

 

Nextcloud Upload After Changes Pause and Restart.png

Nextcloud Upload After Changes Pause and Restart.PNG

Edited by 3doubled
  • Like 1
Link to comment
 
With all of these changes in place, nothing has changed and I'm still seeing the bursty upload behavior. I am also noticing that the peak burst upload speeds fall off over time. After transferring a few GB, speeds have fallen by about 50%. See attached "Nextcloud Upload After Changes Steady State.png".
 
If I pause, wait a couple seconds, and then resume, the transfer is restored to "full speed" again, see attached "Nextcloud Upload After Changes Pause and Restart.png".
 
So there appears there may be two issues:
  1. My max download speed appears to be limited to ~310 mbps (~38 MB/s)
  2. My max upload speed is similarly limited, but it also bursty, with an average transfer speed between 100 and 150 mbps (~12 - 18 MB/s)
Any additional thoughts would be greatly appreciated.
 
Nextcloud Upload Before Changes.png
1305788530_NextcloudUploadBeforeChanges.PNG.fc98fcdca7ba8320bce5396ab48dd445.PNG
 
Nextcloud Download After Changes.png
1817401271_NextcloudDownload.PNG.89003ca9d82a6171a2359e9be61ba21d.PNG
 
Nextcloud Upload After Changes Steady State.png
1687789065_NextcloudUploadAfterChangesSteadyState.PNG.653f899125c53f412be20245649a124c.PNG
 
Nextcloud Upload After Changes Pause and Restart.png
685855072_NextcloudUploadAfterChangesPauseandRestart.PNG.a235e2a43d6770a57cbeac1c898b9406.PNG
Yes. I'm on the safe boat

Sent from my Pixel 2 XL using Tapatalk

Link to comment

The spikes during upload transfer seem to be related to mysql performance. This person did some testing and was able to improve transfer speeds, especially for small files. The issue is that the biggest improvement comes from a change that is inherently less safe, so this is not a great option.

 

Here is a 2.5 GB file being uploaded:

 

This is the default with innodb_flush_log_at_trx_commit = 11518572826_innodb_flush_log_at_trx_commit-1.PNG.40830df40c204108d25093ffb852b0e2.PNG

 

This is with innodb_flush_log_at_trx_commit = 2912910768_innodb_flush_log_at_trx_commit-2.PNG.6caa953d253cb501441a5117aa2555e4.PNG

 

This is with innodb_flush_log_at_trx_commit = 51873959317_innodb_flush_log_at_trx_commit-5.PNG.c4b1b498d3e2e62dd9c4cf41e6fff9e0.PNG

 

No other innodb setting change suggested in forums has made a significant impact, but that one certainly helps. Small file performance seems a bit better, but it still isn't great.

 

The problem is that it weakens power loss protection so many suggest against this type of change.

 

I still have no idea what is bottle necking the upper limit of performance, but there is obviously a beyond nextcloud issue here, as its also reported with owncloud.

Link to comment

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.