Step-by-step guide to run the full GistPin stack locally.
git clone https://github.com/PinSpace-Org/GistPin.git
cd GistPinFollow TOOLS.md for version-specific installation instructions.
cp Backend/.env.example Backend/.env
# Edit Backend/.env and fill in required valuesKey variables:
| Variable | Description |
|---|---|
DATABASE_URL |
PostgreSQL connection string |
SOROBAN_RPC_URL |
Stellar Soroban RPC endpoint |
IPFS_API_URL |
IPFS API endpoint |
docker compose -f infrastructure/docker/docker-compose.yml up -dThis starts PostgreSQL and any supporting services. Verify they are healthy:
docker compose -f infrastructure/docker/docker-compose.yml pscd Backend
npm install
npm run migration:runcd Backend
npm run start:devThe API is available at http://localhost:3000.
cd Frontend
npm install
npm run devThe frontend is available at http://localhost:3001.
curl http://localhost:3000/healthExpected response: {"status":"ok"}
docker compose -f infrastructure/docker/docker-compose.yml down| Problem | Fix |
|---|---|
| Port 5432 already in use | Stop local PostgreSQL: sudo service postgresql stop |
| Migration fails | Check DATABASE_URL in .env points to the running container |
| Frontend can't reach API | Ensure NEXT_PUBLIC_API_URL is set in Frontend/.env.local |