3.1 KiB
Project Manager
The ProjectManager is a tool for managing multiple PocketBase instances. It is an easy-to-use web interface for creating, editing and deleting PocketBase instances.
Features
- Automatic Docker configuration
- Automatic DNS Mapping
- Automatic SSL configuration using NginxProxyManager
- Multiple languages
- Own domains
- Export / import projects
Installation
The installation is done using a Docker-Compose file. Two containers, one for the backend and one for the frontend, are started here. The default configuration looks like this:
version: '3.0'
services:
frontend:
image: ghcr.io/leonhoppe/projectmanager/frontend:latest
restart: unless-stopped
environment:
- BACKEND=https://api.example.com
ports:
- '4220:4000'
backend:
image: ghcr.io/leonhoppe/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 variables
| Variable | Bedeutung |
|---|---|
| BACKEND | The backend url |
| FRONTEND | The frontend url |
| GENERAL__DATABASE | The MySql connection string |
| GENERAL__ROOT | Folder on the host system for storing the PocketBase files |
| PROXY__ENABLE | Enables built-in SSL encryption with NginxProxyManager |
| PROXY__URL | The URL for the NginxProxyManager web interface |
| PROXY__EMAIL | Email address for an admin user of NginxProxyManager |
| PROXY__PASSWORD | Password for an admin user of NginxProxyManager |
| PROXY__DOMAIN | Standard domain for PocketBase instances ([id].api.example.com) |
| PROXY__HOST | Server host address (for the reverse proxy) |
Edit source code and create Docker images yourself
If you want to edit the source code yourself, it is of course available to you. To use the backend in debug mode you should use a
appsettings.Development.json file in the main directory to create the appropriate configuration for the development environment.
For debugging I recommend npm run dev:ssr to start the frontend and dotnet run to start the backend. Unless you're done with the edits
there is a docker-compose.example.yml file in the repository that automatically rebuilds the source code and starts the containers.
Alternatively, you can build them yourself with docker build.