Getting Started

Installation

Get started with FerrisKey IAM solution.

Get FerrisKey up and running in minutes with multiple installation methods suited for different environments and use cases.

System Requirements

Before installing FerrisKey, ensure your system meets these minimum requirements:

  • CPU: 1+ cores (2+ recommended for production)
  • Memory: 512MB RAM minimum (2GB+ recommended for production)
  • Storage: 1GB available disk space
  • Operating System: Linux, macOS, or Windows
  • Database: PostgreSQL 15+

Quick Start with Docker

The fastest way to get FerrisKey running is using Docker Compose:

Create Docker Compose file

Create a docker-compose.yml file:

docker-compose.yml
version: '3.8'

services:
  db:
    image: postgres:17
    environment:
      POSTGRES_DB: ferriskey
      POSTGRES_PASSWORD: ferriskey
      POSTGRES_USER: ferriskey
    ports:
      - 5432:5432
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test:
        - CMD-SHELL
        - pg_isready
        - -U
        - ferriskey
        - -d
        - ferriskey
      interval: 10s
      retries: 5
      start_period: 30s
      timeout: 10s

  db-migrations:
    image: ghcr.io/ferriskey/ferriskey-api:latest
    entrypoint:
      - sqlx
    command:
      - migrate
      - run
      - --source
      - /usr/local/src/ferriskey/migrations
    environment:
      DATABASE_URL: postgresql://ferriskey:ferriskey@db/ferriskey
    restart: no
    depends_on:
      db:
        condition: service_healthy

  api:
    image: ghcr.io/ferriskey/ferriskey-api:latest
    environment:
      ALLOWED_ORIGINS: http://localhost:5556
      WEBAPP_URL: http://localhost:5556
      DATABASE_HOST: db
      DATABASE_NAME: ferriskey
      DATABASE_PASSWORD: ferriskey
      DATABASE_USER: ferriskey
    ports:
      - 3334:3333
    depends_on:
      db-migrations:
        condition: service_completed_successfully

  webapp:
    image: ghcr.io/ferriskey/ferriskey-webapp:latest
    environment:
      API_URL: http://localhost:3334
    ports:
      - 5556:80
    depends_on:
      - api

volumes:
  pgdata:

Start Ferriskey

docker compose up -d

Access FerrisKey

Open your browser and navigate to http://localhost:5556. The FerrisKey web interface will be available for configuration and user management. The API will be accessible at http://localhost:3334 for direct integration.

The first startup may take a few minutes as the database migrations are applied.