Features Add-ons Docs Requirements Pricing Contact Download

API

API Documentation.

Step-by-Step

Learn Alphie

Install & Configure

Requirements Alphie Installer Alphie Deploy Runner Separate PostgreSQL DB server
ALPHIE CORE · ENTERPRISE LINUX 9

Install Alphie Core

Get Alphie running on a fresh Linux server with the new guided installer. Fewer questions, automatic setup, and a secure HTTPS entry point.

AlmaLinux 9Rocky Linux 9RHEL 9Core only
Current release scope: This installer is prepared for the Enterprise Linux 9 family and has been tested on AlmaLinux 9.8. Rocky Linux 9 and RHEL 9 still require distribution-specific validation. It does not install Alphie Catalog binaries.

1 Prepare a clean server

Use a fresh AlmaLinux, Rocky Linux, or RHEL 9 server with repository access and permission to install system packages. Run the installer as root. The installer intentionally stops if Alphie is already installed or the local PostgreSQL cluster already exists.

Make sure your installer bundle includes the following files in the same directory structure:

install_alphie_core_system_python.sh
alphie/   # frontend and backend
system/alphie.service
nginx/alphie.conf
scripts/db/alphie_db_schema_out/   # Core SQL schema
scripts/db/default_add.sql   # initial data

The shell script alone is not a complete installer bundle; it relies on these accompanying files.

2 Start the installer

From the directory containing the installer and its supporting folders:

sudo bash ./install_alphie_core_system_python.sh

You'll see the detected operating system and a confirmation prompt:

Terminal · Step 1 of 4
Alphie Core fresh installer: almalinux 9.8
Continue with NEW install? [yes/NO]: yes
==> Installing operating-system dependencies
==> Installing system-wide Alphie Python dependencies

Type yes to continue. Any other response cancels the installation without proceeding.

3 Configure PostgreSQL

Choose local for a PostgreSQL database hosted on the Alphie controller, or external for an existing PostgreSQL server. The local option is the default.

Terminal · Local PostgreSQL example
==> Configuring PostgreSQL
PostgreSQL location [local/external] (local): local
Core database name [alphie]: alphie
Core database user [ansible_admin]: ansible_admin
Password for PostgreSQL user ansible_admin: [hidden input]
==> Generating protected Alphie configuration
==> Applying Alphie Core schema (transactional)
==> Applying Core seed data

The installer initializes a fresh local PostgreSQL cluster, creates the database and user, then imports Alphie's Core schema and initial data.

Using an external PostgreSQL server instead?

Select external and supply the hostname/IP and port:

Terminal · External PostgreSQL example
PostgreSQL location [local/external] (local): external
Core database name [alphie]: alphie
Core database user [ansible_admin]: ansible_admin
PostgreSQL hostname/IP: db.internal.example
PostgreSQL port [5432]: 5432
Password for PostgreSQL user ansible_admin: [hidden input]

The external database and login role must already exist, be reachable, allow the supplied credentials, and have an empty public schema. Alphie creates the schema and seed data, but the installer does not provision a remote PostgreSQL server.

4 Set up HTTPS

Enter the hostname users will browse to. The installer configures Nginx and gives you a choice of supplying an existing TLS certificate or generating a self-signed one.

Terminal · HTTPS example
==> Preparing HTTPS
Public hostname [alphie.internal.example]: alphie.internal.example
Use existing TLS cert/key? [y/N]: N
==> Deploying Alphie Core source and service
==> Waiting for Alphie API to become ready

If you choose y for an existing certificate, you'll be asked for the certificate file and private key file paths. Otherwise, Alphie creates a self-signed certificate automatically. Browsers may warn about self-signed certificates until the issuing certificate is trusted.

5 Create the first administrator

After the API passes its readiness check, the installer prompts for your initial local administrator.

Terminal · Final questions
==> Creating initial local administrator
Administrator username [admin]: admin
Administrator password: [hidden input]
Administrator created; save this API client secret securely: [REDACTED]
Alphie Core installation successful: https://alphie.internal.example
Service logs: journalctl -u alphie.service -f
Catalog was NOT installed.

The admin password must contain at least 8 characters. The installer also prints a newly created API client secret: save it securely when displayed. The samples above are illustrations, not screenshots from an actual install; no real credentials are shown.

6 Open Alphie and verify services

Open https://your-alphie-hostname, sign in with the account you just created, and check the system services:

sudo systemctl status alphie.service
sudo systemctl status nginx
sudo systemctl status postgresql   # local database only
sudo journalctl -u alphie.service -n 100 --no-pager
Application/opt/alphie
Environment/etc/alphie/alphie.env
Gunicorn127.0.0.1:8000
Browser accessHTTPS · port 443

Alphie uses a single Gunicorn/Uvicorn worker for the existing live-log behavior. Nginx fronts the application over HTTPS. If firewalld is active, the installer enables the HTTPS service; it does not open port 8000 for external access.

7 Troubleshooting and important limits

  • Fresh installation only: the script refuses to overwrite /opt/alphie, /etc/alphie/alphie.env, the systemd unit, or Nginx's Alphie configuration. It is not an upgrade installer.
  • Supported major version: the script stops on operating systems other than Rocky Linux, AlmaLinux, or RHEL 9.
  • Local database: a pre-existing PostgreSQL cluster causes the fresh local install to stop; use a clean VM or choose an appropriately prepared external database.
  • Startup problems: run journalctl -u alphie.service -n 90 --no-pager to inspect the Gunicorn/API startup logs.
  • Other products: Alphie Catalog is not part of this installer.