Private
Public Access
Troubleshooting hinzugefügt
+186
@@ -0,0 +1,186 @@
|
|||||||
|
# Troubleshooting
|
||||||
|
|
||||||
|
## Firebird mode still starts MSSQL initialization
|
||||||
|
|
||||||
|
Check:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker exec -it romexis-server env | grep -E 'SERVER_DB|ROMEXIS_DB|FIREBIRD'
|
||||||
|
```
|
||||||
|
|
||||||
|
Expected Firebird values:
|
||||||
|
|
||||||
|
```text
|
||||||
|
SERVER_DB=4
|
||||||
|
ROMEXIS_DB_URL=jdbc:firebirdsql://firebird:3050//firebird/data/romexis.fdb
|
||||||
|
ROMEXIS_DB_USER=sysdba
|
||||||
|
ROMEXIS_DB_PASSWORD=pwr0mex!
|
||||||
|
```
|
||||||
|
|
||||||
|
If `SERVER_DB` is missing, the entrypoint may default to MSSQL:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
SERVER_DB="${SERVER_DB:-5}"
|
||||||
|
```
|
||||||
|
|
||||||
|
Set:
|
||||||
|
|
||||||
|
```env
|
||||||
|
SERVER_DB=4
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## MSSQL_SA_PASSWORD required in Firebird mode
|
||||||
|
|
||||||
|
This means the old MSSQL init script is still being executed or old script content is present in the image.
|
||||||
|
|
||||||
|
Check inside the Romexis container:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat /opt/init-romexis-db.sh
|
||||||
|
ls -lah /opt/init-romexis-*
|
||||||
|
```
|
||||||
|
|
||||||
|
The wrapper must not contain:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
MSSQL_SA_PASSWORD="${MSSQL_SA_PASSWORD:?MSSQL_SA_PASSWORD is required}"
|
||||||
|
```
|
||||||
|
|
||||||
|
That belongs only in:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/opt/init-romexis-mssql-db.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Rebuild without cache:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker buildx prune -a -f
|
||||||
|
docker compose build --no-cache --pull
|
||||||
|
docker compose up --force-recreate
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Firebird shows unixODBC isql help
|
||||||
|
|
||||||
|
If you see:
|
||||||
|
|
||||||
|
```text
|
||||||
|
unixODBC - isql and iusql
|
||||||
|
```
|
||||||
|
|
||||||
|
then the wrong `isql` tool is used.
|
||||||
|
|
||||||
|
Use:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
isql-fb
|
||||||
|
```
|
||||||
|
|
||||||
|
Set:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export ISQL=isql-fb
|
||||||
|
```
|
||||||
|
|
||||||
|
Or change the init script default:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ISQL="${ISQL:-isql-fb}"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Firebird database file already exists
|
||||||
|
|
||||||
|
If the Firebird container creates the database using:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
FIREBIRD_DATABASE: "romexis.fdb"
|
||||||
|
```
|
||||||
|
|
||||||
|
then the Romexis init script should not run `CREATE DATABASE` again.
|
||||||
|
|
||||||
|
It should connect to the existing empty database and import the SQL scripts.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Firebird SYSDBA duplicate key error
|
||||||
|
|
||||||
|
Error:
|
||||||
|
|
||||||
|
```text
|
||||||
|
violation of PRIMARY or UNIQUE KEY constraint
|
||||||
|
PLG$USER_NAME = 'SYSDBA'
|
||||||
|
```
|
||||||
|
|
||||||
|
Cause:
|
||||||
|
|
||||||
|
The Firebird container was instructed to create `SYSDBA` again.
|
||||||
|
|
||||||
|
Remove user creation variables from the Firebird service and keep only:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
environment:
|
||||||
|
ISC_PASSWORD: "${FIREBIRD_PASSWORD}"
|
||||||
|
FIREBIRD_DATABASE: "romexis.fdb"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Payload latest tag not found
|
||||||
|
|
||||||
|
Error:
|
||||||
|
|
||||||
|
```text
|
||||||
|
romexis-firebird-payload:latest: not found
|
||||||
|
```
|
||||||
|
|
||||||
|
Fix the Firebird payload CI build to push:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
-t "$FIREBIRD_PAYLOAD_IMAGE:latest"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Build still uses old files
|
||||||
|
|
||||||
|
Clean local build cache:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker buildx prune -a -f
|
||||||
|
```
|
||||||
|
|
||||||
|
Then rebuild with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose build --no-cache --pull
|
||||||
|
```
|
||||||
|
|
||||||
|
In CI, also check whether the build is skipped because the image already exists in the registry.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Start container with bash for debugging
|
||||||
|
|
||||||
|
In Compose:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
entrypoint:
|
||||||
|
- /bin/bash
|
||||||
|
- -c
|
||||||
|
- sleep infinity
|
||||||
|
|
||||||
|
stdin_open: true
|
||||||
|
tty: true
|
||||||
|
```
|
||||||
|
|
||||||
|
Then:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose exec romexis bash
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user