{"id":18885043,"url":"https://github.com/jankaritech/openproject-nextcloud-app","last_synced_at":"2026-02-23T03:30:23.086Z","repository":{"id":257706241,"uuid":"832532584","full_name":"JankariTech/openproject-nextcloud-app","owner":"JankariTech","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-18T09:40:19.000Z","size":25,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-02-17T03:33:14.608Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JankariTech.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-23T08:04:45.000Z","updated_at":"2024-10-17T03:48:38.000Z","dependencies_parsed_at":"2024-09-18T07:10:36.677Z","dependency_job_id":"652934cb-e2db-4652-89e1-85975ba5a290","html_url":"https://github.com/JankariTech/openproject-nextcloud-app","commit_stats":null,"previous_names":["jankaritech/openproject-nextcloud-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JankariTech%2Fopenproject-nextcloud-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JankariTech%2Fopenproject-nextcloud-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JankariTech%2Fopenproject-nextcloud-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JankariTech%2Fopenproject-nextcloud-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JankariTech","download_url":"https://codeload.github.com/JankariTech/openproject-nextcloud-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239858233,"owners_count":19708825,"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-11-08T07:16:13.444Z","updated_at":"2026-02-23T03:30:22.995Z","avatar_url":"https://github.com/JankariTech.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenProject as Nextcloud's External App\n\n## Manual Installation\nFor the manual installation of `OpenProject` as an external application of `Nextcloud`, make sure that your `Nextcloud` as well as `OpenProject` instance is up and running.\n\n### 1. Install `app_api` application\n\nAssuming you’re in the apps folder directory:\n\n- Clone\n\t```bash\n\tgit clone https://github.com/nextcloud/app_api.git\n\t```\n- build\n   ```bash\n   cd app_api\n   npm ci \u0026\u0026 npm run dev\n    ```\n- Enable the `app_api`\n\t```bash\n\t# Assuming you’re in nextcloud server root directory\n\tsudo -u www-data php occ a:e app_api\n\t```\n \n### 2. Register deploy daemons (In Nextcloud)\n\n- Navigate to `Administration Settings \u003e AppAPI`\n- Click `Register Daemon`\n- Select `Manual Install` for Daemon configuration template\n- Put `manual_install` for name and display name\n- Deployment method as `manual-install`\n- Daemon host as `localhost`\n- Click Register\n\n### 3. Running OpenProject locally\nSet up and build `OpenProject` locally following [OpenProject Development Setup](https://www.openproject.org/docs/development/development-environment/)\nAfter the setup, run `OpenProject` locally with the given command line.\n\n\u003eNOTE: If you are running Nextcloud in a sub folder  replace `NC_SUB_FOLDER` with the path name, otherwise remove it.\n\n```bash\n# the reason to set relative path with NC_SUB_FOLDER is it makes easy to change when there is redirection url in response\nOPENPROJECT_RAILS__RELATIVE__URL__ROOT=/\u003cNC_SUB_FOLDER\u003e/index.php/apps/app_api/proxy/openproject-nextcloud-app \\\nforeman start -f Procfile.dev\n```\n\n### 4. Configure and Run External `openproject-nextcloud-app` application\nAssuming you’re in the apps folder directory:\n\n- Clone\n  ```bash\n  git clone https://github.com/JankariTech/openproject-nextcloud-app.git\n  ```\n- Configure script before running external app\n   ```bash\n\t cd openproject-nextcloud-app\n\t cp ex_app_run_script.sh.example ex_app_run_script.sh\n    ```\n  Once you have copied the script to run the external application, configure the following environments\n\n  - `APP_ID` is the application id of the external app\n  - `APP_PORT` is port for the external app\n  - `APP_HOST` is the host for the external app\n  - `APP_VERSION` is the version of external app\n  - `APP_SECRET` is a secret key used by Nextcloud to authenticate with external applications. Administrators can set any secret, but they must ensure that the same secret is used when registering and running the external application.\n  - `AA_VERSION` indicates the version of the `app_api` app. The external application needs this information because `app_api` is responsible for handling tasks like registration, authentication, and managing external apps. To get the version of `app_api`, list the apps using the CLI. To do that run this command in the root directory of server:\n    ```bash\n    sudo -u www-data php occ a:l\n    ```\n  - `EX_APP_VERSION` is the version of the external application and must be same as `APP_VERSION`\n  - `EX_APP_ID` is the version of the external application and must be same as `APP_ID`\n  - `NC_SUB_FOLDER` is the subfolder in which nextcloud is running (make sure to use same in OPENPROJECT_RAILS__RELATIVE__URL__ROOT while running openproject)\n  - `OP_BACKEND_URL` is the url in which `OpenProject` is up and running\n  - `NEXTCLOUD_URL` the url in which `Nextcloud` is up and running\n\n    \u003e***NOTE:***  In the given environments, `APP_ID`, `APP_PORT`, `APP_HOST`, and `APP_VERSION` are used to run the external application, while `APP_SECRET`, `EX_APP_VERSION`, `EX_APP_ID`, and `AA_VERSION` are needed for the external app and Nextcloud to authenticate each other.\n\n- Install required Python packages to run external application `openproject-nextcloud-app`\n\t```bash\n\t# Make sure that you have python3 installed in your local system\n\tpython3 -m pip install -r requirements.txt\n\t```\n\n- Run external application with the script\n   ```bash\n   bash ex_app_run_script.sh\n    ```\n\n### 5. Register and deploy external application `openproject-nextcloud-app` in Nextcloud's external apps\n\nAssuming you’re in nextcloud server root directory\n\n- Register and deploy external application `openproject-nextcloud-app`\n  ```bash\n  sudo -u www-data php occ app_api:app:register openproject-nextcloud-app manual_install --json-info \\\n    \"{\\\"id\\\":\\\"\u003cEX_APP_ID\u003e\\\",\n  \t\\\"name\\\":\\\"\u003cEX_APP_ID\u003e\\\",\n  \t\\\"daemon_config_name\\\":\\\"manual_install\\\",\n  \t\\\"version\\\":\\\"\u003cEX_APP_VERSION\u003e\\\",\n  \t\\\"secret\\\":\\\"\u003cAPP_SECRET\u003e\\\",\n  \t\\\"scopes\\\":[\\\"ALL\\\"],\n  \t\\\"port\\\":\u003cAPP_PORT\u003e,\n  \t\\\"routes\\\": [{\\\"url\\\":\\\".*\\\",\\\"verb\\\":\\\"GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, TRACE\\\",\n  \t\\\"access_level\\\":1,\n  \t\\\"headers_to_exclude\\\":[]}]}\" \\\n    --force-scopes --wait-finish\n  ```\n  In the above bash command use the same value for `EX_APP_ID`, `EX_APP_VERSION`, `APP_SECRET`, and `APP_PORT` as used while running external app `openproject-nextcloud-app`\n\n\nNow OpenProject can be reached on:\n```bash\nhttp://${APP_HOST}/${NC_SUB_FOLDER}/index.php/apps/app_api/proxy/openproject-nextcloud-app\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjankaritech%2Fopenproject-nextcloud-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjankaritech%2Fopenproject-nextcloud-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjankaritech%2Fopenproject-nextcloud-app/lists"}