alphie.installer script does and how to run it.
When you run ./alphie.installer as root on a supported server,
it automates the setup of Alphie and its dependencies.
The installer will:
dnf / apt-get update and apt-get upgrade.git, python3, python3-pipnginxwget, tar, unzippodman, screen, uidmap, slirp4netns, fuse-overlayfsbuild-essential, python3-dev,
libpq-dev, libffi-dev, libssl-dev/etc/alphie/alphie.env containing:
DATABASE_URLFERNET_KEY (encryption key for secrets)./alphie directory to /opt/alphie (with backups of any existing install).alphie.service systemd unit.dnf / apt.sudo).After extracting the Alphie distribution, you should see something like:
alphie.installer — the installer scriptalphie/ — the Alphie application directoryetc/nginx/alphie.conf — Nginx site templateetc/system/alphie.service — systemd unit filescripts/db_scripts/... — database schema and seed SQL files
Important: Run the installer from the directory where you unpacked the package
so it can find alphie/, etc/, and scripts/.
tar xzf alphie_installer.tgz
cd alphie_installer
chmod +x alphie.installer
sudo ./alphie.installer
Prompt:
Q1) Is this an [ Supported OS ] server? [y/n] (detected: ...)
Prompt:
Q) Is your PostgreSQL server external or local? [external/local] (default: local)
You can point Alphie to an external PostgreSQL server or have the installer set up a local one.
If you choose external, you will be asked for:
db.example.com)5432)alphie)ansible_admin)
The installer builds a DATABASE_URL like
postgresql://user:pass@host:port/dbname and tests the connection.
For external DBs, Alphie assumes the database and user already exist with proper permissions.
If you choose local (or accept the default), the installer will:
postgresql and postgresql-contrib.alphie), DB user (default ansible_admin), and a password.public schema.pg_hba.conf to use password auth (md5), then reload PostgreSQL.Prompt:
Do you already have TLS certs for this server? [y/N]:
You’ll provide paths to:
The installer copies them into the appropriate locations for Nginx.
The installer will:
openssl to generate a self-signed cert:
/etc/ssl/private/alphie.key/etc/ssl/certs/alphie.crt
Note: The openssl prompt can be answered minimally if the cert is for internal use.
Prompt:
Nginx server_name to use [your.server.name]:
Enter the DNS name users will type to reach Alphie (for example alphie.example.com).
The installer updates the Nginx config, copies it into /etc/nginx/conf.d/,
tests the config, and reloads or restarts Nginx.
Prompt:
Q) Populate the database with schema files now? [y/n] (default: n)
If you answer y (recommended for fresh installs), the installer:
scripts/db_scripts/db_schema_out/.default_add.sql to insert default data.If you answer n, the database is left empty for you to manage manually.
At the end, you’ll be prompted to set up your initial admin user:
admin)The installer will:
FERNET_KEY.users table.When the script completes, you’ll see a summary including:
alphie.service (should be active).https://alphie.example.comhttps://10.x.x.x/etc/alphie/alphie.env.Next steps:
ufw is present, the script opens HTTPS and port 8000.
Otherwise, ensure port 443 (and any other relevant ports) are reachable.
systemctl status alphie.service
journalctl -u alphie.service -n 100 --no-pager
/opt/alphie exists, it is backed up
as /opt/alphie.bak.<timestamp> and a fresh copy is deployed. The env file is
also backed up before being overwritten.