This guide explains how to quickly spin up the entire ProofStamp architecture locally using Docker Compose.
- Docker installed and running.
- Docker Compose (usually included with Docker Desktop).
The easiest way to run the project locally without having to manually manage Python virtual environments, Node.js installations, and PostgreSQL instances is to use our provided docker-compose.yml.
git clone https://github.com/your-username/pramp.git
cd prampThe backend will crash on startup if it doesn't have its required cryptographic keys. You must create the environment file before starting the containers:
cd server
cp .env.example .envOpen server/.env and replace your_jwt_secret_change_this and your_64_char_hex_key with random strings.
(Note: There is no .env.example needed for the client/ directory because the frontend uses the default API URL configured in docker-compose).
Go back to the root directory and start the stack:
cd ..
docker compose up --buildNote: On your first run, it will install Node.js modules and Python dependencies inside the containers. This might take a couple of minutes.
- Frontend (Client): http://localhost:5173
- Backend (Server): http://localhost:3001
- Steganography (FastAPI): http://localhost:8000
- Database (PostgreSQL):
localhost:5432(User:postgres, Password:password)
- Database Connection Errors on First Boot: Postgres takes a few seconds to initialize. If the
servercontainer crashes saying "Cannot connect to database" during migration, just let it restart or pressCtrl+Cand rundocker compose upagain. - Database Migrations: The
servercontainer automatically runsprisma migrate deployon startup. If you make schema changes, you'll need to generate a new migration manually inside theserverdirectory usingnpx prisma migrate dev.
If you prefer to run things natively without Docker, refer to the README.md for individual service setup instructions.