Installation
π Hey there! Before you jump into the installation, ping us for a quick call - we'll get you set up with access to our Docker images. We're excited to help you get started, but please note that our availability is limited!
Omni Identity is a Dockerized application primarily intended for deployment on your own cloud infrastructure to fulfill one of the tenets of Omni CDI: maximum data ownership. This guide will help you set up your own identity resolution platform using Docker and Terraform. Please note that Omni Identity is currently not licensed as an open-source platform, so the guide below will only be relevant if we're collaborating.
Table of contentsβ
Docker Guideβ
Introductionβ
Omni Identity uses Docker containers for easy deployment and scalability. This guide will walk you through the setup process for both development and production environments.
Quick Startβ
-
Set up Environment Configuration
cp .env.example .env
Configure the following variables in .env:
APP_NAME=OmniIdentity
APP_ENV=production
APP_KEY=base64:z2YuIA8KN5Dv8RNWkcoGlDPcVQPhD237VaDJayyuHkM=
APP_DEBUG=false
APP_URL=http://localhost
APP_PORT=80
DASHBOARD_PREFIX=/
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=pgsql
DB_HOST=pgsql
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=pass
BROADCAST_DRIVER=log
CACHE_DRIVER=redis
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=redis
SESSION_LIFETIME=120
REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}" -
Start Docker Containers
docker-compose up -d app
Production Deploymentβ
Follow these steps for a production deployment:
-
Install Dependencies
docker-compose exec app composer install --no-dev
-
Database Setup
docker-compose exec app php artisan migrate
Important: Always backup your database before running migrations in production.
-
Create Admin User
docker-compose exec app php artisan orchid:admin admin admin@omni-identity.app pass
-
Storage Configuration
docker-compose exec app php artisan storage:link
sudo chown -R www-data:www-data ./storage/
sudo chmod -R 755 ./storage/ -
SSL Configuration
sudo apt-get install certbot
sudo certbot --apache -d identity.yourdomain.com -
Rebuild and Start
docker-compose up -d
Production Considerationsβ
- Scaling: For handling high volumes of identity resolution requests:
docker-compose up --scale app=3 -d
- Security: Implement fail2ban and proper file permissions
- Monitoring: Consider using Prometheus or Grafana for tracking identity resolution metrics
- Logging: Access container logs:
docker-compose logs -f app
Local Deploymentβ
For local development, follow these steps:
- Clone the repository
- Copy and configure .env
- Start containers with development configuration:
docker-compose -f docker-compose.dev.yml up -d
Docker Fileβ
The application uses a multi-stage Dockerfile for optimized builds. Configuration details can be found in the root directory's Dockerfile
.