Phonemos User Guide

Infrastructure Dependencies

Virtual Machines

Requirements for for Phonemos on top of virtual machines :

  • at least 8 GB RAM and 4 vCPUs each

    • if you collocate Keycloak and Minio on them, they should have at least 16 GB of RAM.

  • a linux (debian, ubuntu, redhat, …)

  • docker and docker compose installed

  • no (data) backups are needed

Installation: see for the installation instructions

 

Minio

only required if you don’t have an existing S3-compatible object storage solution.

Requirements:

  • use at least two instances with a load balancer in front of it

  • back up the minio storage with your usual backup method (e.g. disk snapshots)

  • storage requirements: depending on how much files your Phonemos instance will contain. We recommend starting at a usable storage capacity of at least 50 GB (this would mean 50 GB per server in a 3 machine configuration with 3 storage replicas). Use the minio calculator to size the disks.

Installation:

 

Keycloak

Requirements:

  • Keycloak 15 or newer, we recommend the quarkus distribution and running it via docker

  • we recommend running at least two instances as the availability of Keycloak is critical to Phonemos

  • storage requirements: no storage except for the installation itself and logs (< 5 GB)

  • a Postgres database is required (see below). It’s possible to use a separate database on the same database instance/server/cluster which Phonemos is using

  • The keycloak instances have to be able to talk to each other (HA setup)

  • Load Balancer in front of the instances (SSL Termination)

Installation:

Example command (need to adapt!)

1 2 3 4 5 6 7 8 docker run --name mykeycloak -p 8080:8080 \ -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=change_me \ quay.io/keycloak/keycloak:19.0.2 \ start \ --db=postgres --db-url=<JDBC-URL> \ --db-password=<DB-PASSWORD> --db-username=<DB-USER> \ --cache=ispn --cache-stack=udp

 

Postgres

Requirements:

  • Postgres version 16+ with pg_vector extension installed

  • at least 4vCPUs and 8 GB RAM

  • storage depends on the amount and size of pages stored in Phonemos. We recommend starting with 10 to 50 GB

  • we recommend running a database cluster for High-Availability

  • Phonemos needs one database with a user that has the right to create schemas, tables, views, triggers and functions.

    • Make sure that the collation of the database is set to en_US.UTF-8 otherwise the DDLs will fail because they contain unicode symbols (e.g. the English flag)

  • If you collocate Keycloak then that will also need a separate database with a separate user (with DDL permission)

Installation: