Skip to content

On-Premises Host Setup

This guide walks you through setting up the complete EasyTask infrastructure on your own Linux host using the interactive installer. This is the first step for on-premises deployments — it deploys everything: database, message broker, secrets store, identity management, scheduler, web interface, and the maintenance agent.


Prerequisites

Requirement Details
Operating System Linux (Ubuntu 22.04 or later recommended)
Disk Space Minimum 50 GB free
Network Outbound internet access (for pulling container images)
Podman Required — see Prerequisites Guide
User Privileges Passwordless sudo for loginctl enable-linger — see Privilege Setup
Ports 5432, 6379, 8080, 8081, 8200, 8002, 8091, 8020 must be free

Rootless Podman

EasyTask uses rootless Podman — no root access is needed for normal operation. You only need passwordless sudo for the initial loginctl enable-linger setup.


Step 1 — Get the Installer

Log in to the EasyTask Web Console and navigate to the Client Portal dashboard. Copy the download command displayed there.

On your target Linux host, open a terminal and run:

curl -sL -o /tmp/install.sh "https://<your-easytask-host>/run_easytask_installer?client_identifier=<your-token>" && bash /tmp/install.sh

The installer downloads and extracts automatically. You will see:

=== EasyTask Installer ===
Working directory: ~/easytask

Use the on-prem command

Make sure you use the on-prem installer command from the portal, not the cloud agent command. The on-prem command uses /run_easytask_installer and downloads the full installer package. The cloud command uses /run_easytask_agent_installer and only installs the agent binary.


Step 2 — License Verification (First Run Only)

On the first run, the installer prompts for a one-time password (OTP) to download your license certificates:

  Step 1/4: Checking license...

  An OTP has been sent to your registered email.
  Enter OTP: 123456

  License files saved successfully.

Enter the 6-digit OTP sent to your registered email. Once downloaded, this step is skipped on subsequent runs.


Step 3 — Select "Setup EasyTask Host"

The installer presents an interactive menu:

============================================================
   EasyTask Installer V2
============================================================

  What would you like to do?

    1. Setup EasyTask Host (Infrastructure)
    2. Install Scheduler Instance
    3. Install Agent
    4. Install Integration Server
    5. Install EasyTask CLI
    6. Uninstall EasyTask (Full)
    7. Uninstall Scheduler Instance
    8. Uninstall Agent
    9. Uninstall Integration Server
    0. Exit

  Enter choice [0-9]:

Select 1 to set up the full infrastructure.


Step 4 — Provide Configuration

The installer prompts for the following settings. Press Enter to accept defaults where shown:

Connection Settings

Prompt Description Example
EasyTask Host URL The URL of your EasyTask backend https://devext.runeasytask.io:8880
Client Identifier Your unique client token Auto-filled from installer config

Database Settings

Prompt Default Description
PostgreSQL User easytask_user Database user
PostgreSQL Password auto-generated Database password
PostgreSQL Port 5432 Database port
Database Name easytaskdb Initial database name

Message Broker

Prompt Default Description
Broker Password auto-generated KeyDB/Redis password
Broker Port 6379 Broker port

Identity Management (Keycloak)

Prompt Default Description
Keycloak Admin User tester Keycloak master admin
Keycloak Admin Password auto-generated Keycloak admin password
Keycloak Realm easytask Keycloak realm name
Keycloak Port 8081 Keycloak port

Secrets Store (OpenBao)

Prompt Default Description
OpenBao Port 8200 Vault port

Super Admin User

Prompt Default Description
Superadmin Username superadmin Web console admin user
Superadmin Password auto-generated Web console admin password
Superadmin Email your email Admin email address

Save your passwords

Write down or securely store all generated passwords. You will need them to access Keycloak, OpenBao, and the web console.


Step 5 — Prerequisites Check

The installer validates your host environment:

  [1/4] Checking podman installation...
        Podman found: podman version 4.3.1
  [2/4] Checking container images...
        Pulling postgres: 10.0.21.29:8999/infra/postgresql:latest...
        Pulling broker:   10.0.21.29:8999/infra/keydb:latest...
        Pulling keycloak: 10.0.21.29:8999/infra/keycloak:latest...
        Pulling openbao:  10.0.21.29:8999/infra/openbao:latest...
  [3/4] Checking port availability...
  [4/4] Checking systemd lingering & cgroup support...

All container images are pulled from the EasyTask registry. This may take a few minutes depending on your internet speed.


Step 6 — Infrastructure Deployment

The installer creates and starts the infrastructure containers in order:

6.1 — Pod Creation

A rootless Podman pod is created with all required port mappings:

  Creating pod 'easytask_pod' with port mappings:
    5432 → PostgreSQL
    6379 → KeyDB (Redis-compatible broker)
    8081 → Keycloak (identity management)
    8200 → OpenBao (secrets/vault)
    8002 → Web Frontend
    8091 → Web Backend
    8020 → Integration Server

6.2 — Container Startup Order

Containers start sequentially with health checks between each:

  [1/6] Starting PostgreSQL...
        PostgreSQL ready.
  [2/6] Starting KeyDB (message broker)...
        KeyDB ready.
  [3/6] Starting OpenBao (secrets store)...
        OpenBao initialized. Root token stored.
  [4/6] Starting Keycloak (identity management)...
        Keycloak ready.
  [5/6] Configuring Keycloak...
        Realm created. Roles created. Superadmin user created.
  [6/6] Running database migrations...
        Migrations complete.

Step 7 — App Container Installation

After the infrastructure is running, the installer automatically deploys the application containers:

Container Description
Scheduler Core workflow orchestration engine
Web Backend Django-based API server
Web Frontend Vue.js web interface
Maintenance Agent Automated maintenance tasks
  Installing app containers...
    Scheduler:  easytask-scheduler-default  ... OK
    Web UI:     easytask-web-ui              ... OK
    Web Backend: easytask-web-backend        ... OK
    Maintenance: easytask-maintenance-agent  ... OK

Step 8 — Verify

After installation completes, verify everything is running:

podman ps

You should see 8 containers running:

CONTAINER ID  IMAGE                                        NAMES
xxxxxxxxxxxx  .../infra/postgresql:latest                   easytask-db
xxxxxxxxxxxx  .../infra/keydb:latest                        easytask-broker
xxxxxxxxxxxx  .../infra/keycloak:latest                     easytask-keycloak
xxxxxxxxxxxx  .../infra/openbao:latest                      easytask-secrets
xxxxxxxxxxxx  .../app/easytask-scheduler:latest              easytask-scheduler-default
xxxxxxxxxxxx  .../app/easytask-web-ui:latest                easytask-web-ui
xxxxxxxxxxxx  .../app/easytask-web-backend:latest            easytask-web-backend
xxxxxxxxxxxx  .../app/easytask-maintenance-agent:latest      easytask-maintenance-agent

Access the Web Console

Open your browser and navigate to:

http://<your-host-ip>:8002

Log in with the superadmin credentials you configured in Step 4.


Next Steps

With your infrastructure up and running:

  1. Install Agents — Deploy worker agents on this or other hosts: Agent Setup
  2. Install Integration Server — Set up on any host that needs system integrations: Scheduler Setup
  3. Configure Autostart — Ensure everything starts on boot: Post-Installation Setup

Frequently Asked Questions

How long does the full setup take? Typically 5–10 minutes, depending on internet speed (for pulling container images) and host performance.

Can I re-run the installer? Yes. Re-running Option 1 will regenerate the configuration and restart all containers with updated settings.

What if a container fails to start? Check the Troubleshooting Guide for common issues. You can also view container logs with podman logs <container-name>.

Does the installer need internet access? Yes — the installer pulls container images from the EasyTask registry. Ensure your host has outbound internet access.