Sign inSign up

alexjonas/firebird

By alexjonas

•Updated over 3 years ago

Image
0

1.9K

alexjonas/firebird repository overview

⁠docker Firebird

Imagem alterada para funcionar para sistemas da Sisplan

Baseado na imagem do Firebird jacobalberty/firebird ⁠

Versao disponoverl:

v3.0 (Dockerfile)⁠

⁠Description

This is a Firebird SQL Database container.

⁠Default Login information

Username: SYSDBA Password is either set by ISC_PASSWORD or randomized

⁠Environment Variables:

⁠TZ

TimeZone. (i.e. America/Chicago)

⁠FIREBIRD_ALIASES

this way, outside container, you can access the database using the aliases MYDB and MYOTHERDB instead of their path.

MYDB=/some/long/directory;MYOTHERDB=/some/other/long/directory

⁠ISC_PASSWORD

Default sysdba user password, if left blank a random 20 character password will be set instead. The password used will be placed in /firebird/etc/SYSDBA.password. If a random password is generated then it will be in the log for the container.

⁠FIREBIRD_DATABASE

If this is set then a database will be created with this name under the /firebird/data volume with the 'UTF8' default character set and if FIREBIRD_USER is also set then FIREBIRD_USER will be given ownership.

⁠FIREBIRD_USER

This user will be created and given ownership of FIREBIRD_DATABASE. This variable is only used if FIREBIRD_DATABASE is also set.

⁠FIREBIRD_PASSWORD

The password for FIREBIRD_USER, if left blank a random 20 character password will be set instead. If a random password is generated then it will be in the log for the container.

⁠EnableLegacyClientAuth

If this is set to true then when launching without an existing /firebird/etc folder this will cause the newly created firebird.conf to have the following defaults:

AuthServer = Legacy_Auth, Srp, Win_Sspi
AuthClient = Legacy_Auth, Srp, Win_Sspi
UserManager = Legacy_UserManager, Srp
WireCrypt = enabled

This will allow legacy clients to connect and authenticate.

⁠DataTypeCompatibility

If this is set then when launching without an existing /firebird/etc folder this will cause the newly created firebird.conf to set DataTypeCompatibility with the defined value supported by Firebird.

# ----------------------------
# Engine currently provides a number of new datatypes unknown to legacy clients.
# In order to simplify use of old applications set this parameter to minor FB
# version datatype compatibility with which you need. Currently two values are
# supported: 3.0 & 2.5.
# More precise (including per-session) tuning is possible via SQL and DPB.
#
# Per-database configurable.
#
#    Type: string
#
# DataTypeCompatibility =
⁠EnableWireCrypt

If this is set to true then when launching without an existing /firebird/etc folder this will cause the newly created firebird.conf to have WireCrypt = enabled to allow compatibility with Jaybird 3

⁠<VARIABLE>_FILE

If set to the path to a file then the named variable minus the_FILE portion will contain the contents of that file. This is useful for using docker secrets to manage your password. This applies to all variables except TZ

⁠Volumes:

⁠/firebird

This single volume supercedes all of the old volumes with most of the old volumes existing as subdirectories under /firebird

⁠/firebird/data

Default location to put database files

⁠/firebird/restore

Any .fbk files located in here that do not have a matching .fdb file under /firebird/data will automatically be restored via gbak to /firebird/data on container start. The function that handles restoration starts by looking for /firebird/etc/SYSDBA.password if the file doesn't exist then no restoration attempts will be made. If that file exists then it will check for a .env file matching the .fbk file in /firebird/restore and attempt to load RESTORE_USER and RESTORE_PASSWORD from that file but will fall back to ISC_USER and ISC_PASSWORD from /firebird/etc/SYSDBA.password if those values do not exist in the .env file or the .env file is missing.

So for example if you have /firebird/restore/database.fbk the script will first check if /firebird/etc/SYSDBA.password exists and fail if it doesn't. It will then check if /firebird/data/database.fdb exists. If that file does not exist the script will then attempt to restore /firebird/restore/database.fbk to /firebird/data/database.fdb using either RESTORE_USER and RESTORE_PASSWORD from /firebird/restore/database.env or if that file does not exist it will use ISC_USER and ISC_PASSWORD from /firebird/etc/SYSDBA.password.

⁠/firebird/system

security database DIR

⁠/firebird/etc

config files DIR message files DIR

⁠/firebird/log

log files DIR

⁠Read Only root filesystem

For some users they may prefer to run the filesystem in read only mode for additional security. These volumes would need to be created rw in order to do this.

⁠/var/firebird/run

This volume does not actually exist by default but you may want to create it if you wish to use a read only root filesystem guardian lock DIR

⁠/tmp

This volume does not actually exist by default but you may want to create it if you wish to use a read only root filesystem Database lock directory

⁠Exposes:

⁠3050/tcp

more info⁠

Tag summary

Content type

Image

Digest

sha256:bc880133f…

Size

66.2 MB

Last updated

over 3 years ago

docker pull alexjonas/firebird:v3.0