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.
- Automatic Docker configuration
- Automatic DNS Mapping
- Automatic SSL configuration using NginxProxyManager
- Multiple languages
- Own domains
- Export / import projects
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| 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) |
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.