[support] dlandon - ownCloud


Recommended Posts

I'm using it as a reverse proxy so I don't have to setup SSL for every app I use and I don't have to open ports for every app on my router. I only have 80 and 443 open and everything goes through traefik. That's why it sucks that I can't just disable https for owncloud, traefik already does that for me.  
One more question if I may, why does it say "Set Network to br0 and assign a static IP address." in the config of owncloud? What does that accomplish? 

Edited by shrtrnd
Link to comment
6 minutes ago, shrtrnd said:

That's why it sucks that I can't just disable https for owncloud, traefik already does that for me. 

The ownCloud docker was developed to be as secure as possible for those not experienced with security and wanting ownCloud access on the net.  Feel free to fork the Docker and make your own if it's such a problem.

 

10 minutes ago, shrtrnd said:

if I may, why does it say "Set Network to br0 and assign a static IP address."

It is easier to manage ownCloud access if it is on it's own IP address.  If you don't do this and you don't have a static IP address on Unraid, you can't port forward because the IP address changes.

Link to comment
5 minutes ago, dlandon said:

The ownCloud docker was developed to be as secure as possible for those not experienced with security and wanting ownCloud access on the net.  Feel free to fork the Docker and make your own if it's such a problem.

 

It is easier to manage ownCloud access if it is on it's own IP address.  If you don't do this and you don't have a static IP address on Unraid, you can't port forward because the IP address changes.

LIke I said, I'm not really that experienced with docker and or linux, so forking it would probably be too much hassle for me. It's fine though, I can just use it with the treafik label I'm using now that just skips the certificate check. And since it's both running on the same machine, a man in the middle attack is highly unlikely. 
Now I just need to get it to work with a subdirectory. I'll figure it out (eventually) :D

Ah so if I am using a static IP for unraid, it doesn't make much of a difference if I use one for the docker or not right? I'll just leave it on bridge mode then. 

Thanks!

Edited by shrtrnd
Link to comment
  • 5 weeks later...

@dlandon Your OwnCloud docker ran fine for about a year. Other than auto-updates I had no reason to ever change something, but a few days ago my calendars stopped to synchronize. Checking the web interface for reasons I found this instead:

Exception occurred while logging exception: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [2002] No such file or directory
#0 /config/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\DB\Connection->connect()
#1 /config/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion()
#2 /config/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\DBAL\Connection->detectDatabasePlatform()
#3 /config/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(623): Doctrine\DBAL\Connection->getDatabasePlatform()
#4 /config/www/owncloud/lib/private/DB/Connection.php(145): Doctrine\DBAL\Connection->setTransactionIsolation(2)
#5 /config/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\DB\Connection->__construct(Array, Object(Doctrine\DBAL\Driver\PDOMySql\Driver), Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#6 /config/www/owncloud/lib/private/DB/ConnectionFactory.php(145): Doctrine\DBAL\DriverManager::getConnection(Array, Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#7 /config/www/owncloud/lib/private/Server.php(493): OC\DB\ConnectionFactory->getConnection('mysql', Array)
#8 /config/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#9 /config/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(111): Pimple\Container->offsetGet('DatabaseConnect...')
#10 /config/www/owncloud/lib/private/ServerContainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('DatabaseConnect...')
#11 /config/www/owncloud/lib/private/Server.php(1160): OC\ServerContainer->query('DatabaseConnect...')
#12 /config/www/owncloud/lib/private/Server.php(370): OC\Server->getDatabaseConnection()
#13 /config/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#14 /config/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(111): Pimple\Container->offsetGet('AppConfig')
#15 /config/www/owncloud/lib/private/ServerContainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('AppConfig')
#16 /config/www/owncloud/lib/private/Server.php(1089): OC\ServerContainer->query('AppConfig')
#17 /config/www/owncloud/lib/private/Server.php(547): OC\Server->getAppConfig()
#18 /config/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#19 /config/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(111): Pimple\Container->offsetGet('AppManager')
#20 /config/www/owncloud/lib/private/ServerContainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('AppManager')
#21 /config/www/owncloud/lib/private/Server.php(1359): OC\ServerContainer->query('AppManager')
#22 /config/www/owncloud/lib/private/legacy/app.php(346): OC\Server->getAppManager()
#23 /config/www/owncloud/lib/private/legacy/app.php(110): OC_App::getEnabledApps()
#24 /config/www/owncloud/lib/base.php(579): OC_App::loadApps(Array)
#25 /config/www/owncloud/lib/base.php(998): OC::init()
#26 /config/www/owncloud/index.php(54): require_once('/config/www/own...')
#27 {main}

Looks like something very much internal to the docker. I tried (after backing up appdata) a forced update, to remove the container and cleanly reinstall it, changing the additional options, the network interface (since intermediately I had no access to the web GUI at all) - all without success.

 

Any pointers, please?!

Link to comment

So the database doesn‘t live inside the container, but somewhere more globally (you implied otherwise on page 1 of this post)? And perhaps other installations could make use of the same database and potentially mess it up?

So: how do I set it up „properly“? Did I miss a guide, tutorial or something?

Edited by Oppaunke
Link to comment
2 hours ago, Oppaunke said:

So the database doesn‘t live inside the container, but somewhere more globally (you implied otherwise on page 1 of this post)? And perhaps other installations could make use of the same database and potentially mess it up?

So: how do I set it up „properly“? Did I miss a guide, tutorial or something?

Mariadb is built in to the Docker.  You can optionally use an external database.

 

When you start the docker the first time, leave the 'localhost' alone and enter 'owncloud' for all the other fields.  You will then be using the internal database.

 

EDIT:  Like this:

 

Edited by dlandon
Link to comment

I managed to get into the webinterface by deleting the .../www/owncloud folder. But when I try to use the internal db as you describe I get the same `no such file or directory’ error, only in the webinterface. How can I really start over from scratch? Do I need a new docker.img? Since you obviously prepared an empty database to start out of the box and deleting appdata/ownCloud doesn‘t touch it: where is it located?

Link to comment
2 hours ago, Oppaunke said:

I managed to get into the webinterface by deleting the .../www/owncloud folder. But when I try to use the internal db as you describe I get the same `no such file or directory’ error, only in the webinterface. How can I really start over from scratch? Do I need a new docker.img? Since you obviously prepared an empty database to start out of the box and deleting appdata/ownCloud doesn‘t touch it: where is it located?

You need to delete the docker image and the appdata folder and start over.

Link to comment

May it help others: I restored an Appdata backup and edited the custom.cnf file by adding the entry „innodb_log_files_in_group = /config/logs“ which created two new log containers and enabled the start of mysqld. The original files were corrupted due to my cache drive ran out of space caused by a vm...

Link to comment
  • 1 month later...

Hello there ^_^

im trying out Unraid and so far im completely up for it - just works great.
Also tried out your Docker of OwnCloud and managed to get it running completely behind 2 routers - also access from outside (my phone) via the OwnCloud App works great.

The only thing i would love to do --> put the /data folder onto my NAS HDD instead of the Cache Drive (mnt/disk1/OwnCloud)

 - The Data Folder atm is on my CacheDrive (mnt/cache/appdata/owncloud/www/owncloud/data/)

 - i would like to have it on my array disk1 in one of my shares (mnt/disk1/OwnCloud/)

 

What ive already tried:

- reinstalling it completely, clicking "edit" to edit the host path which is atm /mnt/user/appdata/ownCloud/data (at the Docker Configuration page before installation starts)

-> no matter which combination i try

---> host path to /mnt/disk1/owncloud or /mnt/disk1/owncloud/data (no matter if those folders are existing or not --> not working)

---> container path always remains /data (in my eyes its a value not to be changed - right?)

-> also tried to manually edit the /config/config.php

---> data path to /mnt/disk1/owncloud or /mnt/disk1/owncloud/data --> not working

 

- changin data folder at the initialisation page at first start of owncloud from "/config/www/owncloud/data" to

---> /mnt/disk1/owncloud or /mnt/disk1/owncloud/data --> not working

 

- listing all users and groups via cut -d: -f1 /etc/passwd and cat /etc/group shows me that the user is "nobody" and the group is "users"

 

- creating all those folders and giving them the same rights (via sudo chown -R nobody:users /-data path-/) as the other files/folders have --> "drwxr-xr-x 1 nobody user"  --> not working

 

- cp -ar /mnt/cache/appdata/owncloud/www/owncloud/data /mnt/disk1/owncloud --> copies the folder with all rights correctly

- creating a softlink via ln -s /mnt/disk1/owncloud/data /mnt/cache/appdata/owncloud/www/owncloud (and also editing the rights matching) --> not working

 

what i get:

- editing anything at the Docker Configuration page before the installation starts - doesnt changes anything - the data folder will always be on my cache drive

- editing the data folder path at the initialisation page at first start of owncloud results in "can not write or create data folder" (no matter which rights i give)

- moving the data folder and using a softlink gives me a page that data folder isnt reachable and .ocdata should be in the main folder

 

Question:

 - how can i get the data folder onto my disk1 ?

 - does owncloud accept softlinks?

 - was anything i already did somewhat right? xD (asides i learned a few things xD)

 

Thanks for your Help!

 

Greets SAM

 

Link to comment
1 hour ago, CrazySam said:

Hello there ^_^

im trying out Unraid and so far im completely up for it - just works great.
Also tried out your Docker of OwnCloud and managed to get it running completely behind 2 routers - also access from outside (my phone) via the OwnCloud App works great.

The only thing i would love to do --> put the /data folder onto my NAS HDD instead of the Cache Drive (mnt/disk1/OwnCloud)

 - The Data Folder atm is on my CacheDrive (mnt/cache/appdata/owncloud/www/owncloud/data/)

 - i would like to have it on my array disk1 in one of my shares (mnt/disk1/OwnCloud/)

 

What ive already tried:

- reinstalling it completely, clicking "edit" to edit the host path which is atm /mnt/user/appdata/ownCloud/data (at the Docker Configuration page before installation starts)

-> no matter which combination i try

---> host path to /mnt/disk1/owncloud or /mnt/disk1/owncloud/data (no matter if those folders are existing or not --> not working)

---> container path always remains /data (in my eyes its a value not to be changed - right?)

-> also tried to manually edit the /config/config.php

---> data path to /mnt/disk1/owncloud or /mnt/disk1/owncloud/data --> not working

 

- changin data folder at the initialisation page at first start of owncloud from "/config/www/owncloud/data" to

---> /mnt/disk1/owncloud or /mnt/disk1/owncloud/data --> not working

 

- listing all users and groups via cut -d: -f1 /etc/passwd and cat /etc/group shows me that the user is "nobody" and the group is "users"

 

- creating all those folders and giving them the same rights (via sudo chown -R nobody:users /-data path-/) as the other files/folders have --> "drwxr-xr-x 1 nobody user"  --> not working

 

- cp -ar /mnt/cache/appdata/owncloud/www/owncloud/data /mnt/disk1/owncloud --> copies the folder with all rights correctly

- creating a softlink via ln -s /mnt/disk1/owncloud/data /mnt/cache/appdata/owncloud/www/owncloud (and also editing the rights matching) --> not working

 

what i get:

- editing anything at the Docker Configuration page before the installation starts - doesnt changes anything - the data folder will always be on my cache drive

- editing the data folder path at the initialisation page at first start of owncloud results in "can not write or create data folder" (no matter which rights i give)

- moving the data folder and using a softlink gives me a page that data folder isnt reachable and .ocdata should be in the main folder

 

Question:

 - how can i get the data folder onto my disk1 ?

 - does owncloud accept softlinks?

 - was anything i already did somewhat right? xD (asides i learned a few things xD)

 

Thanks for your Help!

 

Greets SAM

 

Post your diagnostics.  I think your issue might be the way you've set up your shares.

Link to comment
29 minutes ago, CrazySam said:

From what I can see, your shares are all on disk1.

 

On 4/6/2019 at 12:01 AM, dlandon said:

host path to /mnt/disk1/owncloud or /mnt/disk1/owncloud/data

You're mapping directly to the disk and not the share.  Don't do that, even if you have shared the disk1.

 

Do it this way.  Create a share called 'owncloud'.  Set it to use disk1 only.  Then map the config folder of ownCloud to '/mnt/user/owncloud'.  The /data folder will then be in this share and all of the /config will be located in the 'owncloud' share on disk1.

 

Always refer to shares by the mount point '/mnt/user/share'.  Never map to disks directly.  You will create problems!

Link to comment

In my eyes - if i put the config folder onto disk1 (the share via /mnt/user/share) then it means that my disk1 will be active 24/7 because owncloud is working in it.

If i only put my /data folder into the share then i thought that the disk1 would spin down if nobody access any data files shared in owncloud - thats why i intended only to have the /data folder on my share and the /config folder on my SSD.

 

You know what i mean (hope i could discribe my intentions the right way)

 

But ill continue my tests with your advices and note back.

Link to comment
5 minutes ago, CrazySam said:

In my eyes - if i put the config folder onto disk1 (the share via /mnt/user/share) then it means that my disk1 will be active 24/7 because owncloud is working in it.

If i only put my /data folder into the share then i thought that the disk1 would spin down if nobody access any data files shared in owncloud - thats why i intended only to have the /data folder on my share and the /config folder on my SSD.

 

You know what i mean (hope i could discribe my intentions the right way)

 

But ill continue my tests with your advices and note back.

My advice is to put the ownCloud /config on an SSD cache share.  Just putting the /data on disk 1 probably won't accomplish what you want depending on the activity on ownCloud.  Any /data file activity would spin up the disk.  i.e. uploading, downloading, or viewing files.

 

Put the ownCloud /config on a SSD cache, and back it up regularly to the array.  ownCloud has a plugin in the marketplace that does a database backup regularly, and you can safely copy the /data folder to the array with a User Script, even with ownCloud running.  You will also find that ownCloud will be more responsive on a SSD share.

Link to comment

You didn't read the first post.

Quote

To install the docker from scratch:

  • Install docker and then go to the WebUI.
  • Enter an administration user and password.
  • Change the data folder to /data.

Start over.  This is the setup for your configuration.

Template.thumb.png.bbf1f523de7847d35f2aa85ce5ea584d.png

This is the initial login setup.

1256794485_Owncloudlogin.png.a47195f0b4339e31d253c0c455548864.png

Link to comment

yes! ... now its working and NOW i also get the relations of those folders inside the docker and inside owncloud - THANKS ^_^

Im new to everything - its the first time i handle with linux since i set Unraid as my OS - but i keep on learning ^_^

 

Thank you very much!

 

LG SAM

Link to comment
  • 3 weeks later...

Hey,

is there any easy way to make this container work behind "Nginx Proxy Manager" from CA ? So far I only got "You are accessing the server from an untrusted domain.". I've tried to add the proxy IP as a trusted domain in setings>personal>security 

I've also tried to add this to the Custom Nginx Configuration but nothing so far.

add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;

any ideas?

Link to comment
1 minute ago, Eris said:

Hey,

is there any easy way to make this container work behind "Nginx Proxy Manager" from CA ? So far I only got "You are accessing the server from an untrusted domain.". I've tried to add the proxy IP as a trusted domain in setings>personal>security 

I've also tried to add this to the Custom Nginx Configuration but nothing so far.


add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;

any ideas?

Enter the IP address in the ownCloud config.

Link to comment

Just got it working on my own! yay!

I had to put there the domain address without http(s):// before it, just example.domain.com.

now (part of) my config.php looks like this:

  'trusted_domains' => 
  array (
    0 => 'example.domain.net',
    1 => '192.168.x.x:xxxx',
  ),

Thanks for help 

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.