Skip to content

Deployment

Hive ships with a Dockerfile and production docker-compose.yml.

Terminal window
# Build
docker build -t hive .
# Run
docker run -p 3000:3000 --env-file .env hive

The production docker-compose.yml is configured for Traefik reverse proxy with automatic TLS. Customize the Traefik labels for your domain.

  • PostgreSQL 16+ (external or containerized)
  • Node.js 22+ (if running from source)
  • Reverse proxy recommended for TLS termination
  1. Create a PostgreSQL database
  2. Run migrations: npm run db:migrate
  3. For tables not tracked by Drizzle, see the migration docs

If your application connects as a different user than the migration user, grant permissions:

GRANT ALL ON ALL TABLES IN SCHEMA public TO your_app_user;
GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO your_app_user;
Terminal window
curl http://your-hive-url/api/health
# Returns: {"status":"ok"}

For detailed diagnostics (admin only):

Terminal window
curl http://your-hive-url/api/doctor -H "Authorization: Bearer YOUR_ADMIN_TOKEN"