ownCloud

Estimated reading time: 5 minutes

ownCloud is a self-hosted file sync and share server.

GitHub repo: https://github.com/docker-library/owncloud

Library reference

This content is imported from the official Docker Library docs, and is provided by the original uploader. You can view the Docker Store page for this repo at https://store.docker.com/images/owncloud.

Supported tags and respective Dockerfile links

For detailed information about the published artifacts of each of the above supported tags (image metadata, transfer size, etc), please see the repos/owncloud directory in the docker-library/repo-info GitHub repo.

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.

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.

owncloud.org

logo

How to use this image

Start ownCloud

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.

Persistent data

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.

  • -v /<mydatalocation>:/var/www/html

For fine grained data persistence, you can use 3 volumes, as shown below.

  • -v /<mydatalocation>/apps:/var/www/html/apps installed / modified apps
  • -v /<mydatalocation>/config:/var/www/html/config local configuration
  • -v /<mydatalocation>/data:/var/www/html/data the actual data of your ownCloud

Caveat

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.

Using occ

The 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

… via docker-compose

Example docker-compose.yml for owncloud:

# 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

License

View license information for the software contained in this image.

Supported Docker versions

This image is officially supported on Docker version 17.04.0-ce.

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.

User Feedback

Issues

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.

Contributing

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

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.

library, sample, ownCloud