Archived
Private
Public Access
1
0

Fixed Docker issue + added README.md

This commit is contained in:
2023-03-25 10:50:33 +01:00
parent 61905c4ca5
commit 4d37c87b8c
2 changed files with 66 additions and 1 deletions

66
README.md Normal file
View File

@@ -0,0 +1,66 @@
# 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
## Instalation
Die Instalation 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
```
### Enviroment 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 Datein |
| 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.