greyltc / docker-owncloud Goto Github PK
View Code? Open in Web Editor NEWArch linux based docker container with owncloud
Arch linux based docker container with owncloud
(Sorry for duplicating my comment from there: https://registry.hub.docker.com/u/l3iggs/owncloud/)
Some users - like me, would like to run owncloud on a root dir '/' or in another subfolder '/share'.
Current configuration needs rewrite effort to hide the owncloud subfolder.
Maybe make it optional or customizable
Hi ,
With new image 8.2.0 uploaded file modified time shows a year later.How can we change this?
Hi,
Try this out:
Pull and run two clean and fresh containers (using the official latest PostgresSQL with data stored outside of the container and l3iggs/docker-owncloud container). Then you are able to reach the owncloud app through the browser and create the admin account following the wiki. Everything is working fine.
Then, stop, delete and run fresh new containers (with postgres using the same data directory stored outside the container). Then, reach the owncloud app through the browser and, unfortunately, you will be asked to create an admin account. You can't use the already created admin account with a message such as "login already exists" and if you use a new login account, the app says:
"Error occurred while checking PostgreSQL version"
"Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error".
Hi
When i try to store data on nfs mount,disk size both growing on localhost and nfs mount,How can i handle with this situtaion?
Thanks.
Please add the news app too
https://aur.archlinux.org/packages/owncloud-app-news/
I think it would be nice to use compose to create a net of docker images for an owncloud distribution:
I'm actually not sure what is going on, but the PHP CLI doesn't load all the modules:
[http@8e83466be335 ~]$ cd /usr/share/webapps/owncloud/
[http@8e83466be335 owncloud]$ php occ
An unhandled exception has been thrown:
OC\HintException: [0]: Missing memcache class \OC\Memcache\XCache for local cache (Is the matching PHP module installed and enabled ?)
Removing the cache entry from the owncloud conf makes it worse:
[http@8e83466be335 owncloud]$ php occ
The posix extensions are required - see http://php.net/manual/en/book.posix.php
php -m
shows all the necessary modules are loaded and nothing looks odd about php -i
.
(This is all after adding /etc/webapps/owncloud/config
to open_basedir.)
This means (for now) there's no easy way to ensure all traffic is encrypted no matter what.
I need to come up with some other easily configurable way for the user to force https if they wish.
Probably I'll have to use an environment variable passed via the docker command line which modifies the apache config file.
As this is a server application, people would probably love to have the info on how they can start the container so that it is restarted on every reboot without having to crawl through docker docs.
would be easier for the user to use the EXPOSE
command, see https://github.com/cw1/docker-centos-owncloud/blob/testing/Dockerfile#L18
Hi I am getting this error in the logs after upgrading to 8.2
is_dir(): open_basedir restriction in effect. File(/usr/share/pear/) is not within the allowed path(s): (/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/owncloud/:/etc/webapps/owncloud:/dev/urandom) at /usr/share/webapps/owncloud/3rdparty/symfony/process/Symfony/Component/Process/ExecutableFinder.php#59
Not sure why this is happening, /usr/share/pear is already added to the open_basedir list as far as I can tell. Could you please advise?
Here is the relevant discussion from Docker Hub so far (youngest to oldest):
l3iggs
@blumoe do you get the 404 errors if you don't try to mount your own config and data files? just run it as:
docker run –name oc -p 80:80 -p 443:443 -d l3iggs/owncloud
and see if https works for you
nblumoe:
The run command looks like this:
docker run -v ~/ocfiles:/usr/share/webapps/owncloud/data -v ~/occonfig:/etc/webapps/owncloud/config –name oc2 -p 80:80 -p 443:443 -d l3iggs/owncloud
I am not using my own certificates (yet) but the ones included in your image. The same problem occurs with recent firefox and chrome version on Ubuntu (I am pretty sure it's not a browser issue).
What came to my mind is, that this is not an issue with the docker container, but rather the host OS. I am running this on a digital ocean machine, which might not have port 443 properly setup, will check this now.
l3iggs:
Hi @nblumoe could you provide a few more details? What options exactly are you running docker with? Did you try to generate your own ssl certificates or are you using the ones I already mad in the image? Have you tried a different browser?
nblumoe:
This went pretty smooth so far, thanks for the image! However, currently https is not working for me. As expected I got the warning about the untrusted certificate and I added an exception for it. But then I end up with 404 errors for all the ownloud url paths and a blank index page for the root path. Seems to be an apache config issue.
We experimented a bit with environment variables and I think it would be quite cool to be able to configure a few things with it. This is our experiments: https://github.com/cw1/docker-centos-owncloud/tree/testing
I'm giving you all these bugs/hints because we started to create an own OC image and don't have the time to maintain it so at least someone could profit from our ideas.
I install the container and cannot access the webui.
I had to open the CLI for the docker image and run
'
[root@c4484faa4069 /]# apachectl start
AH00526: Syntax error on line 144 of /etc/httpd/conf/extra/httpd-ssl.conf:
SSLCertificateFile: file '/https/server.crt' does not exist or is empty
[root@c4484faa4069 /]# sh -c 'SUBJECT="/C=US/ST=CA/L=CITY/O=ORGANIZATION/OU=UNIT/CN=localhost" /etc/httpd/conf/genSSLKey.sh'
[root@c4484faa4069 /]# cp /etc/httpd/conf/server.crt /https
[root@c4484faa4069 /]# cp /etc/httpd/conf/server.key /https
[root@c4484faa4069 /]# apachectl restart
httpd not running, trying to start
'
Following that I am able to access the UI.
Not sure it matters but this is being used on unRAID. Discussion here
http://lime-technology.com/forum/index.php?topic=38930.msg427988#msg427988
Would be nice to have some of the features in the official docker image https://github.com/docker-library/owncloud . @l3iggs would you be willing to join effort with me and them to make the official one the best one? I already opened a bug at owncloud docs to change installation instructions to use docker and compose: owncloud-archive/documentation#1516
As of the 8.1 update, I can't seem to get document previews working in the web interface utilizing the libreoffice installed in the image.
I'd love to hear any ideas for solving this.
Hi
I tried to launch your image. There is the docker ps
output:
67f6fa434ca5 l3iggs/owncloud:latest "/root/startServers. 2 minutes ago Up 2 minutes 443/tcp, 80/tcp oc
Getting container ip, I go to
http://172.170.243
Then get a 403 error.
Same if I map ports to the host (-p option) for both 80 and 443.
Going on the ssl port, the browser tells that cert is not verified, I accept the certificate, and then... 403 error.
Any idea ?
EDIT: I tried too with
docker rm oc
docker run --name oc -p 10080:80 -p 10443:443 l3iggs/owncloud
Returning:
curl -L http://127.0.0.1:10080
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Access forbidden!</title>
<link rev="made" href="mailto:[email protected]" />
<style type="text/css"><!--/*--><![CDATA[/*><!--*/
body { color: #000000; background-color: #FFFFFF; }
a:link { color: #0000CC; }
p, address {margin-left: 3em;}
span {font-size: smaller;}
/*]]>*/--></style>
</head>
<body>
<h1>Access forbidden!</h1>
<p>
You don't have permission to access the requested directory.
There is either no index document or the directory is read-protected.
</p>
<p>
If you think this is a server error, please contact
the <a href="mailto:[email protected]">webmaster</a>.
</p>
<h2>Error 403</h2>
<address>
<a href="/">127.0.0.1</a><br />
<span>Apache/2.4.12 (Unix) OpenSSL/1.0.2a PHP/5.6.9</span>
</address>
</body>
</html>
Would make things easier and more secure :-)
Hi,
after install I get an 'Access denied (403)' when trying to access the own cloud via webbrowser (from different computer, owncloud server is headless).
Do you have an idea what might cause this?
Thanks first for putting all of this together.
oddisee
The Documents app needs to be updated to version 0.11.0 in the docker container in order to open .doc/docx files.
Although the user can manually update it, might as well have it updated :-)
Hello,
I tried mapping the ownCloud data directory to /owncloud via "docker run --name oc -p 80:80 -p 443:443 -d -v /owncloud/data:/usr/share/webapps/owncloud l3iggs/owncloud"
When I browse to localhost/owncloud, I receive "Error 403: Access Forbidden." I've tried giving http:http ownership of /owncloud, to no effect. Works perfectly when the default settings are used.
Any idea on where to go from here?
See how we did it: https://github.com/cw1/docker-centos-owncloud/blob/testing/startup.sh
This, in combination with the templates, is pretty cool IMO because it seperates the templates, the configuration and the initial setup of the image. This is also a waypoint towards being able to configure the image with environment variables as a user.
I have try the following 2 commands to start the docker image but this doesn’t effect.
docker run --name oc -p 80:80 -p 443:443 -d -e TARGET_SUBDIR=/
-v /media/RAID/owncloud/data:/usr/share/webapps/owncloud/data
-v /media/RAID/owncloud/config:/etc/webapps/owncloud/config
-v /media/RAID/owncloud/db:/var/lib/mysql
l3iggs/owncloud
and another try with
docker run --name oc -p 80:80 -p 443:443 -d -e TARGET_SUBDIR=/
-v /media/RAID/owncloud/data:/var/www/owncloud/data
-v /media/RAID/owncloud/config:/etc/webapps/owncloud/config
-v /media/RAID/owncloud/db:/var/lib/mysql
l3iggs/owncloud
The different is in the first volumn parameter.
What do i'm wrong?
Hi!
I'm using umlauts like (ä,ö,ü) in some files, which is causing trouble using this image as the respective files can't be found. Can you maybe add other locales to the image to fix this?
After moving all my files ( 10689 items (and 99 hidden), totalling 6.4 GB) to the ~/Owncloud folder on my client (A 64bit Archlinux machine, latest owncloud-client application). I'm trying to sync my stuff, which is always resulting in the following output in the logfile, and incomplete sync (!):
.../..//...: No such file or directory.
If I just go to my local filesystem, these files are definitely existent and there. Apparently, the owncloud client seems to be unable to sync all of them, with 1,569 files reported to be missing. Server seems fine though, and connection is working properly.
After renaming a lot of them to something more generic without umlauts, the sync works again :)
This is more a suggestion, less an actual bug report, thought however to share this with everyone!
Using VOLUME lines in the docker file seems to mess up the permissions of the target directories, figure out why that is/how to solve it.
The current docker image is vulnerable to the Poodle attack. Also the RC4 cipher is still supported and should be disabled.
If you need pointers how to improve this you could read this:
(https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html)
Hello,
i´m using bridged interfaces for docker and with an fix ip and an brided interface I´m not able to connect over port 80 or 443.
I tried to view the iptables, but it tells me that I´m no root and stuff like that.
Whats wrong here?
greetings
Nico
I ran the instructions on the Docker page, exposed port 80, exposed the config and data volumes, and when I start up the container, all I get is a 403 error in Apache when opening it up in the browser.
Running Debian Wheezy latest
I'm trying to use this repo as a base for a project I'm working on. When I do a manual docker build I get the following:
Do you know how to fix the "PHP module GD not installed" error?
Also, I've successfully used the version on docker hub (https://hub.docker.com/r/l3iggs/owncloud/), but the automated build doesn't seem to be up to date.
Thanks.
I have just updated the container, it was previously on 8.2.0 and now on the latest with 8.2.2. Upon first access to the web interface I went through the upgrade procedure. When in the admin section I get a warning saying Your web server is not yet set up properly to allow file synchronisation because the WebDAV interface seems to be broken.
in red. When I look at the logs section it says:-
TypeError: Argument 8 passed to OC\Connector\Sabre\ServerFactory::__construct() must implement interface OCP\IRequest, none given, called in /usr/share/webapps/owncloud/apps/files/appinfo/remote.php on line 42 at /usr/share/webapps/owncloud/lib/private/connector/sabre/serverfactory.php#63
Array to string conversion at /usr/share/webapps/owncloud/lib/private/template/functions.php#36
is_dir(): open_basedir restriction in effect. File(/usr/share/pear/) is not within the allowed path(s): (/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/owncloud/:/etc/webapps/owncloud:/dev/urandom) at /usr/share/webapps/owncloud/3rdparty/symfony/process/Symfony/Component/Process/ExecutableFinder.php#59
These errors repeat several times. The client on my Mac will not connect as a result with error Server xxx temporarily unavailable
.
Browsing of Files and Apps appear unaffected.
The docker host is CentOS 7 with SELinux enabled (was previously). The owncloud container is linked to a MariaDB container.
Any thoughts?
Using the newest build as of yesterday, I cannot start the owncloud docker with the following error:
FATA[0001] Error response from daemon: Cannot start container f06a9cb7574a1e70542c2890a4cf09a8ff97014428248da8814100a6df8e81c1: exec: "cd /usr; /usr/bin/mysqld_safe --datadir='/var/lib/mysql'& apachectl -DFOREGROUND": stat cd /usr; /usr/bin/mysqld_safe --datadir='/var/lib/mysql'& apachectl -DFOREGROUND: no such file or directory
The docker run command I used was:
docker run --name oc -p 8000:80 -p 8443:443 -d l3iggs/owncloud:latest
seems it exits on start immediately.
[lasse@schuirlsrv ~]$ docker run --name ocd -p 80:80 -p 443:443 -d l3iggs/owncloud
7dfeecf25d590d411e6d3fb8d3491fe8752f0c9b11c3560e90233ca36d3e554c
[lasse@schuirlsrv ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7dfeecf25d59 l3iggs/owncloud:latest "/bin/sh -c 'cd '/us 10 seconds ago Exited (1) 8 seconds ago ocd
webdav has strange 1MB limit, though file uploads are allowed up to several GB
I have resolved issue #51 by not redirecting the /https volume.
I am able to successfully access the HTTP site after starting the image.
When I access the HTTPS site, I get
Bad request!
Your browser (or proxy) sent a request that this server could not understand.
If you think this is a server error, please contact the webmaster.
Error 400
www.example.com
Apache/2.4.17 (Unix) OpenSSL/1.0.2e PHP/5.6.16
Also, in the readme, the file referenced to generate a new certificate /etc/httpd/conf/genSSLKey.sh
is set to place the generated files in /etc/httpd/conf/
- Should those not be moved to /https
somehow?
Hi,
script genSSLKey.sh is missing in /etc/httpd/conf/ so it always generate (or re-use) localhost ssl keys.
Is there a way to set a username + password automatically as part of running the Docker image?
Usecase is that we need a Docker installation with a pre-defined username/password for integration purposes. We don't want to emulate the setting of the initial account data using screen scrapping or so.
Is this possible?
Currently the ssl certificate provided in this image (for https browsing) is generated at build time. That means anyone can download the docker image and get the private key.
It would be much safer if this key/certificate were generated at run time so that everyone running this image would have a unique key & certificate.
I just followed your instructions on how to install the container. I don't know if this is relevant information but since i already have an Apache server running on the host pc, i changed the port from 80 to 9998.
Command i used to run the container: docker run --name oc -p 9998:80 -p 443:443 -d l3iggs/owncloud
When i want to finish the installation by entering a username and password, it says:
Cannot create or write in datadirectory /usr/share/webapps/owncloud/data
Is this a known issue or does this have something to do with the port?
Thanks.
Running docker 1.6.0 on an OpenVZ containers leaves only the vfs file system option. That means the layers of the docker image can not share common files. Every layer will use its whole size on disk. Using the latest owncloud image adds up to nearly 80 GB.
May be you can use https://github.com/jwilder/docker-squash to reduce the amount of layers? As far as I understand it leaves the base layer untouched and squashes the layers on top of it to one resulting layer. This will also reduce the amount of data to be loaded through the net when installing your image.
@jshridha writes:
...it doesn't work correctly with my reverse proxy anymore. I'm not sure why. Can you put a tag on your previous build that was working (br8xmq9rxqf979oxvnrrnzj) so that I can pull it?
When apache starts up the following warning is thrown:
httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.8. Set the 'ServerName' directive globally to suppress this message
The docker image should have tags that correspond to major owncloud releases.
Questions:
Is the .htaccess warning of a data exposure applicable to the docker container?
Some sort of migration/upgrade needs to be done to bring things like the database up to speed when switching from one ownCloud release to the next.
Hi,
would be nice to be able to use volumes with that image.
Here's how we did this:
https://github.com/cw1/docker-centos-owncloud/blob/testing/Dockerfile#L21
Then in the readme one could just create a volume container and then to update the owncloud just fetch the new owncloud container and use it with the same volumes. That is easier and avoids the permission problems while being platform independent.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.