Skip to content

Commit a966559

Browse files
authored
Merge pull request #1008 from nextcloud/chore/port-dev-setup-changes
chore: port dev setup changes
2 parents 98e11a7 + 74533b8 commit a966559

10 files changed

Lines changed: 93 additions & 408 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ compose.override.yaml
2929
!dev/.env
3030
dev/apps
3131
dev/certs
32+
dev/compose.override.yaml
3233

3334
# server files
3435
server/

README.md

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,42 +4,44 @@
44
- SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
55
- SPDX-License-Identifier: AGPL-3.0-or-later
66
-->
7+
78
# 🔗 OpenProject Integration
89

910
[![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/integration_openproject)](https://api.reuse.software/info/github.com/nextcloud/integration_openproject)
1011

11-
This application enables integration between Nextcloud and open-source project management software OpenProject.
12+
This application enables integration between Nextcloud and open-source project management software OpenProject.
1213

1314
![](https://github.com/nextcloud/integration_openproject/raw/master/img/screenshot1.png)
1415
![](https://github.com/nextcloud/integration_openproject/raw/master/img/screenshot2.png)
1516

1617
On the Nextcloud end, it allows users to:
1718

18-
* Link files and folders with work packages in OpenProject
19-
* Find all work packages linked to a file or a folder
20-
* Create work packages directly in Nextcloud
21-
* View OpenProject notifications via the dashboard
22-
* Search for work packages using Nextcloud's search bar
23-
* Link work packages in rich text fields via Smart Picker
24-
* Preview links to work packages in text fields
25-
* Link multiple files and folders to a work package at once
19+
- Link files and folders with work packages in OpenProject
20+
- Find all work packages linked to a file or a folder
21+
- Create work packages directly in Nextcloud
22+
- View OpenProject notifications via the dashboard
23+
- Search for work packages using Nextcloud's search bar
24+
- Link work packages in rich text fields via Smart Picker
25+
- Preview links to work packages in text fields
26+
- Link multiple files and folders to a work package at once
2627

2728
On the OpenProject end, users are able to:
2829

29-
* View all Nextcloud files and folders linked to a work package
30-
* Download linked files or open them in Nextcloud to edit them
31-
* Open linked files in Nextcloud to edit them
32-
* Let OpenProject create shared folders per project
30+
- View all Nextcloud files and folders linked to a work package
31+
- Download linked files or open them in Nextcloud to edit them
32+
- Open linked files in Nextcloud to edit them
33+
- Let OpenProject create shared folders per project
3334

3435
Please report issues and bugs here: https://community.openproject.org/projects/nextcloud-integration/work_packages
3536

3637
## 📚 Documentation for users and administrators guide
38+
3739
- For documentation on how to set up the integration as an administrator, refer to [Nextcloud integration setup](https://openproject.org/docs/system-admin-guide/integrations/nextcloud/).
3840
- For documentation on how to use the integration once it is set up, refer to [Using the Nextcloud integration](https://openproject.org/docs/user-guide/nextcloud-integration/).
3941

4042
## 🔨 Development Setup Guide
41-
- [Set up via docker](docs/setup_via_docker.md)
42-
- [Start Nextcloud-OpenProject full setup](docs/setup_nc_op__full.md)
43+
44+
- [Start Nextcloud-OpenProject setup](docs/setup_nc_op__full.md)
4345
- [APIs for integration setup for admin](docs/setting_up_as_admin.md)
4446
- [Setting up Integration via Shell Script](docs/setting_up_via_shell_script.md)
4547
- [APIs for Direct Upload](docs/direct_upload.md)

dev/.env

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@ OPENPROJECT_DEV_HOST=
1414
OPENPROJECT_RAILS__RELATIVE__URL__ROOT=
1515
OPENPROJECT_EDITION=
1616

17-
# run keycloak
18-
KEYCLOAK=:keycloak.yaml
17+
# keycloak configurations
1918
KC_IMAGE_REPO=
2019
KC_IMAGE_TAG=
2120

22-
COMPOSE_FILE=compose.yaml${KEYCLOAK:-}
21+
COMPOSE_FILE=compose.yaml

dev/compose.override.yaml.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# SPDX-FileCopyrightText: 2025 Jankari Tech Pvt. Ltd.
2+
# SPDX-License-Identifier: AGPL-3.0-or-later

dev/compose.yaml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,72 @@ services:
158158
traefik.http.routers.openproject.rule: Host(`${OPENPROJECT_DEV_HOST:-openproject.local}`)
159159
traefik.http.routers.openproject.entrypoints: websecure
160160

161+
keycloak-db:
162+
image: postgres:14
163+
restart: unless-stopped
164+
networks:
165+
- nc-op
166+
environment:
167+
POSTGRES_DB: keycloak
168+
POSTGRES_USER: keycloak
169+
POSTGRES_PASSWORD: keycloak
170+
PGUSER: keycloak
171+
healthcheck:
172+
test: ['CMD-SHELL', 'pg_isready', '-d', 'db_prod']
173+
interval: 10s
174+
timeout: 30s
175+
retries: 5
176+
start_period: 10s
177+
178+
keycloak:
179+
build:
180+
context: ./keycloak
181+
args:
182+
IMAGE_REPO: ${KC_IMAGE_REPO:-quay.io/keycloak/keycloak}
183+
IMAGE_TAG: ${KC_IMAGE_TAG:-26.2}
184+
restart: unless-stopped
185+
command: ["--proxy-headers", "xforwarded", "--spi-connections-http-client-default-disable-trust-manager=true"]
186+
environment:
187+
KC_DB: postgres
188+
KC_DB_USERNAME: keycloak
189+
KC_DB_PASSWORD: keycloak
190+
KC_DB_URL: jdbc:postgresql://keycloak-db:5432/keycloak
191+
KC_BOOTSTRAP_ADMIN_USERNAME: admin
192+
KC_BOOTSTRAP_ADMIN_PASSWORD: admin
193+
KC_DB_SCHEMA: public
194+
KC_HOSTNAME: keycloak.local
195+
KC_FEATURES: preview
196+
KC_TRANSACTION_XA_ENABLED: false
197+
KC_REALM_NAME: opnc
198+
KC_NEXTCLOUD_CLIENT_ID: nextcloud
199+
KC_NEXTCLOUD_CLIENT_SECRET: nextcloud-secret
200+
KC_NEXTCLOUD_CLIENT_HOST: nextcloud.local
201+
KC_OPENPROJECT_CLIENT_ID: openproject
202+
KC_OPENPROJECT_CLIENT_SECRET: openproject-secret
203+
KC_OPENPROJECT_CLIENT_HOST: openproject.local
204+
networks:
205+
- nc-op
206+
volumes:
207+
- step:/step:ro
208+
- keycloakdata:/opt/keycloak/data/
209+
labels:
210+
traefik.enable: true
211+
traefik.http.routers.keycloak.rule: Host(`keycloak.local`)
212+
traefik.http.routers.keycloak.entrypoints: websecure
213+
depends_on:
214+
traefik:
215+
condition: service_started
216+
keycloak-db:
217+
condition: service_healthy
218+
161219
volumes:
162220
ncdb:
163221
ncdata:
164222
apache_conf:
165223
opdb:
166224
opdata:
167225
step:
226+
keycloakdata:
168227

169228
networks:
170229
nc-op:

dev/keycloak.yaml

Lines changed: 0 additions & 63 deletions
This file was deleted.

docker-compose.override.example.yml

Lines changed: 0 additions & 6 deletions
This file was deleted.

docker-compose.yml

Lines changed: 0 additions & 56 deletions
This file was deleted.

docs/setup_nc_op__full.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
- SPDX-FileCopyrightText: 2025 Jankari Tech Pvt. Ltd.
33
- SPDX-License-Identifier: AGPL-3.0-or-later
44
-->
5+
56
# Nextcloud-OpenProject Full Setup
67

78
## Table of Contents
@@ -31,28 +32,29 @@
3132
cd dev
3233
```
3334

34-
3. _(Optional)_ To enable keycloak service, uncomment the following line in the `dev/.env` file:
35-
36-
```yaml
37-
# run keycloak
38-
KEYCLOAK=:keycloak.yaml
39-
```
40-
41-
4. Start the services
35+
3. Start the services
4236

4337
```bash
4438
docker compose up
4539
```
4640

47-
5. Once the services are up, add the certificates to the system and browser trust store
41+
> [!NOTE]
42+
>
43+
> Use `compose.override.yaml` file to override the services.
44+
>
45+
> ```bash
46+
> cp compose.override.yaml.example compose.override.yaml
47+
> ```
48+
49+
4. Once the services are up, add the certificates to the system and browser trust store
4850
4951
```bash
5052
bash ./ssl.sh
5153
```
5254
5355
**NOTE:** Restart the browser after adding the certificates to the trust store.
5456

55-
6. Access the services:
57+
5. Access the services:
5658

5759
Nextcloud: [nextcloud.local](https://nextcloud.local)
5860

0 commit comments

Comments
 (0)