{"id":13907711,"url":"https://github.com/christophetd/nextcloud-docker-compose","last_synced_at":"2025-07-18T06:30:51.365Z","repository":{"id":144732140,"uuid":"130729137","full_name":"christophetd/nextcloud-docker-compose","owner":"christophetd","description":":cloud: Spin up a Nextcloud instance with automatied backups and SSL certificate issuance.","archived":true,"fork":false,"pushed_at":"2019-03-30T18:34:38.000Z","size":282,"stargazers_count":75,"open_issues_count":0,"forks_count":32,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-25T16:39:05.180Z","etag":null,"topics":["docker","docker-compose","nextcloud","nextcloud-installation","self-hosted"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/christophetd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-23T17:00:36.000Z","updated_at":"2024-07-15T09:01:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"18f97139-cb09-4d10-9eca-a480c504c6b8","html_url":"https://github.com/christophetd/nextcloud-docker-compose","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/christophetd/nextcloud-docker-compose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christophetd%2Fnextcloud-docker-compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christophetd%2Fnextcloud-docker-compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christophetd%2Fnextcloud-docker-compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christophetd%2Fnextcloud-docker-compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/christophetd","download_url":"https://codeload.github.com/christophetd/nextcloud-docker-compose/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christophetd%2Fnextcloud-docker-compose/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265710530,"owners_count":23815373,"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":["docker","docker-compose","nextcloud","nextcloud-installation","self-hosted"],"created_at":"2024-08-06T23:02:06.934Z","updated_at":"2025-07-18T06:30:51.354Z","avatar_url":"https://github.com/christophetd.png","language":null,"funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# Nextcloud with Docker compose\n\nThis repository contains a Docker compose file which can be used to easily create a Nextcloud instance.\n\n- Fully-featured Nextcloud instance backed by a MySQL database\n- Automatic SSL certificate issuance and renewal (using [`nginx-proxy-letsencrypt-companion`](https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion))\n- Automated encrypted backups to [Backblaze B2](https://www.backblaze.com/b2/cloud-storage.html) using [`duplicacy-autobackup`](https://github.com/christophetd/duplicacy-autobackup). Can be customized to use any storage backend supported by duplicacy (S3, Hubic, etc.).\n\n## Architecture\n\nHere are the various containers involved.\n\n- `nextcloud`: the actual Nextcloud server\n- `mysql`: the database used by Nextcloud to store its configuration\n- `reverse-proxy`: a nginx reverse proxy in front of Nextcloud and doing SSL termination\n- `letsencrypt-companion`: an utility container which issues and renews SSL certificates\n- `backups`: an utility container which regularly backups the Nextcloud files and database\n\n## Usage\n\nFollow the steps below. If you don't want any backups, just remove the `backups:` section in `docker-compose.yml`, jump to step 2, and ignore the instructions related to Backblaze B2.\n\n### Step 1: Create a Backblaze account and bucket\n\n- Sign up for a Backblaze account at https://www.backblaze.com/b2/sign-up.html.\n\n- Write down your Backblaze account ID and secret key (TODO) for later\n\n- Create a B2 bucket (e.g. `christophetd-nextcloud-backups`) and write down its name for later\n\n### Step 2: Point your subdomain to the appropriate machine\n\n- If you don't have any, spin up a VPS on any cloud provider (AWS EC2, Digital Ocean, OVH...). If you use the following referral link, you'll benefit from $10 of free credit on Digital Ocean (and I will get $25): https://m.do.co/c/1504134cd374.\n\n- Point your subdomain (e.g. `nextcloud.christophetd.fr`) to this newly created VPS\n\n### Step 3: Configuration\n\nEdit the `.env` file, and change at least the following:\n\n- `HOST`: the hostname of your VPS (e.g. `nextcloud.christophetd.fr`)\n- `B2_BUCKET`: the name of the B2 bucket you created in step 1\n- `B2_ID` and `B2_KEY`: your B2 credentials from step 1\n- `BACKUP_ENCRYPTION_KEY`: set it to a random passphrase. It will be used to encrypt your backups before shipping them to Backblaze.\n\n### Step 4: Profit!\n\nRun:\n\n```\n$ docker-compose up -d\n```\n\nYou'll need to wait a few minutes on first launch, as there is some certificate generation involved. Then, you should be able to access your Nextcloud instance!\n\n![](screenshot.png)\n\nYou can now define your administrator credentials and use Nextcloud.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristophetd%2Fnextcloud-docker-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristophetd%2Fnextcloud-docker-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristophetd%2Fnextcloud-docker-compose/lists"}