Supported tags and respective
For more information about this image and its history, please see the relevant manifest file (
library/owncloud). This image is updated via pull requests to the
docker-library/official-images GitHub repo.
For detailed information about the virtual/transfer sizes and individual layers of each of the above supported tags, please see the
repos/owncloud/tag-details.md file in the
docker-library/repo-info GitHub repo.
What is ownCloud?
ownCloud is a self-hosted file sync and share server. It provides access to your data through a web interface, sync clients or WebDAV while providing a platform to view, sync and share across devices easily—all under your control. ownCloud’s open architecture is extensible via a simple but powerful API for applications and plugins and it works with any storage.
How to use this image
Starting the ownCloud 8.1 instance listening on port 80 is as easy as the following:
$ docker run -d -p 80:80 owncloud:8.1
Then go to http://localhost/ and go through the wizard. By default this container uses SQLite for data storage, but the wizard should allow for connecting to an existing database. Additionally, tags for 6.0, 7.0, or 8.0 are available.
For a MySQL database you can link an database container, e.g.
--link my-mysql:mysql, and then use
mysql as the database host on setup.
All data beyond what lives in the database (file uploads, etc) is stored within the default volume
/var/www/html. With this volume, ownCloud will only be updated when the file
version.php is not present.
For fine grained data persistence, you can use 3 volumes, as shown below.
-v /<mydatalocation>/apps:/var/www/html/appsinstalled / modified apps
-v /<mydatalocation>/config:/var/www/html/configlocal configuration
-v /<mydatalocation>/data:/var/www/html/datathe actual data of your ownCloud
When using the 6.0 image, you need to map the host port to the container port that apache listens on when going through the installation wizard. By default, this is port 80.
# ownCloud with MariaDB/MySQL # # Access via "http://localhost:8080" (or "http://$(docker-machine ip):8080" if using docker-machine) # # During initial ownCloud setup, select "Storage & database" --> "Configure the database" --> "MySQL/MariaDB" # Database user: root # Database password: example # Database name: pick any name # Database host: replace "localhost" with "mysql" version: '2' services: owncloud: image: owncloud ports: - 8080:80 mysql: image: mariadb environment: MYSQL_ROOT_PASSWORD: example
View license information for the software contained in this image.
Supported Docker versions
This image is officially supported on Docker version 1.13.1.
Support for older versions (down to 1.6) is provided on a best-effort basis.
Please see the Docker installation documentation for details on how to upgrade your Docker daemon.
If you have any problems with or questions about this image, please contact us through a GitHub issue. If the issue is related to a CVE, please check for a
cve-tracker issue on the
official-images repository first.
You can also reach many of the official image maintainers via the
#docker-library IRC channel on Freenode.
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.
Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.
Documentation for this image is stored in the
owncloud/ directory of the
docker-library/docs GitHub repo. Be sure to familiarize yourself with the repository's
README.md file before attempting a pull request.
How can I use the smbclient in the container?
Is it possible without creating own dockerfile?
Is there a way to add a ssl certifikat to make https connections possible?
Because the owncloud server say me:
Accessing this site over HTTP. We strongly advise your server to configure to accept only HTTPS, as it is described in our security notice.
Is ther a way to make the server connecton more secure with https?
Hello, is it possible to enable SSL outside the container, when it run?
after installing owncloud and configuring MySQL, I'm getting the error : "Data directory (/var/www/html/data) is readable by other users
Please change the permissions to 0770 so that the directory cannot be listed by other users."
I executed the command "docker exec owncloud chmod -c 0770 /var/www/html/data". Although the command prints "success", when I execute "ls -l" on html directory, data folder rights remain unchanged and owncloud keeps displaying the same error as above.
@linuxmen, maybe you try
docker run -d -p 8080:80 -v /dados/owncloud:/var/www/html owncloud:latest
cannot access /<mydatalocation>/data with error "permission denied".
I get this access by
sudo chmod 777 data
Could you please add the cron daemon to the image?
The documentation is not correct. Linking your own mountpoint should be via /var/www/owncloud/... and not /var/www/html/...
Otherwise you get errors like:
tar: ./apps/external/l10n/de_AT.js: Cannot open: No such file or directory
tar: ./apps/external: Cannot mkdir: Permission denied
tar: ./apps/external/l10n/de_AT.json: Cannot open: No such file or directory
tar: ./apps/external: Cannot mkdir: Permission denied
cannot modify file upload limit
Missing permissions to edit from here