{"id":23141949,"url":"https://github.com/gdamjan/nextcloud-service","last_synced_at":"2025-08-17T13:32:06.732Z","repository":{"id":39594122,"uuid":"315777701","full_name":"gdamjan/nextcloud-service","owner":"gdamjan","description":"nextcloud systemd portable service built on Nix","archived":false,"fork":false,"pushed_at":"2025-03-07T15:43:14.000Z","size":93,"stargazers_count":13,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-05T07:33:03.331Z","etag":null,"topics":["nextcloud","nix","nixos","nixpkgs","php","portable-service","uwsgi"],"latest_commit_sha":null,"homepage":"","language":"Nix","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/gdamjan.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":"2020-11-24T23:30:58.000Z","updated_at":"2025-03-13T15:35:45.000Z","dependencies_parsed_at":"2024-03-04T00:24:14.515Z","dependency_job_id":"d4ca9bd6-fa95-4307-bd82-0c8f0cb9bfa7","html_url":"https://github.com/gdamjan/nextcloud-service","commit_stats":null,"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"purl":"pkg:github/gdamjan/nextcloud-service","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdamjan%2Fnextcloud-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdamjan%2Fnextcloud-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdamjan%2Fnextcloud-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdamjan%2Fnextcloud-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gdamjan","download_url":"https://codeload.github.com/gdamjan/nextcloud-service/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdamjan%2Fnextcloud-service/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270856561,"owners_count":24657688,"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","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["nextcloud","nix","nixos","nixpkgs","php","portable-service","uwsgi"],"created_at":"2024-12-17T14:15:50.453Z","updated_at":"2025-08-17T13:32:06.496Z","avatar_url":"https://github.com/gdamjan.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI](https://github.com/gdamjan/nextcloud-service/actions/workflows/ci.yml/badge.svg)](https://github.com/gdamjan/nextcloud-service/actions/workflows/ci.yml)\n\n# `Nextcloud as a systemd portable service`\n\nBuild an immutable [Nextcloud](https://nextcloud.com/) image for a systemd [portable service](https://systemd.io/PORTABLE_SERVICES/).\nMade with uwsgi and nixos.\n\n## Quick Start\n\nGet the latest image from [Github releases](https://github.com/gdamjan/nextcloud-service/releases/), into\n`/var/lib/portables`, then attach the portable service, and enable/start it. For ex:\n\n```sh\nimportctl pull-raw --class=portable --verify=checksum https://github.com/gdamjan/nextcloud-service/releases/download/v\u003cversion\u003e/nextcloud_\u003cversion\u003e.raw # or use curl\nportablectl attach nextcloud_\u003cversion\u003e\nsystemctl enable --now nextcloud-uwsgi.socket nextcloud-cron.timer\n```\n\n\u003e ⚠️ Warning ⚠️\n\u003e\n\u003e On the first install wizard, don't enable the \"Default Applications\" in nextcloud (click cancel).\n\u003e For more info see [issues](https://github.com/gdamjan/nextcloud-service/issues/2).\n\n## Nginx configuration\n\nThe portable service will operate on the `/run/nextcloud.sock` uwsgi socket. We gonna let the host nginx handle\nall the http, https and letsencrypt work. The config is simple, just proxy everything back to the uwsgi socket:\n```\nserver {\n    …\n    client_body_buffer_size 512k;\n    client_max_body_size 512M;\n    client_body_timeout 300s;\n    location / {\n        include uwsgi_params;\n        uwsgi_pass unix:/run/nextcloud.sock;\n        uwsgi_intercept_errors on;\n        uwsgi_request_buffering off;\n    }\n    …\n}\n```\n\u003e Note: even static files are served by the uwsgi server, but uwsgi has a good enough static files server, which doesn't\n\u003e block the application workers.\n\n\u003e Note²: Consult the [nextcloud nginx installation docs](https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html)\n\u003e for non-fastcgi nginx parameters.\n\n## Units provided\n\nThe cron timer and service, periodically call `php -f cron.php` to run some\nnextcloud bookkeeping jobs:\n* `nextcloud-cron.timer`\n* `nextcloud-cron.service`\n\nThe socket and uwsgi socket (`/run/nextcloud.sock`) is the main service:\n* `nextcloud-uwsgi.socket`\n* `nextcloud-uwsgi.service`\n\nThe firstrun service, scaffolds `/var/lib/nextcloud` with the minimal\nconfiguration needed for a portable service to run successfully:\n* `nextcloud-first-run.service`\n\n## More info\n\nSee the [wiki](https://github.com/gdamjan/nextcloud-service/wiki/) for more info.\n\n## Build and update\n\nHave nix flakes enabled, and then:\n```\nnix flake update  # will update flake.lock\nnix build         # will create an image in ./result/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdamjan%2Fnextcloud-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgdamjan%2Fnextcloud-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdamjan%2Fnextcloud-service/lists"}