owncloudEstimated reading time: 5 minutes
ownCloud is a self-hosted file sync and share server.
GitHub repo: https://github.com/docker-library/owncloud
This image has been deprecated in favor of the official
owncloud/server image provided, maintained, and supported by ownCloud upstream. The images found here will receive no further updates after 2018-12-31 (Dec 31, 2018). Please adjust your usage accordingly.
Supported tags and respective
Where to file issues:
the Docker Community
Supported Docker versions:
the latest release (down to 1.6 on a best-effort basis)
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.
occ tool from upstream is simplest to use via
docker exec, similar to the example provided there:
$ docker exec -u www-data some-owncloud php occ status
docker stack deploy or
# 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: '3.1' services: owncloud: image: owncloud restart: always ports: - 8080:80 mysql: image: mariadb restart: always environment: MYSQL_ROOT_PASSWORD: example
docker stack deploy -c stack.yml owncloud (or
docker-compose -f stack.yml up), wait for it to initialize completely, and visit
http://host-ip:8080 (as appropriate).
Running as an arbitrary user
View license information for the software contained in this image.
As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
Some additional license information which was able to be auto-detected might be found in the
As for any pre-built image usage, it is the image user’s responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.library, sample, owncloud