Archived
Private
Public Access
1
0
This repository has been archived on 2026-02-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ProjectManager/README.md

67 lines
3.3 KiB
Markdown

# Project Manager
Der ProjectManager ist ein Tool zum Verwalten von mehreren PocketBase Instanzen.
Es handelt sich hierbei um ein einfach zu benutzendes WebInterface zum Erstellen, Bearbeiten und Löschen von PocketBase Instanzen.
## Features
- [x] Automatische Docker Konfiguration
- [x] Automatisches DNS Mapping
- [x] Automatische SSL-Konfiguration mithilfe von NginxProxyManager
- [ ] Projekt Transferierung auf verschiedene Nodes
- [ ] Eigene Domains
- [ ] Mehrere Sprachen
## Installation
Die Installation erfolgt durch eine Docker-Compose Datei. Hierbei werden zwei Container, einer für das Backend und einer für das Frontend, gestartet.
Die Standartkonfiguration sieht wie folgt aus:
```yml
version: '3.0'
services:
frontend:
image: git.leon-hoppe.de/leon.hoppe/projectmanager_frontend:latest
restart: unless-stopped
environment:
- BACKEND=https://api.example.com
ports:
- '4220:4000'
backend:
image: git.leon-hoppe.de/leon.hoppe/projectmanager_backend:latest
restart: unless-stopped
environment:
- FRONTEND=https://example.com
- GENERAL__DATABASE=server=1.2.3.4;database=ProjectManager;user=ProjectManager;password=changeMe
- GENERAL__ROOT=/projects
- PROXY__ENABLE=true
- PROXY__URL=https://proxy.example.com
- PROXY__EMAIL=admin@example.com
- PROXY__PASSWORD=changeMe
- PROXY__DOMAIN=api.example.com
- PROXY__HOST=1.2.3.4
ports:
- '4221:80'
volumes:
- /var/run/docker.sock:/var/run/docker.sock
```
### Environment Variablen
| Variable | Bedeutung |
|-------------------|----------------------------------------------------------------------|
| BACKEND | Die URL des Backends |
| FRONTEND | Die URL des Frontends |
| GENERAL__DATABASE | Der MySql Connection String |
| GENERAL__ROOT | Ordner auf dem Hostsystem zur Speicherung der PocketBase Dateien |
| PROXY__ENABLE | Aktiviert die eingebaute SSL Verschlüsselung durch NginxProxyManager |
| PROXY__URL | Die URL für das WebInterface des NginxProxyManager |
| PROXY__EMAIL | E-Mail-Adresse für einen Admin Benutzer von NginxProxyManager |
| PROXY__PASSWORD | Passwort für einen Admin Benutzer von NginxProxyManager |
| PROXY__DOMAIN | Standart Domain für PocketBase instanzen ([id].api.example.com) |
| PROXY__HOST | Hostadresse des Servers (für die reverse proxy) |
### Docker Images von SourceCode generieren
Falls Sie den SourceCode selbst bearbeiten wollen, steht Ihnen dieser natürlich zur Verfügung. Um das Backend im Debug Modus zu verwenden sollten sie eine
``appsettings.Development.json`` Datei im Hauptverzeichnis anlegen um dort die entsprechende Konfiguration für die Entwicklungsumgebung erstellen.
Zum Debuggen empfehle ich ``npm run dev:ssr`` um das Frontend zu starten und ``dotnet run`` um das Backend zu starten. Sofern Sie mit den Bearbeitungen fertig
sind, gibt es eine ``docker-compose.example.yml`` Datei im dem Repository die automatisch den SoruceCode neu baut und die Container startet.
Wahlweise können Sie diese mit ``docker build`` auch selbst bauen.