Skip to content

horilla-opensource/horilla

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Horilla 🦍

AGPL License

Horilla is a Free and Open Source HRMS (Human Resource Management System) Software designed to streamline HR processes and enhance organizational efficiency.

Horilla Screenshot


Installation

Horilla can be installed on your system by following the steps below. Ensure you have Python, Django, and a database (preferably PostgreSQL) installed as prerequisites.


Prerequisites

1. Python Installation

Ubuntu

  1. Open the terminal and install Python:
    sudo apt-get install python3
  2. Verify the installation:
    python3 --version

Windows

  1. Download Python from the official website.
  2. During installation, ensure you select "Add Python to PATH".
  3. Verify the installation:
    python3 --version

macOS

  1. Install Homebrew (if not already installed):
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Install Python:
    brew install python
  3. Verify the installation:
    python3 --version

2. PostgreSQL Installation

Ubuntu

  1. Update System Packages:

    sudo apt update && sudo apt upgrade -y
  2. Install PostgreSQL:

    sudo apt install postgresql postgresql-contrib -y
  3. Start and Enable PostgreSQL:

    sudo systemctl start postgresql
    sudo systemctl enable postgresql
  4. Verify Installation:

    psql --version
  5. Configure PostgreSQL Database and User:

    • Switch to the postgres user:
      sudo su postgres
      psql
    • Create a new role and database:
      CREATE ROLE horilla LOGIN PASSWORD 'horilla';
      CREATE DATABASE horilla_main OWNER horilla;
      \q
    • Exit the postgres user:
      exit

Windows

  1. Download PostgreSQL:

  2. Install PostgreSQL:

    • Follow the setup wizard and set a password for the PostgreSQL superuser.
  3. Verify Installation:

    psql -U postgres
  4. Configure PostgreSQL Database and User:

    • Access PostgreSQL:
      psql -U postgres
    • Create a new role and database:
      CREATE ROLE horilla LOGIN PASSWORD 'horilla';
      CREATE DATABASE horilla_main OWNER horilla;
      \q

macOS

  1. Install PostgreSQL via Homebrew:

    brew install postgresql
  2. Start PostgreSQL:

    brew services start postgresql
  3. Verify Installation:

    psql --version
  4. Configure PostgreSQL Database and User:

    • Create a database and user:
      createdb horilla_main
      createuser horilla
      psql -c "ALTER USER horilla WITH PASSWORD 'horilla';"

Install Horilla

Follow the steps below to install Horilla on your system. Horilla is compatible with Ubuntu, Windows, and macOS.


1. Clone the Repository

Ubuntu

sudo git init
sudo git remote add horilla https://[email protected]/horilla-opensource/horilla.git
sudo git pull horilla master

Windows

git init
git remote add horilla https://horilla-opensource@github.com/horilla-opensource/horilla.git
git pull horilla master

macOS

git init
git remote add horilla https://[email protected]/horilla-opensource/horilla.git
git pull horilla master

2. Set Up Python Virtual Environment

Ubuntu

  1. Install python3-venv:
    sudo apt-get install python3-venv
  2. Create and activate the virtual environment:
    python3 -m venv horillavenv
    source horillavenv/bin/activate
  3. Install dependencies:
    pip install -r requirements.txt

Windows

  1. Create and activate the virtual environment:
    python -m venv horillavenv
    .\horillavenv\Scripts\activate
  2. Install dependencies:
    pip install -r requirements.txt

macOS

  1. Create and activate the virtual environment:
    python3 -m venv horillavenv
    source horillavenv/bin/activate
  2. Install dependencies:
    pip install -r requirements.txt

3. Configure Environment Variables

  1. Rename the environment file:

    mv .env.dist .env
  2. Edit the .env file and set the following values:

    DEBUG=True
    TIME_ZONE=Asia/Kolkata
    SECRET_KEY=django-insecure-j8op9)1q8$1&@^s&p*_0%d#pr@w9qj@lo=3#@d=a(^@9@zd@%j
    ALLOWED_HOSTS=www.example.com,example.com,*
    DB_INIT_PASSWORD=d3f6a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d
    DB_ENGINE=django.db.backends.postgresql
    DB_NAME=horilla_main
    DB_USER=horilla
    DB_PASSWORD=horilla
    DB_HOST=localhost
    DB_PORT=5432

4. Run Django Migrations

Follow these steps to run migrations and set up the database.

Ubuntu/macOS

  1. Apply migrations:
    python3 manage.py makemigrations
    python3 manage.py migrate

Windows

  1. Apply migrations:
    python manage.py makemigrations
    python manage.py migrate

5. Enable Translation

To enable translations and breadcrumbs text, compile the translations using the following commands.

Ubuntu/macOS

python3 manage.py compilemessages

Windows

python manage.py compilemessages

6. Run the Project

To run the project locally, execute the following commands.

Ubuntu/macOS

python3 manage.py runserver

Windows

python manage.py runserver

Accessing Horilla

If everything is configured correctly, you should be able to access your Horilla app at http://localhost:8000. Initialize Database in Horilla HRMS

Initial Setup

From the login page, you will have two options:

  1. Initialize Database: Use this option to initialize the Horilla database by creating a super admin, headquarter company, department, and job position. Authenticate using the DB_INIT_PASSWORD specified in the .env file.
  2. Load Demo Data: Use this option if you want to work with demo data. Authenticate using the DB_INIT_PASSWORD specified in the .env file.

Running on a Custom Port

If you wish to run the Horilla application on a different port, specify the port number after the runserver command. For example:

python3 manage.py runserver 8080  # For Ubuntu/macOS
python manage.py runserver 8080   # For Windows

Features

  • Recruitment
  • Onboarding
  • Employee Management
  • Attendance Tracking
  • Leave Management
  • Asset Management
  • Payroll
  • Performance Management System
  • Offboarding
  • Helpdesk

Roadmap

  • Calendar App - Development Under Process
  • Project Management - Development Under Process
  • Chat App - Development Under Process
  • More to come...

Languages and Tools Used

bootstrap chartjs css3 django git html5 linux postgresql python


Authors

Cybrosys Technologies


About

Horilla is an open-source HRMS solution designed to simplify HR operations and improve organizational efficiency.


This README provides a comprehensive guide to installing and setting up Horilla on various platforms. If you encounter any issues, feel free to reach out to the Horilla community for support. Happy coding! 🚀