Skip to content

4ky/ornellehq--ornelle

Repository files navigation

Ornelle Logo

Modern, open-source ATS

Ornelle ATS Banner

Ornelle is a comprehensive hiring platform built from the ground up for flexibility, speed, ease and AI-assisted workflows.


Features

  • Multi-workspace Support: Manage multiple organizations or teams with isolated workspaces

  • Career Pages: Simple, customizable career and opening pages

  • Application Management: Track and process applications with customizable workflows

  • Candidate Communication: Send and receive messages to and from candidates

  • Saved Views & Entities | Custom Fields | Advanced Filtering | Messaging Templates | Form Builder

  • Modern UI | API-First Design | File Handling | Self-hosted

  • And much more...

Getting Started

Prerequisites

  • Node.js (v22 recommended)
  • pnpm (v8 or later)
  • PostgreSQL (v14 or later)
  • Redis (v6 or later)

Installation

  1. Clone the repository
git clone https://github.com/ornellehq/ornelle.git
cd ornelle
  1. Install dependencies
pnpm install
  1. Run the interactive setup script
node setup.js

This script will:

  • Copy .env.sample files to .env files for all packages
  • Guide you through configuring key environment variables with an interactive UI
  • Run database migrations

Alternatively, you can manually configure:

cp packages/server/.env.sample packages/server/.env
cp packages/webapp/.env.sample packages/webapp/.env
cp packages/webpages/.env.sample packages/webpages/.env
# Edit the .env files with your settings

# Run migrations manually
cd packages/isomorphic-blocs
pnpm migrate:apply
cd ../..
  1. Start development servers
pnpm dev

The application should now be running on:

Architecture

Ornelle is built as a monorepo with the following packages:

  • webapp: Vite-based React frontend application
  • server: Fastify backend API server
  • webpages: Astro-powered public career pages
  • isomorphic-blocs: Shared business logic and database schemas
  • sdks: Generated API clients
  • lib: Shared utilities
  • webui-library: Reusable UI components

Configuration

Storage Options

Ornelle supports two storage providers:

  1. Local Storage: Files are stored on the local filesystem (default)
  2. AWS S3/CloudFront: Files are stored in S3 with CloudFront for content delivery

To configure AWS storage:

# In packages/server/.env
Storage={"provider":"aws","aws":{"Bucket": "your-bucket-name", "Region": "your-region", "S3AccessKey": "your-access-key", "S3SecretKey": "your-secret-key", "CloudFrontPrivateKey":"your-private-key", "CloudFrontKeyPairId":"your-key-pair-id", "CloudFrontDomain":"your-cloudfront-domain"}}

Documentation

More detailed documentation is available in the docs directory.

License

Ornelle ATS is licensed under the GNU Affero General Public License v3.0.

This license requires that:

  • You give credit to the original authors
  • You disclose your source code when distributing the software
  • If you modify the software and offer it as a network service, you must make the modified source code available to users of that service

Project Status

We are working on deployment guides. Until then, Open-source Ornelle is suitable for testing and evaluation purposes.

For production use, you can try out the fully-hosted version of Ornelle available at ornelle.co, which is production-ready and includes all features of the open-source version and more.


Made with ❤️ by the Ornelle team

About

Beautiful, modern ATS. Designed for speed and AI-assisted workflows

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages