Skip to main content

Requirements

  • Docker & Docker Compose v2
  • At least 2 GB RAM
  • PostgreSQL 15+ (included in Docker Compose)

Docker Compose Deployment

Placet ships with a production-ready docker-compose.yml that includes all required services.
1

Clone and configure

bash git clone https://github.com/centerbitco/placet.git cd placet cp .env.example .env Edit .env with your production settings: - Set strong passwords for POSTGRES_PASSWORD, MINIO_ROOT_PASSWORD - Set JWT_SECRET to a secure random string - Configure INITIAL_USER_EMAIL and INITIAL_USER_PASSWORD - Set NEXT_PUBLIC_WS_URL and NEXT_PUBLIC_APP_URL to your domain
2

Start services

bash docker compose up -d
3

Run migrations

bash docker compose exec backend npx prisma migrate deploy

Services

ServicePortDescription
Frontend3000Next.js web application
Backend3001REST API server
Postgres5432PostgreSQL database
MinIO9000S3-compatible object storage

Reverse Proxy

A Traefik configuration is included in docker-compose.traefik.yml for production deployments with TLS/SSL.
docker compose -f docker-compose.yml -f docker-compose.traefik.yml up -d

Environment Variables

See .env.example in the repository for a complete list of all available environment variables with descriptions.

Core Settings

VariableDescriptionDefault
DATABASE_URLPostgreSQL connection string
JWT_SECRETSecret for JWT token signing
INITIAL_USER_EMAILInitial admin user emailadmin@placet.local
INITIAL_USER_PASSWORDInitial admin user passwordchangeme
NEXT_PUBLIC_WS_URLWebSocket URL for the frontendhttp://localhost:3001
NEXT_PUBLIC_APP_URLPublic URL of the frontendhttp://localhost:3000

File Storage (MinIO/S3)

VariableDescriptionDefault
MINIO_ENDPOINTMinIO/S3 endpointminio:9000
MINIO_ACCESS_KEYAccess key
MINIO_SECRET_KEYSecret key
MINIO_BUCKETBucket nameplacet