Getting Started
Pocketr can be run as a self-hosted app or as a local development environment. Choose the setup that matches how you want to use it.
How to deploy
1. Docker deployment
Docker is the simplest deployment path for most users. It packages Pocketr and PostgreSQL into containers, making the setup easy to repeat, update, and move between machines.
Create a .env file with the required database password:
POSTGRES_PASSWORD=change-me
Start Pocketr:
docker compose up -d
The default Compose setup starts:
- Pocketr app
- PostgreSQL database
- Persistent storage for uploaded avatars and database data
Useful optional settings:
POCKETR_VERSION=latest
POCKETR_BIND_ADDRESS=0.0.0.0
POCKETR_PORT=8081
If you already run PostgreSQL elsewhere, provide the external datasource settings and start only the app service:
DB_URL=jdbc:postgresql://postgres.example.com:5432/pocketr_db \
DB_USERNAME=pocketr_user \
DB_PASSWORD=change-me \
docker compose up -d --no-deps pocketr-app
2. LXC container
Pocketr can also be deployed inside an LXC container, for example on a Proxmox host. This gives you a lightweight, isolated environment while still keeping the deployment close to a traditional Linux server setup.
This mode is useful if you already manage home lab or server infrastructure with Proxmox and prefer to keep each service in its own container. Inside the LXC container, install Docker and run the same Docker deployment described above.
3. Local development
Pocketr's local development infrastructure is Docker based. It includes Traefik, PostgreSQL and pgAdmin. This way contributors do not need to install every supporting service directly on their machine.
JetBrains IntelliJ IDEA gives the most plug-and-play local experience because the repository already contains run configurations. After fetching the repository from GitHub and opening it in IntelliJ, those configurations should be loaded automatically.
You can still use any IDE or tools to your preference.
In IntelliJ, run the Pocketr Local Dev configuration. It starts:
- Docker infrastructure with Traefik, PostgreSQL and pgAdmin
- Pocketr backend
- Pocketr frontend
If everything is green, the local development setup should be available at:
http://localhost
For a manual local setup, start the infrastructure first:
docker compose -f docker-compose.dev.yaml up -d db traefik-reverse-proxy pgadmin
Then start the backend and frontend:
cd pocketr-api
./gradlew bootRun
cd pocketr-ui
npm run dev