Installation
Inspire runs as a set of Docker containers. You can deploy on a single server for small installations or scale across multiple nodes for enterprise deployments.
Prerequisites
| Requirement | Details |
|---|---|
| Docker | v24.0 or later |
| Docker Compose | v2.20 or later |
| Domain/IP | A hostname or IP address accessible by your display devices |
| License key | Obtained from your Optymyse account or sales representative |
Quick Start with Docker Compose
Clone the deployment repository
# Clone the deployment repository provided with your Inspire license
git clone <your-deployment-repo-url>
cd inspire-deployConfigure environment
Copy the example environment file and edit it with your settings:
cp .env.example .envKey variables to set:
# Required
INSPIRE_LICENSE_KEY=your-license-key
INSPIRE_DOMAIN=inspire.yourcompany.com
INSPIRE_SECRET_KEY=generate-a-random-64-char-string
# Database (PostgreSQL is included by default)
DATABASE_URL=postgresql://inspire:password@db:5432/inspireStart the services
docker compose up -dThis starts all three services (Edge, DataPool, Renderer) plus PostgreSQL and Redis.
Verify the deployment
Open your browser and navigate to your configured domain. You should see the Inspire login screen.
Log in with default credentials
| Field | Value |
|---|---|
root@inspire.local | |
| Password | p@55wOrd |
Change the default password immediately after your first login. Navigate to Settings and update your account credentials.
Production Deployment with Kamal
For production environments, Inspire uses Kamal for zero-downtime container deployment.
Install Kamal
gem install kamalConfigure deployment
Edit config/deploy.yml with your server details:
service: inspire
image: optymyse/inspire
servers:
web:
hosts:
- your-server-ip
labels:
traefik.http.routers.inspire.rule: Host(`inspire.yourcompany.com`)
env:
clear:
INSPIRE_DOMAIN: inspire.yourcompany.com
secret:
- INSPIRE_LICENSE_KEY
- INSPIRE_SECRET_KEY
- DATABASE_URLDeploy
kamal setup # First time only
kamal deploy # Subsequent deploymentsService Architecture
After installation, the following services are running:
| Service | Default Port | Purpose |
|---|---|---|
| Edge | 5001 | Web UI, API, authentication |
| DataPool | 8080 | Data ingestion and real-time push |
| Renderer | 8090 | Display rendering engine |
| PostgreSQL | 5432 | Primary database |
| Redis | 6379 | Caching, pub/sub, sessions |
SSL/TLS Configuration
For production, configure SSL through your reverse proxy (Traefik, nginx, or Caddy). Kamal deployments include Traefik with automatic Let’s Encrypt certificates by default.
Updating
To update Inspire to the latest version:
# Docker Compose
docker compose pull
docker compose up -d
# Kamal
kamal deployDatabase migrations run automatically on startup.
Troubleshooting Installation
| Issue | Solution |
|---|---|
| Container fails to start | Check logs with docker compose logs edge |
| Cannot access web UI | Verify port mappings and firewall rules |
| Database connection error | Ensure PostgreSQL is running and DATABASE_URL is correct |
| License activation fails | Check internet connectivity or use offline activation |