Official Repository

Last pushed: 12 days ago
Short Description
ownCloud is a self-hosted file sync and share server.
Full Description

Supported tags and respective Dockerfile links

Quick reference

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

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.

Docker Pull Command

Comments (42)
jcastanedaalarcon
14 days ago

Where is php.ini inside container??

smalot
22 days ago

How to upgrade an install already running ?
I have this message on the web interface :
"Veuillez utiliser la mise à jour en lignes de commandes, votre instance est trop volumineuse."
which can be translated as : "Please use the command line update, your install is too big"
Thanks

angelrr7702
a month ago

It work fine , but for fpm version need to add to documentation that used port 9000 , normal is port 80 for apache , if you need to add ssl you can used letsencrypt using docker containers nginx-proxy and jrcs/letsencrypt-nginx-proxy-companion . (you be able to used this two container to provide ssl by letsencrypt to all your container with web interface ) . https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion

chatch
3 months ago

For those asking for SSL checkout this image : https://hub.docker.com/r/l3iggs/owncloud

telinform2252
4 months ago

How can I use the smbclient in the container?
Is it possible without creating own dockerfile?

mensoner
5 months ago

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?

chaba
5 months ago

Hello, is it possible to enable SSL outside the container, when it run?

bastiba
6 months ago

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.

ericchenkai
6 months ago

@linuxmen, maybe you try
docker run -d -p 8080:80 -v /dados/owncloud:/var/www/html owncloud:latest

ericchenkai
6 months ago

cannot access /<mydatalocation>/data with error "permission denied".
I get this access by sudo chmod 777 data