270 lines
3.0 KiB
Markdown
270 lines
3.0 KiB
Markdown
# OpenProject
|
|
|
|
## Overview
|
|
|
|
OpenProject is the project management and collaboration platform used by Silver Solutions.
|
|
|
|
It provides:
|
|
|
|
* Project management
|
|
* Task tracking
|
|
* Work packages
|
|
* Time tracking
|
|
* Roadmaps
|
|
* Team collaboration
|
|
* Document management
|
|
|
|
OpenProject replaces the previously planned Plane.so deployment.
|
|
|
|
---
|
|
|
|
## Service Information
|
|
|
|
### URL
|
|
|
|
```text
|
|
https://team.silveressence.net
|
|
```
|
|
|
|
### Container Name
|
|
|
|
```text
|
|
openproject
|
|
```
|
|
|
|
### Image
|
|
|
|
```text
|
|
openproject/openproject:17
|
|
```
|
|
|
|
### Docker Network
|
|
|
|
```text
|
|
internal
|
|
```
|
|
|
|
---
|
|
|
|
## Purpose
|
|
|
|
OpenProject is used for:
|
|
|
|
* Project planning
|
|
* Task management
|
|
* Development tracking
|
|
* Internal collaboration
|
|
* Customer project management
|
|
* Team planning
|
|
|
|
---
|
|
|
|
## Database
|
|
|
|
Database:
|
|
|
|
```text
|
|
openproject
|
|
```
|
|
|
|
Database User:
|
|
|
|
```text
|
|
openproject
|
|
```
|
|
|
|
Database Host:
|
|
|
|
```text
|
|
postgres
|
|
```
|
|
|
|
Database access is provided through the internal Docker network.
|
|
|
|
---
|
|
|
|
## Email Configuration
|
|
|
|
Sender Address:
|
|
|
|
```text
|
|
noreply@silveressence.net
|
|
```
|
|
|
|
Purpose:
|
|
|
|
* Password reset emails
|
|
* User notifications
|
|
* Work package notifications
|
|
* Mention notifications
|
|
* Project updates
|
|
|
|
SMTP credentials are stored in:
|
|
|
|
```text
|
|
/srv/secrets/company.env
|
|
```
|
|
|
|
---
|
|
|
|
## Data Storage
|
|
|
|
Assets Location:
|
|
|
|
```text
|
|
/srv/docker/openproject/assets
|
|
```
|
|
|
|
Contains:
|
|
|
|
* Attachments
|
|
* Uploaded files
|
|
* Application assets
|
|
* User generated content
|
|
|
|
This directory must be included in backups.
|
|
|
|
---
|
|
|
|
## Secrets
|
|
|
|
The following values are stored in:
|
|
|
|
```text
|
|
/srv/secrets/company.env
|
|
```
|
|
|
|
Variables:
|
|
|
|
```text
|
|
POSTGRES_OPENPROJECT_PASSWORD
|
|
OPENPROJECT_SECRET_KEY_BASE
|
|
|
|
SMTP_HOST
|
|
SMTP_PORT
|
|
SMTP_USERNAME
|
|
SMTP_PASSWORD
|
|
```
|
|
|
|
Secrets must never be committed to Git.
|
|
|
|
---
|
|
|
|
## Authentication
|
|
|
|
Current Authentication:
|
|
|
|
* Local accounts
|
|
|
|
Future Considerations:
|
|
|
|
* Google OAuth2
|
|
* GitHub OAuth2
|
|
* Microsoft Entra ID
|
|
|
|
---
|
|
|
|
## Docker Configuration
|
|
|
|
Volume Mapping:
|
|
|
|
```text
|
|
/srv/docker/openproject/assets:/var/openproject/assets
|
|
```
|
|
|
|
Port Mapping:
|
|
|
|
```text
|
|
8082:80
|
|
```
|
|
|
|
Network:
|
|
|
|
```text
|
|
internal
|
|
```
|
|
|
|
OpenProject should not be exposed directly to the internet.
|
|
|
|
Access should be routed through Nginx Proxy Manager.
|
|
|
|
---
|
|
|
|
## Administration
|
|
|
|
View Logs:
|
|
|
|
```bash
|
|
docker logs openproject
|
|
```
|
|
|
|
Restart Service:
|
|
|
|
```bash
|
|
docker restart openproject
|
|
```
|
|
|
|
Open Shell:
|
|
|
|
```bash
|
|
docker exec -it openproject bash
|
|
```
|
|
|
|
---
|
|
|
|
## Backup Requirements
|
|
|
|
The following items must be backed up:
|
|
|
|
### Database
|
|
|
|
```text
|
|
openproject
|
|
```
|
|
|
|
### Assets
|
|
|
|
```text
|
|
/srv/docker/openproject/assets
|
|
```
|
|
|
|
### Secrets
|
|
|
|
```text
|
|
/srv/secrets/company.env
|
|
```
|
|
|
|
Without these items, a complete restoration is not possible.
|
|
|
|
---
|
|
|
|
## Recovery Checklist
|
|
|
|
To restore OpenProject:
|
|
|
|
1. Restore PostgreSQL database.
|
|
2. Restore OpenProject assets directory.
|
|
3. Restore company.env secrets.
|
|
4. Deploy Docker Compose stack.
|
|
5. Verify SMTP configuration.
|
|
6. Verify access through Nginx Proxy Manager.
|
|
|
|
---
|
|
|
|
## Related Services
|
|
|
|
* PostgreSQL
|
|
* Nginx Proxy Manager
|
|
* Gitea
|
|
* Portainer
|
|
|
|
---
|
|
|
|
## Related Documentation
|
|
|
|
* docs/server.md
|
|
* docs/security.md
|
|
* docs/secrets.md
|
|
* docs/backups.md
|
|
* postgres/README.md
|