{"id":13556243,"url":"https://github.com/jchaney/owncloud","last_synced_at":"2025-12-16T21:41:58.177Z","repository":{"id":20000776,"uuid":"23268209","full_name":"jchaney/owncloud","owner":"jchaney","description":"docker image","archived":true,"fork":false,"pushed_at":"2020-06-18T18:59:52.000Z","size":27857,"stargazers_count":64,"open_issues_count":4,"forks_count":56,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-27T04:44:57.192Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jchaney.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-23T23:06:06.000Z","updated_at":"2023-11-23T02:35:16.000Z","dependencies_parsed_at":"2022-08-28T08:51:26.909Z","dependency_job_id":null,"html_url":"https://github.com/jchaney/owncloud","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchaney%2Fowncloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchaney%2Fowncloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchaney%2Fowncloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchaney%2Fowncloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jchaney","download_url":"https://codeload.github.com/jchaney/owncloud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246976186,"owners_count":20863032,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T12:03:43.231Z","updated_at":"2025-12-16T21:41:53.129Z","avatar_url":"https://github.com/jchaney.png","language":"Makefile","funding_links":[],"categories":["Makefile","others"],"sub_categories":[],"readme":"# docker-owncloud\n\n[![Docker Stars](https://img.shields.io/docker/stars/jchaney/owncloud.svg)][this.project_docker_hub_url]\n[![Docker Pulls](https://img.shields.io/docker/pulls/jchaney/owncloud.svg)][this.project_docker_hub_url]\n[![ImageLayers Size](https://img.shields.io/imagelayers/image-size/jchaney/owncloud/latest.svg)][this.project_docker_hub_url]\n[![ImageLayers Layers](https://img.shields.io/imagelayers/layers/jchaney/owncloud/latest.svg)][this.project_docker_hub_url]\n\n**This repository is *deprecated*. Please use something else which is still maintained.**\n\n~~Maintainer wanted. Refer to https://github.com/jchaney/owncloud/issues/62~~\n\nDocker image for [ownCloud][].\n\nThe build instructions are tracked on [GitHub][this.project_github_url].\n[Automated builds][] are hosted on [Docker Hub][this.project_docker_hub_url].\n\n## Why using this image\n\n* It is directly based on Debian stable. No additional image layers which blow up the total image size and might by a security risk.\n* Uses [nginx][] as webserver.\n* [Hardened TLS](https://github.com/BetterCrypto/Applied-Crypto-Hardening/blob/master/src/configuration/Webservers/nginx/default-hsts) configuration.\n* Generates unique Diffie Hellman parameters to mitigate precomputation based attacks on common parameters. Refs: [Guide to Deploying Diffie-Hellman for TLS](https://weakdh.org/sysadmin.html).\n* Local caching enabled by default (APCu).\n  See https://owncloud.org/blog/making-owncloud-faster-through-caching/\n* Installs the ownCloud tarball directly from https://owncloud.org/ and it [securely](https://github.com/jchaney/owncloud/pull/12) verifies the GPG signature.\n* Makes installing of 3party apps easy and keeps them across updates.\n* The [`occ`][occ] command can be used just by typing `docker exec -ti $owncloud_container_name occ`.\n* ownCloud can only be updated by redeploying the container. No update via the web interface is possible. The ownCloud installation is fully contained in the container and not made persistent. This allows to make the ownCloud installation write protected for the Webserver and PHP which run as `www-data`.\n* Automated database update on ownCloud update during the startup of a redeployed/updated container.\n\n## Getting the image\n\nYou have two options to get the image:\n\n1. Build it yourself with `make build`.\n2. Download it via `docker pull jchaney/owncloud` ([automated build][this.project_docker_hub_url]).\n\n## ownCloud up and running\n\nCheckout the [Makefile][] for an example or just run `make owncloud` which will setup a ownCloud container instance (called \"owncloud\"). After that, just head over to [http://localhost/](http://localhost/) and give it a try. You can now create an admin account. For testing purposes you can use SQLite (but remember to use a real database in production).\n\n## Running ownCloud in production\n\nSetup a separate container running your database server and link it to the ownCloud container.\nFor running in production, you need to provide a TLS key and certificate. The\nMakefile defaults to `/etc/ssl/private/ssl-cert-snakeoil.key` and\n`/etc/ssl/certs/ssl-cert-snakeoil.pem`. Make sure those files exist or extend\nthe Makefile (you can include this Makefile and overwrite some variables in\nyour own Makefile).\nYou might also want to change variables like\n`docker_owncloud_permanent_storage` to define where the persistent data will be\nstored.\nTo generate self signed once you can run the following command:\n\n```Shell\nmake-ssl-cert generate-default-snakeoil\n```\n\nTo setup ownCloud with [MariaDB] as backend, just run:\n\n```Shell\nmake owncloud-production\n```\n\nIn the initial ownCloud setup, you need to supply the database user, password, database name and database host which you can look up via:\n\n```Shell\nmake owncloud-mariadb-get-pw\n```\n\nNote that this command also shows you the MariaDB root password which you need to write down because you will not be able to access it later (after you run `make owncloud-production` again to update the containers, the passwords will be different and not match the once which are actually used).\n\nThat should be it :smile:\n\n## Update your container and ownCloud\n\nIt is recommended to rebuild/pull this image on a regular basis and redeploy your ownCloud container(s) to get the latest security fixes.\nNote that ownCloud version jumps are uploaded to the `latest` tag of this image once they are tested. You might want to watch this repository to see when this happens.\n\nOnce the ownCloud image is up-to-date, just run:\n\n```Shell\nmake owncloud-production\n```\n\nto update your container. ownCloud usually requires a database update when the version of ownCloud is bumped. This process [has been automated](/misc/bootstrap.sh) for this Docker image but remember that you are still in charge of making backups/snapshots prior to updates!\n\n## Installing 3party apps\n\nJust write the command(s) needed to install apps in a configuration file and make sure it is present as `/owncloud/3party_apps.conf` in your container.\n\nCheckout the [example configuration][3party_apps.conf] and the [install script][oc-install-3party-apps] for details.\n\n## docker-compose support\n\nYou can also run this image with `docker-compose`. First you need to declare all env variables since `docker-compose` does not support (yet) default variables.\n\n```Shell\n# Where to store data and database ?\nexport docker_owncloud_permanent_storage=\"~/owncloud_data\"\n\n# SSL Certificates to use.\nexport docker_owncloud_ssl_cert=\"../certs/cloud.cert\"\nexport docker_owncloud_ssl_key=\"../certs/cloud.key\"\n\n# Servername\nexport docker_owncloud_servername=\"localhost\"\n\nexport docker_owncloud_http_port=\"80\"\nexport docker_owncloud_https_port=\"443\"\nexport docker_owncloud_in_root_path=\"1\"\n\nexport docker_owncloud_mariadb_root_password=$(pwgen --secure 40 1)\nexport docker_owncloud_mariadb_user_password=$(pwgen --secure 40 1)\n\nexport image_owncloud=\"jchaney/owncloud\"\nexport image_mariadb=\"mysql\"\n\n```\n\nThen:\n\n```Shell\ndocker-compose up\n```\n\nThat's all !\n\n## Related projects\n\n* [official docker repository for ownCloud](https://hub.docker.com/_/owncloud/)\n\n  Uses Apache as webserver and is based on the [official Docker PHP image](https://hub.docker.com/_/php/).\n\n* [l3iggs/owncloud](https://hub.docker.com/r/l3iggs/owncloud/)\n\n  Uses Apache as webserver and is based on a self build LAMP stack based on Arch Linux.\n\n* [Ansible role to install and manage ownCloud instances](https://github.com/debops/ansible-owncloud)\n\n  Automation framework for setting up ownCloud on any Debian based system. This offers much\n  more flexibility and is not limited to Docker. So you can setup a ownCloud\n  instance in a KVM virtual machine and/or a LXC container for example.\n\n  This role is part of the [DebOps](http://debops.org/) project which allows\n  you to automate all the steps mentioned above (setting up a Hypervisor host with\n  support for KVM and/or LXC, setting up the virtual machine/container and\n  installing Webserver/PHP/Database and finally ownCloud).\n\n  The real fun with this approach begins when you manage multiple instances\n  because Ansible and this role allow you to run actions like ownCloud updates\n  or enabling apps or the like on all your instances automatically.\n\n## Maintainer\n\nThe current maintainer is [Robin `ypid` Schneider][ypid].\n\nList of previous maintainers:\n\n1. [Josh Chaney][jchaney]\n2. [silvio][]\n\n## Problems\n\n* If you get \"Command not found\" for any of the programs used then install it (make sure you know what you are doing).\n\n  \u003e Your distribution packages: You should find missing dependencies from the errors yourself. It's _your_ machine, you're supposed to know it.\n\n  Ref: https://bb.osmocom.org/trac/wiki/PreliminaryRequirements#Generalknowledge\n\n## License\n\nThis project is distributed under [GNU Affero General Public License, Version 3][AGPLv3].\n\n[ypid]: https://github.com/ypid\n[silvio]: https://github.com/silvio\n[jchaney]: https://github.com/jchaney\n\n[Makefile]: /Makefile\n[ownCloud]: https://owncloud.org/\n[occ]: https://doc.owncloud.org/server/8.1/admin_manual/configuration_server/occ_command.html\n[MariaDB]: https://mariadb.org/\n[nginx]: https://en.wikipedia.org/wiki/Nginx\n\n[3party_apps.conf]: https://github.com/jchaney/owncloud/blob/master/configs/3party_apps.conf\n[oc-install-3party-apps]: https://github.com/jchaney/owncloud/blob/master/misc/oc-install-3party-apps\n[AGPLv3]: https://github.com/jchaney/owncloud/blob/master/LICENSE\n[this.project_docker_hub_url]: https://hub.docker.com/r/jchaney/owncloud/\n[this.project_github_url]: https://github.com/jchaney/owncloud\n[Automated builds]: https://docs.docker.com/docker-hub/builds/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjchaney%2Fowncloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjchaney%2Fowncloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjchaney%2Fowncloud/lists"}