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:
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:
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:
Log in with the superadmin credentials you configured in Step 4.
Next Steps¶
With your infrastructure up and running:
- Install Agents — Deploy worker agents on this or other hosts: Agent Setup
- Install Integration Server — Set up on any host that needs system integrations: Scheduler Setup
- 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.