Back to all templates
Frappe HR logo

Frappe HR

Application1024MB+ RAM

Modern, open-source HRMS by Frappe

hrhrmsfrappepayroll

Deploy Frappe HR in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Frappe HR

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Frappe HR on a VPS with Server Compass

Use the Frappe HR template in Server Compass to deploy a branch-aligned Frappe, ERPNext, and HRMS evaluation stack with MariaDB and Redis, then verify the Frappe HR login page in a browser.

About 15 minutesBrowser verified
1
Step 1

Open the server Apps tab

Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Server Compass Apps tab before creating a Frappe HR app
2
Step 2

Choose an app template

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Frappe HR

Use the template picker search to find Frappe HR in the Server Compass template catalog.

Searching for Frappe HR in the Server Compass template picker
4
Step 4

Select the Frappe HR template

Choose the Frappe HR template. Server Compass prepares the Frappe bench container, MariaDB, Redis, site bootstrap script, and required secret values.

Frappe HR template selected in Server Compass
5
Step 5

Review the Frappe HR settings

Confirm the app name and compose services. In this run, the app was named frappe-hr-demo and used host port 8080.

Reviewing Frappe HR project settings and compose services
6
Step 6

Deploy Frappe HR

Review the generated environment values, keep the database password masked, confirm the port is available, and click Deploy Now.

Reviewing Frappe HR environment variables and port before deployment
7
Step 7

Watch the deployment progress

Keep the deployment modal open while Server Compass writes the bootstrap script, pulls images, initializes Frappe, fetches ERPNext and HRMS, creates the site, installs HRMS, and starts the bench services.

Server Compass deploying the Frappe HR template on the VPS
8
Step 8

Confirm Frappe HR is running

After deployment finishes, return to the Apps tab and confirm the Frappe HR app is marked Running with its application URL available.

Frappe HR template running in the Server Compass Apps tab
9
Step 9

Open Frappe HR in the browser

Click Open Application or open the application URL in a browser. The Frappe HR login page confirms the deployed site was initialized and is reachable.

The deployed Frappe HR login page loaded in a browser

After Frappe HR Opens

  • Sign in with the Administrator account and the generated Frappe HR administrator password from Server Compass.
  • Keep the database and administrator passwords masked in screenshots and docs.
  • Add a domain and HTTPS before inviting users or publishing content publicly.
  • Create roles and permissions before publishing editorial workflows.
  • Use the template for evaluation only; before storing employee data, move to a production Frappe deployment pattern with durable application storage, HTTPS, and tested backups.

Verified Result

The Frappe HR app loaded successfully in a browser and displayed the login page.

Frappe HR deployment questions

What does the Frappe HR template deploy?

It deploys the official Frappe HR Docker bootstrap shape with frappe/bench, MariaDB 10.8, Redis, Frappe version 15, ERPNext version 15, and HRMS version 15.

Which port did the tutorial use?

The tutorial used host port 8080, which maps to the Frappe bench web server on container port 8000.

Why does the browser verification stop at the login page?

A fresh Frappe HR deployment is considered reachable when the initialized site loads the login page. Continuing further would require entering generated administrator credentials, so the public guide verifies the safe pre-login state.

Should this become a blog post?

No. The deployment guide should live on the Frappe HR template detail page and be linked from the reusable template deployment docs page.

CLI Deployment

Deploy Frappe HR Yourself

Want full control? Here's how to deploy Frappe HR yourself using Docker Compose.

1

Remote into Your Server

Initiate a secure shell connection to your server using the command below.

terminal
# Connect to your VPS
ssh root@your-server-ip

# Or with a specific SSH key
ssh -i ~/.ssh/your-key root@your-server-ip

First time? Docker required! Install it with: curl -fsSL https://get.docker.com | sh

2

Create the App Directory

Organize your deployment by creating a dedicated project folder.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/frappe-hr
cd ~/apps/frappe-hr
3

Write Your docker-compose.yml

Create a new docker-compose.yml file and paste this configuration:

docker-compose.yml
services:
  frappe:
    image: frappe/erpnext:latest
    ports:
      - "8080:8000"
    environment:
      - SITE_NAME=<your-site-name>
      - DB_HOST=db
      - DB_PORT=3306
      - REDIS_CACHE=redis:6379
      - REDIS_QUEUE=redis:6379
    volumes:
      - frappe_sites:/home/frappe/frappe-bench/sites
      - frappe_logs:/home/frappe/frappe-bench/logs
    restart: unless-stopped
    depends_on:
      - db
      - redis

  db:
    image: mariadb:11
    environment:
      - MARIADB_ROOT_PASSWORD=<your-db-root-password>
    volumes:
      - mariadb_data:/var/lib/mysql
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    restart: unless-stopped

volumes:
  frappe_sites:
  frappe_logs:
  mariadb_data:
Required Settings
PORTHost port(default: 8080)
SITE_NAMESite name
DB_ROOT_PASSWORDRoot password
4

Launch the Containers

Start the services and tail the logs to verify startup.

terminal
# Spin up containers
docker compose up -d

# Verify deployment
docker compose ps

# Check logs for errors
docker compose logs -f
5

Open Firewall Ports

Open the required port in your firewall to allow access.

terminal
# Allow the application port through firewall
sudo ufw allow 8080/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:8080
Skip the Terminal

Want the easy way? Try Server Compass.

Skip the terminal and deploy Frappe HR with a visual interface. Configure everything with clicks, not commands.

  • Visual config editor
  • Instant deployment
  • Automatic HTTPS
  • Smooth updates
  • Live monitoring
  • Quick rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Frappe HR with Server Compass, complete these steps to finish setup

1

Create site

2

Install HRMS app

3

Configure HR modules

Need help? Check out our documentation for detailed guides.

Frappe HR FAQ

Common questions about self-hosting Frappe HR

How do I deploy Frappe HR with Server Compass?

Simply download Server Compass, connect to your VPS, and select Frappe HR from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.

What are the system requirements for Frappe HR?

Frappe HR requires a minimum of 1024MB RAM. We recommend a VPS with at least 2048MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Frappe HR data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Frappe HR backup and restore procedures.

How do I update Frappe HR to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Frappe HR image will be pulled and deployed with zero downtime.

Is Frappe HR free to self-host?

Frappe HR is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Ready to Self-Host Frappe HR?

Download Server Compass and deploy Frappe HR to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass