Clone
3
Firebird
Patrick Gniza edited this page 2026-08-17 10:48:39 +02:00

Deutsch | English

Firebird

Firebird support is being introduced as a parallel database backend.

This is especially relevant because macOS-based Romexis installations use Firebird and because Firebird is a realistic path for ARM64 environments.


Compose Service

Recommended Firebird service:

firebird:
  image: jacobalberty/firebird:3.0
  container_name: romexis-firebird
  environment:
    ISC_PASSWORD: "${FIREBIRD_PASSWORD}"
    FIREBIRD_DATABASE: "romexis.fdb"
  ports:
    - "${FIREBIRD_PORT:-3050}:3050"
  volumes:
    - ${ROMEXIS_DATA_ROOT}/firebird:/firebird/data
  healthcheck:
    test: ["CMD-SHELL", "nc -z localhost 3050 || exit 1"]
    interval: 10s
    timeout: 5s
    retries: 30
    start_period: 20s
  restart: unless-stopped

Do not configure the container to create a second SYSDBA user. SYSDBA already exists.


Romexis Settings

SERVER_DB=4
FIREBIRD_PORT=3050
FIREBIRD_USER=sysdba
FIREBIRD_PASSWORD=pwr0mex!
FIREBIRD_DB_PATH=/firebird/data/romexis.fdb

ROMEXIS_DB_USER=sysdba
ROMEXIS_DB_PASSWORD=pwr0mex!

Generated JDBC URL:

jdbc:firebirdsql://firebird:3050//firebird/data/romexis.fdb

Firebird SQL Payload

The Firebird SQL payload is extracted from the macOS Romexis installer and stored in:

/opt/romexis-firebird-db

Important files:

scripts/RX_Create_Database.sql
scripts/RX_Base_10fb_MAC.sql
scripts/rxdb.sh
scripts/rxupd.sh
tools/Romexis_Firebird_Backup.sh
tools/Romexis_Firebird_Restore.sh
templates/romexis_new.fdb

Important Tooling Note

The Firebird CLI tool should be:

isql-fb

not unixODBC isql.

If you see this output:

unixODBC - isql and iusql

then the wrong tool is being used.

Set:

export ISQL=isql-fb

or make the init script default to:

ISQL="${ISQL:-isql-fb}"

Database Creation Strategy

If the Firebird container creates an empty database via:

FIREBIRD_DATABASE: "romexis.fdb"

then the Romexis Firebird init script should not run CREATE DATABASE again.

Instead, it should connect to the existing empty database and import the Romexis SQL scripts.


Debugging Firebird Initialization

Open a shell in the Romexis container:

docker exec -it romexis-server bash

Run the initializer manually:

ISQL=isql-fb DB_CREATE_VERBOSE=1 bash -x /opt/init-romexis-firebird-db.sh

Check connectivity:

bash -c ':</dev/tcp/firebird/3050'

Connect manually:

isql-fb -user sysdba -password 'pwr0mex!' firebird/3050:/firebird/data/romexis.fdb