This guide covers the installation, configuration, and maintenance of a self-hosted Kontratar instance. Self-hosting is intended for organizations that require a private deployment on their own infrastructure rather than using the Kontratar SaaS platform.Documentation Index
Fetch the complete documentation index at: https://docs.kontratar.com/llms.txt
Use this file to discover all available pages before exploring further.
System requirements
| Requirement | Minimum specification |
|---|---|
| Operating system | Linux, macOS, or Windows with WSL |
| RAM | 8 GB |
| Disk space | 10 GB free |
| Docker | Docker and Docker Compose installed |
| Python | 3.8 or later |
| Git | Installed |
| Liquibase | Installed (used for database schema configuration) |
| Network | Internet access required for installation |
Prerequisites
Before starting the installation, prepare the following:1. Database
A running PostgreSQL database (self-hosted or cloud-based, for example AWS RDS). You will need:- Database host, username, and password
- An SSL certificate (
.crtfile) for verifying the database connection
2. SMTP (optional)
SMTP credentials for sending notification emails. While optional, SMTP is recommended for full platform functionality.3. Redis
A Redis instance (cloud-based or self-hosted). You will need the host address, port, and password.4. Domain name
A registered domain name for your self-hosted instance. You will need a TLS/SSL certificate to verify the domain connection.Installation
Step 1: Download the installer
The repository URL above is a placeholder. The actual URL will be provided during your onboarding process.
Step 2: Make the installer executable (Linux/macOS)
Step 3: Run the installer
| Prompt | Description |
|---|---|
| Base port | The starting port for the application (for example, 3000). All services are offset from this port. |
| Domain name | The domain for your self-hosted instance (for example, example.yourdomain.com). Optionally provide an SSL certificate path. |
| PostgreSQL credentials | Host, username, password, and SSL certificate path. |
| Redis credentials | Host, port, and password. |
| SMTP credentials | Host, username, password, and port. |
What the installer does
The installer performs the following actions:- Authenticates and accesses the Docker registry.
- Downloads and runs the Liquibase database schema setup.
- Generates an
.envfile with your environment variables. - Creates a
docker-compose.ymlfile with port mappings based on your base port. - Pulls and runs all required containers.
Port mapping
All services are offset from your base port. For example, if your base port is 3000:| Service | Port offset | Final port |
|---|---|---|
| Frontend | +0 | 3000 |
| Auth Service | +1 | 3001 |
| Opps Controller | +2 | 3002 |
| SAM Data Feed | +3 | 3003 |
| SAM to Repository | +4 | 3004 |
| Opportunity Service | +5 | 3005 |
| Award Repository | +6 | 3006 |
| Information Service | +7 | 3007 |
| API Gateway | +8 | 3008 |
Accessing your instance
After the containers are running, access Kontratar at:Verifying service health
Verifying running containers
Maintenance
Restarting all services
Viewing service logs
Updating environment configuration
Edit the.env file, then restart:
Reinstalling with new configuration
To reconfigure from scratch:Related topics
- Quick Start — Account creation and workspace configuration (applies to both SaaS and self-hosted instances).
- Administrator Workspace — Organizational management after installation.
- FAQ — Common questions about Kontratar.
