With Docker Compose
For Linux and MacOS users, run this script to create a./packmind folder with a Docker Compose setup inside:
There are no default credentials. When accessing Packmind for the first time,
you must complete the sign-up process to create your first organization and
user account. See Managing
Organizations for more details about
creating and switching organizations.
docker compose pull && docker compose up -d.
With Helm on Kubernetes
Get started on the Helm Chart GitHub repository to deploy Packmind on Kubernetes.Connect your LLM (Optional but important)
Connecting a LLM offers a better experience when distributing your standards and commands in your Git Repositories, while it’s not mandatory and you can use Packmind without this. Packmind supports multiple AI providers: OpenAI, Anthropic Claude, Google Gemini, Azure OpenAI, and OpenAI-Compatible providers. See LLM Configuration for full details on configuring each provider. The Docker Compose template includes OpenAI configuration by default. To use Docker Compose with OpenAI, update thedocker-compose.yml file:
Add custom CA certificates (Docker Compose)
If your infrastructure uses self-signed certificates or custom Certificate Authorities (CA), you can configure Packmind to trust them:-
Create a
certsdirectory next to yourdocker-compose.yml: -
Place your CA certificate(s) in PEM format as
certs/ca-bundle.pem: -
Edit
docker-compose.ymland uncomment the certificate lines in bothapiandmcp-serverservices: -
Restart the services:
Enable social login with WorkOS (Optional)
Packmind supports social login via WorkOS AuthKit, allowing users to sign in with Google, Microsoft, or GitHub. To enable it, you need a WorkOS account and the following three environment variables:WORKOS_API_KEY- Your WorkOS API keyWORKOS_CLIENT_ID- Your WorkOS application Client IDWORKOS_REDIRECT_URI- The callback URL for OAuth redirects (e.g.,https://your-packmind-instance.com/api/v0/auth/social/callback)
api section of your docker-compose.yml:
Configure deployment and environment variables
Override environment variables
With Docker Compose
You can override bothapi and mcp sections of the docker-compose.yaml file.
Here is an example of how to add the SMTP_FROM variable to Docker Compose.
With Helm Chart
Follow the instructions on the Helm Chart GitHub repository on how the YAML values file.List of Environment variables
Database Configuration:DATABASE_URL️ - PostgreSQL database connection URL used by the API, TypeORM migrations, and data sources
APP_WEB_URL- Base URL of the web application, used for generating links in password reset and invitation emailsCORS_ORIGINS- Comma-separated list of allowed origins for CORS (Cross-Origin Resource Sharing) configuration
REDIS_URI- Full Redis connection URI used for caching and SSE (Server-Sent Events) client connections
SMTP Configuration
SMTP_HOST- SMTP server hostname for sending emailsSMTP_PORT- SMTP server port numberSMTP_SECURE- Whether to use secure connection (TLS/SSL) for SMTPSMTP_USER- Username for SMTP authenticationSMTP_PASSWORD- Password for SMTP authenticationSMTP_FROM- Default sender email address for outgoing emailsSMTP_IS_EXCHANGE_SERVER- Flag indicating if the SMTP server is a Microsoft Exchange server
JWT_SECRET- Secret key used for signing and verifying JWT tokens for authenticationENCRYPTION_KEY- Key used for encrypting sensitive data like password reset tokens, invitations, and git provider credentialsMAX_LOGIN_ATTEMPTS- Maximum number of failed login attempts before rate limiting is triggered (defaults to a configured value if not set)LOGIN_BAN_TIME_SECONDS- Duration (in seconds) for which user will not be allow to try to login again.
WORKOS_API_KEY- API key from your WorkOS dashboard for social login authenticationWORKOS_CLIENT_ID- Client ID of your WorkOS applicationWORKOS_REDIRECT_URI- OAuth callback URL, must point to your Packmind instance (e.g.,https://your-packmind-instance.com/api/v0/auth/social/callback)
OPENAI_API_KEY- API key for accessing OpenAI services for customizing standards and commands for AI Agents.
RATE_LIMIT_MAX_REQUESTS- Maximum number of requests allowed within the rate limit time window (defaults to 100)RATE_LIMIT_TIME_WINDOW- Time window in milliseconds for rate limiting (defaults to 60000ms / 1 minute)
PACKMIND_LOG_LEVEL- Log level for Packmind logger (e.g., ‘debug’, ‘info’, ‘warn’, ‘error’)
Next Steps
After setting up your self-hosted Packmind instance:- Install the CLI - Set up the Packmind CLI and authenticate with your instance
- Start Onboarding - Scan your codebase to create your first standards