├── .editorconfig ├── .github ├── FUNDING.yml └── workflows │ ├── on-pull-request.yaml │ └── publish.yaml ├── .gitignore ├── .vscode ├── launch.json └── settings.json ├── README.md ├── assets.json ├── firebird-docker.build.ps1 ├── generated ├── 3.0.10 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 3.0.11 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 3.0.12 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 3.0.8 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 3.0.9 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 4.0.0 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── noble │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 4.0.1 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── noble │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 4.0.2 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── noble │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 4.0.3 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── noble │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 4.0.4 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── noble │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 4.0.5 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── noble │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 5.0.0 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── noble │ │ ├── Dockerfile │ │ └── entrypoint.sh ├── 5.0.1 │ ├── bookworm │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── bullseye │ │ ├── Dockerfile │ │ └── entrypoint.sh │ ├── jammy │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── noble │ │ ├── Dockerfile │ │ └── entrypoint.sh └── 5.0.2 │ ├── bookworm │ ├── Dockerfile │ └── entrypoint.sh │ ├── bullseye │ ├── Dockerfile │ └── entrypoint.sh │ ├── jammy │ ├── Dockerfile │ └── entrypoint.sh │ └── noble │ ├── Dockerfile │ └── entrypoint.sh └── src ├── Dockerfile.bookworm.template ├── Dockerfile.bullseye.template ├── Dockerfile.jammy.template ├── Dockerfile.noble.template ├── README.md.template ├── entrypoint.sh ├── image.build.ps1.template └── image.tests.ps1 /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | insert_final_newline = true 6 | trim_trailing_whitespace = true 7 | 8 | [*.{template}] 9 | indent_style = space 10 | indent_size = 4 11 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 12 | polar: # Replace with a single Polar username 13 | buy_me_a_coffee: # Replace with a single Buy Me a Coffee username 14 | thanks_dev: # Replace with a single thanks.dev username 15 | custom: https://firebirdsql.org/en/donate/ 16 | -------------------------------------------------------------------------------- /.github/workflows/on-pull-request.yaml: -------------------------------------------------------------------------------- 1 | name: on-pull-request 2 | 3 | on: [pull_request] 4 | 5 | jobs: 6 | 7 | build-test: 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - name: Checkout 12 | uses: actions/checkout@v4 13 | with: 14 | fetch-depth: 10 15 | 16 | - name: Install tools 17 | shell: pwsh 18 | run: | 19 | Install-Module InvokeBuild -Force 20 | 21 | - name: Set up QEMU 22 | uses: docker/setup-qemu-action@v3 23 | 24 | - name: Build 25 | shell: pwsh 26 | run: | 27 | Invoke-Build 28 | 29 | - name: Test 30 | shell: pwsh 31 | run: | 32 | Invoke-Build Test 33 | 34 | - name: Upload logs 35 | uses: actions/upload-artifact@v4 36 | if: always() 37 | with: 38 | name: logs 39 | path: generated/logs 40 | -------------------------------------------------------------------------------- /.github/workflows/publish.yaml: -------------------------------------------------------------------------------- 1 | name: publish 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | schedule: 8 | - cron: "0 0 * * 1" 9 | workflow_dispatch: 10 | 11 | concurrency: 12 | group: ${{ github.workflow }} 13 | 14 | jobs: 15 | 16 | build-test-publish: 17 | if: ${{ github.event_name != 'schedule' || github.repository == 'FirebirdSQL/firebird-docker' }} 18 | runs-on: ubuntu-latest 19 | 20 | steps: 21 | - name: Checkout 22 | uses: actions/checkout@v4 23 | with: 24 | fetch-depth: 10 25 | 26 | - name: Install tools 27 | shell: pwsh 28 | run: | 29 | Install-Module InvokeBuild -Force 30 | 31 | - name: Set up QEMU 32 | uses: docker/setup-qemu-action@v3 33 | 34 | - name: Build 35 | shell: pwsh 36 | run: | 37 | Invoke-Build 38 | 39 | - name: Test 40 | shell: pwsh 41 | run: | 42 | Invoke-Build Test 43 | 44 | - name: Login to Docker Hub 45 | uses: docker/login-action@v3 46 | with: 47 | username: ${{ secrets.DOCKERHUB_USERNAME }} 48 | password: ${{ secrets.DOCKERHUB_TOKEN }} 49 | 50 | - name: Publish 51 | shell: pwsh 52 | run: | 53 | Invoke-Build Publish 54 | 55 | - name: Log out from Docker Hub 56 | run: | 57 | docker logout 58 | 59 | - name: Upload logs 60 | uses: actions/upload-artifact@v4 61 | if: always() 62 | with: 63 | name: logs 64 | path: generated/logs 65 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore all files from /generated except Dockerfile and entrypoint.sh -- https://stackoverflow.com/a/72380673 2 | /generated/* 3 | !/generated/* 4 | /generated/*/* 5 | !/generated/*/* 6 | /generated/*/*/* 7 | !/generated/*/*/Dockerfile 8 | !/generated/*/*/entrypoint.sh 9 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Invoke-Build Default Task", 9 | "type": "PowerShell", 10 | "request": "launch", 11 | "script": "Invoke-Build", 12 | "args": [".", "${file}"], 13 | "cwd": "${workspaceRoot}" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "powershell.codeFormatting.pipelineIndentationStyle": "IncreaseIndentationAfterEveryPipeline" 3 | } -------------------------------------------------------------------------------- /assets.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "version": "5.0.2", 4 | "releases": [ 5 | { 6 | "arm64": { 7 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v5.0.2/Firebird-5.0.2.1613-0-linux-arm64.tar.gz", 8 | "sha256": "216edb3594d3318690bd3f2ae9979a9a52efb512eb1bf799c0bace50106a0a69" 9 | } 10 | }, 11 | { 12 | "amd64": { 13 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v5.0.2/Firebird-5.0.2.1613-0-linux-x64.tar.gz", 14 | "sha256": "23d6e0522f32fb13c288f67c98105014c3186ecf3f930f96ca9af1897b9565bf" 15 | } 16 | } 17 | ], 18 | "tags": { 19 | "bookworm": [ 20 | "5", 21 | "5.0.2", 22 | "latest" 23 | ], 24 | "bullseye": [ 25 | "bullseye", 26 | "5-bullseye", 27 | "5.0.2-bullseye" 28 | ], 29 | "jammy": [ 30 | "jammy", 31 | "5-jammy", 32 | "5.0.2-jammy" 33 | ], 34 | "noble": [ 35 | "noble", 36 | "5-noble", 37 | "5.0.2-noble" 38 | ] 39 | } 40 | }, 41 | { 42 | "version": "5.0.1", 43 | "releases": [ 44 | { 45 | "arm64": { 46 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v5.0.1/Firebird-5.0.1.1469-0-linux-arm64.tar.gz", 47 | "sha256": "46b3f4f170458a93365c67118c062ba8509903fe8293bf8a62e7bd8a388e2d06" 48 | } 49 | }, 50 | { 51 | "amd64": { 52 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v5.0.1/Firebird-5.0.1.1469-0-linux-x64.tar.gz", 53 | "sha256": "e1023b005e5d6db8f717af032e91f0f94aa7a8dbe0e78f250931214ca0a21e57" 54 | } 55 | } 56 | ], 57 | "tags": { 58 | "bookworm": [ 59 | "5.0.1" 60 | ], 61 | "bullseye": [ 62 | "5.0.1-bullseye" 63 | ], 64 | "jammy": [ 65 | "5.0.1-jammy" 66 | ], 67 | "noble": [ 68 | "5.0.1-noble" 69 | ] 70 | } 71 | }, 72 | { 73 | "version": "5.0.0", 74 | "releases": [ 75 | { 76 | "arm64": { 77 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v5.0.0/Firebird-5.0.0.1306-0-linux-arm64.tar.gz", 78 | "sha256": "bdb62abc91a4c26a86b9377256529622e3046f4ec4f66fbdcf46747688d45033" 79 | } 80 | }, 81 | { 82 | "amd64": { 83 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v5.0.0/Firebird-5.0.0.1306-0-linux-x64.tar.gz", 84 | "sha256": "137b356ea464e224b6ed1241e6dba95b6b950ff1feef91696d4071d4da880768" 85 | } 86 | } 87 | ], 88 | "tags": { 89 | "bookworm": [ 90 | "5.0.0" 91 | ], 92 | "bullseye": [ 93 | "5.0.0-bullseye" 94 | ], 95 | "jammy": [ 96 | "5.0.0-jammy" 97 | ], 98 | "noble": [ 99 | "5.0.0-noble" 100 | ] 101 | } 102 | }, 103 | { 104 | "version": "4.0.5", 105 | "releases": { 106 | "amd64": { 107 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v4.0.5/Firebird-4.0.5.3140-0.amd64.tar.gz", 108 | "sha256": "6ae43e4fa31ddc99220575023b7d954fb218c063375bb589b16fbe9fcdfdcaa6" 109 | } 110 | }, 111 | "tags": { 112 | "bookworm": [ 113 | "4", 114 | "4.0.5" 115 | ], 116 | "bullseye": [ 117 | "4-bullseye", 118 | "4.0.5-bullseye" 119 | ], 120 | "jammy": [ 121 | "4-jammy", 122 | "4.0.5-jammy" 123 | ], 124 | "noble": [ 125 | "4-noble", 126 | "4.0.5-noble" 127 | ] 128 | } 129 | }, 130 | { 131 | "version": "4.0.4", 132 | "releases": { 133 | "amd64": { 134 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v4.0.4/Firebird-4.0.4.3010-0.amd64.tar.gz", 135 | "sha256": "ef589301c5e13a1f8481e1e38c453641ef5082344bf69edb51f8aa9f036bcaca" 136 | } 137 | }, 138 | "tags": { 139 | "bookworm": [ 140 | "4.0.4" 141 | ], 142 | "bullseye": [ 143 | "4.0.4-bullseye" 144 | ], 145 | "jammy": [ 146 | "4.0.4-jammy" 147 | ], 148 | "noble": [ 149 | "4.0.4-noble" 150 | ] 151 | } 152 | }, 153 | { 154 | "version": "4.0.3", 155 | "releases": { 156 | "amd64": { 157 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v4.0.3/Firebird-4.0.3.2975-0.amd64.tar.gz", 158 | "sha256": "bd439c3c8f74fd03a592eafd20de37ce028c424fbe023352f1bd17db54c3257d" 159 | } 160 | }, 161 | "tags": { 162 | "bookworm": [ 163 | "4.0.3" 164 | ], 165 | "bullseye": [ 166 | "4.0.3-bullseye" 167 | ], 168 | "jammy": [ 169 | "4.0.3-jammy" 170 | ], 171 | "noble": [ 172 | "4.0.3-noble" 173 | ] 174 | } 175 | }, 176 | { 177 | "version": "4.0.2", 178 | "releases": { 179 | "amd64": { 180 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0.amd64.tar.gz", 181 | "sha256": "70108f9854a522ac6eb7b2bdc1bda9780aab97dbfbf358ced90c0db13b8af9fa" 182 | } 183 | }, 184 | "tags": { 185 | "bookworm": [ 186 | "4.0.2" 187 | ], 188 | "bullseye": [ 189 | "4.0.2-bullseye" 190 | ], 191 | "jammy": [ 192 | "4.0.2-jammy" 193 | ], 194 | "noble": [ 195 | "4.0.2-noble" 196 | ] 197 | } 198 | }, 199 | { 200 | "version": "4.0.1", 201 | "releases": { 202 | "amd64": { 203 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v4.0.1/Firebird-4.0.1.2692-0.amd64.tar.gz", 204 | "sha256": "90b6727b8366b3674fc30ba13d0f52ab0b419c3bb3a4224c8d3f480143538998" 205 | } 206 | }, 207 | "tags": { 208 | "bookworm": [ 209 | "4.0.1" 210 | ], 211 | "bullseye": [ 212 | "4.0.1-bullseye" 213 | ], 214 | "jammy": [ 215 | "4.0.1-jammy" 216 | ], 217 | "noble": [ 218 | "4.0.1-noble" 219 | ] 220 | } 221 | }, 222 | { 223 | "version": "4.0.0", 224 | "releases": { 225 | "amd64": { 226 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v4.0.0/Firebird-4.0.0.2496-0.amd64.tar.gz", 227 | "sha256": "06f6e00b9657a1967f21b34bea8150d5a3e5b1d1b1313bb6455e16878b42d63e" 228 | } 229 | }, 230 | "tags": { 231 | "bookworm": [ 232 | "4.0.0" 233 | ], 234 | "bullseye": [ 235 | "4.0.0-bullseye" 236 | ], 237 | "jammy": [ 238 | "4.0.0-jammy" 239 | ], 240 | "noble": [ 241 | "4.0.0-noble" 242 | ] 243 | } 244 | }, 245 | { 246 | "version": "3.0.12", 247 | "releases": { 248 | "amd64": { 249 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v3.0.12/Firebird-3.0.12.33787-0.amd64.tar.gz", 250 | "sha256": "406a8887ab318a5d8a20781fc1d38a0ca30acdbddbc1558b077646bb2e2e283f" 251 | } 252 | }, 253 | "tags": { 254 | "bookworm": [ 255 | "3", 256 | "3.0.12" 257 | ], 258 | "bullseye": [ 259 | "3-bullseye", 260 | "3.0.12-bullseye" 261 | ], 262 | "jammy": [ 263 | "3-jammy", 264 | "3.0.12-jammy" 265 | ] 266 | } 267 | }, 268 | { 269 | "version": "3.0.11", 270 | "releases": { 271 | "amd64": { 272 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v3.0.11/Firebird-3.0.11.33703-0.amd64.tar.gz", 273 | "sha256": "713757e09b40b2631d800dacd9b80179b7eb75693a72089136055a7154413a3e" 274 | } 275 | }, 276 | "tags": { 277 | "bookworm": [ 278 | "3.0.11" 279 | ], 280 | "bullseye": [ 281 | "3.0.11-bullseye" 282 | ], 283 | "jammy": [ 284 | "3.0.11-jammy" 285 | ] 286 | } 287 | }, 288 | { 289 | "version": "3.0.10", 290 | "releases": { 291 | "amd64": { 292 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v3.0.10/Firebird-3.0.10.33601-0.amd64.tar.gz", 293 | "sha256": "5e0db3b9312c5bed3eccd1855ec07df5a50176dbff35b8ebf998360b59561cf0" 294 | } 295 | }, 296 | "tags": { 297 | "bookworm": [ 298 | "3.0.10" 299 | ], 300 | "bullseye": [ 301 | "3.0.10-bullseye" 302 | ], 303 | "jammy": [ 304 | "3.0.10-jammy" 305 | ] 306 | } 307 | }, 308 | { 309 | "version": "3.0.9", 310 | "releases": { 311 | "amd64": { 312 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v3.0.9/Firebird-3.0.9.33560-0.amd64.tar.gz", 313 | "sha256": "0a80a5dc507f388e96adf9b64584c0b568d94a8f3df19d7baec494c5f98ba5a4" 314 | } 315 | }, 316 | "tags": { 317 | "bookworm": [ 318 | "3.0.9" 319 | ], 320 | "bullseye": [ 321 | "3.0.9-bullseye" 322 | ], 323 | "jammy": [ 324 | "3.0.9-jammy" 325 | ] 326 | } 327 | }, 328 | { 329 | "version": "3.0.8", 330 | "releases": { 331 | "amd64": { 332 | "url": "https://github.com/FirebirdSQL/firebird/releases/download/v3.0.8/Firebird-3.0.8.33535-0.amd64.tar.gz", 333 | "sha256": "fbf154244d3568f4de4ee68769ed71a0699845197ae1c02c2029dc4d0f1af5f9" 334 | } 335 | }, 336 | "tags": { 337 | "bookworm": [ 338 | "3.0.8" 339 | ], 340 | "bullseye": [ 341 | "3.0.8-bullseye" 342 | ], 343 | "jammy": [ 344 | "3.0.8-jammy" 345 | ] 346 | } 347 | } 348 | ] 349 | -------------------------------------------------------------------------------- /generated/3.0.10/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.10/Firebird-3.0.10.33601-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-5e0db3b9312c5bed3eccd1855ec07df5a50176dbff35b8ebf998360b59561cf0} 22 | 23 | ENV FIREBIRD_VERSION=3.0.10 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/3.0.10/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.10/Firebird-3.0.10.33601-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-5e0db3b9312c5bed3eccd1855ec07df5a50176dbff35b8ebf998360b59561cf0} 22 | 23 | ENV FIREBIRD_VERSION=3.0.10 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/3.0.10/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.10/Firebird-3.0.10.33601-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-5e0db3b9312c5bed3eccd1855ec07df5a50176dbff35b8ebf998360b59561cf0} 22 | 23 | ENV FIREBIRD_VERSION=3.0.10 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/3.0.10/jammy/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # 4 | # Docker entrypoint for firebird-docker images. 5 | # 6 | # Based on works of Jacob Alberty and The PostgreSQL Development Group. 7 | # 8 | 9 | # 10 | # About the [Tabs ahead] marker: 11 | # Some sections of this file use tabs for better readability. 12 | # When using bash here strings the - option suppresses leading tabs but not spaces. 13 | # 14 | 15 | 16 | 17 | # https://linuxcommand.org/lc3_man_pages/seth.html 18 | # -E If set, the ERR trap is inherited by shell functions. 19 | # -e Exit immediately if a command exits with a non-zero status. 20 | # -u Treat unset variables as an error when substituting 21 | # -o Set the variable corresponding to option-name: 22 | # pipefail the return value of a pipeline is the status of 23 | # the last command to exit with a non-zero status, 24 | # or zero if no command exited with a non-zero status 25 | set -Eeuo pipefail 26 | 27 | # usage: read_from_file_or_env VAR [DEFAULT] 28 | # ie: read_from_file_or_env 'DB_PASSWORD' 'example' 29 | # If $(VAR)_FILE var is set, sets VAR value from file contents. Otherwise, uses DEFAULT value if VAR is not set. 30 | read_from_file_or_env() { 31 | local var="$1" 32 | local fileVar="${var}_FILE" 33 | if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then 34 | # [Tabs ahead] 35 | cat >&2 <<-EOL 36 | ----- 37 | ERROR: Both $var and $fileVar are set. 38 | 39 | Variables %s and %s are mutually exclusive. Remove either one. 40 | ----- 41 | EOL 42 | exit 1 43 | fi 44 | 45 | local def="${2:-}" 46 | local val="$def" 47 | if [ "${!var:-}" ]; then 48 | val="${!var}" 49 | elif [ "${!fileVar:-}" ]; then 50 | val="$(< "${!fileVar}")" 51 | fi 52 | 53 | export "$var"="$val" 54 | unset "$fileVar" 55 | } 56 | 57 | # usage: firebird_config_set KEY VALUE 58 | # ie: firebird_config_set 'WireCrypt' 'Enabled' 59 | # Set configuration key KEY to VALUE in 'firebird.conf' 60 | firebird_config_set() { 61 | # Uncomment line 62 | sed -i "s/^#${1}/${1}/g" /opt/firebird/firebird.conf 63 | 64 | # Set KEY to VALUE 65 | sed -i "s~^\(${1}\s*=\s*\).*$~\1${2}~" /opt/firebird/firebird.conf 66 | } 67 | 68 | # Indent multi-line string -- https://stackoverflow.com/a/29779745 69 | indent() { 70 | sed 's/^/ /'; 71 | } 72 | 73 | # Set Firebird configuration parameters from environment variables. 74 | set_config() { 75 | read_from_file_or_env 'FIREBIRD_USE_LEGACY_AUTH' 76 | if [ "$FIREBIRD_USE_LEGACY_AUTH" == 'true' ]; then 77 | echo 'Using Legacy_Auth.' 78 | 79 | # Firebird 4+: Uses 'Srp256' before 'Srp'. 80 | local srp256='' 81 | [ "$FIREBIRD_MAJOR" -ge "4" ] && srp256='Srp256, ' 82 | 83 | # Adds Legacy_Auth and Legacy_UserManager as first options. 84 | firebird_config_set AuthServer "Legacy_Auth, ${srp256}Srp" 85 | firebird_config_set AuthClient "Legacy_Auth, ${srp256}Srp" 86 | firebird_config_set UserManager 'Legacy_UserManager, Srp' 87 | 88 | # Default setting is 'Required'. Reduces it to 'Enabled'. 89 | firebird_config_set WireCrypt 'Enabled' 90 | fi 91 | 92 | # FIREBIRD_CONF_* variables: set key in 'firebird.conf' 93 | local v 94 | for v in $(compgen -A variable | grep 'FIREBIRD_CONF_'); do 95 | local key=${v/FIREBIRD_CONF_/} 96 | firebird_config_set "$key" "${!v}" 97 | done 98 | 99 | # Output changed settings 100 | local changed_settings=$(grep -o '^[^#]*' /opt/firebird/firebird.conf) 101 | if [ -n "$changed_settings" ]; then 102 | echo "Using settings:" 103 | echo "$changed_settings" | indent 104 | fi 105 | } 106 | 107 | # Changes SYSDBA password if FIREBIRD_ROOT_PASSWORD variable is set. 108 | set_sysdba() { 109 | read_from_file_or_env 'FIREBIRD_ROOT_PASSWORD' 110 | if [ -n "$FIREBIRD_ROOT_PASSWORD" ]; then 111 | echo 'Changing SYSDBA password.' 112 | 113 | # [Tabs ahead] 114 | /opt/firebird/bin/isql -b -user SYSDBA security.db <<-EOL 115 | CREATE OR ALTER USER SYSDBA 116 | PASSWORD '$FIREBIRD_ROOT_PASSWORD' 117 | USING PLUGIN Srp; 118 | EXIT; 119 | EOL 120 | 121 | if [ "$FIREBIRD_USE_LEGACY_AUTH" == 'true' ]; then 122 | # [Tabs ahead] 123 | /opt/firebird/bin/isql -b -user SYSDBA security.db <<-EOL 124 | CREATE OR ALTER USER SYSDBA 125 | PASSWORD '$FIREBIRD_ROOT_PASSWORD' 126 | USING PLUGIN Legacy_UserManager; 127 | EXIT; 128 | EOL 129 | fi 130 | 131 | rm -rf /opt/firebird/SYSDBA.password 132 | fi 133 | } 134 | 135 | # Requires FIREBIRD_PASSWORD if FIREBIRD_USER is set. 136 | requires_user_password() { 137 | if [ -n "$FIREBIRD_USER" ] && [ -z "$FIREBIRD_PASSWORD" ]; then 138 | # [Tabs ahead] 139 | cat >&2 <<-EOL 140 | ----- 141 | ERROR: FIREBIRD_PASSWORD variable is not set. 142 | 143 | When using FIREBIRD_USER you must also set FIREBIRD_PASSWORD variable. 144 | ----- 145 | EOL 146 | exit 1 147 | fi 148 | } 149 | 150 | # Create Firebird user. 151 | create_user() { 152 | read_from_file_or_env 'FIREBIRD_USER' 153 | read_from_file_or_env 'FIREBIRD_PASSWORD' 154 | 155 | if [ -n "$FIREBIRD_USER" ]; then 156 | requires_user_password 157 | echo "Creating user '$FIREBIRD_USER'..." 158 | 159 | # [Tabs ahead] 160 | /opt/firebird/bin/isql -b security.db <<-EOL 161 | CREATE OR ALTER USER $FIREBIRD_USER 162 | PASSWORD '$FIREBIRD_PASSWORD' 163 | GRANT ADMIN ROLE; 164 | EXIT; 165 | EOL 166 | fi 167 | } 168 | 169 | # Run isql 170 | process_sql() { 171 | local isql_command=( /opt/firebird/bin/isql -b ) 172 | 173 | if [ -n "$FIREBIRD_USER" ]; then 174 | isql_command+=( -u "$FIREBIRD_USER" -p "$FIREBIRD_PASSWORD" ) 175 | fi 176 | 177 | if [ -n "$FIREBIRD_DATABASE" ]; then 178 | isql_command+=( "$FIREBIRD_DATABASE" ) 179 | fi 180 | 181 | ${isql_command[@]} "$@" 182 | } 183 | 184 | # Execute database initialization scripts 185 | init_db() { 186 | local f 187 | for f; do 188 | case "$f" in 189 | *.sh) 190 | if [ -x "$f" ]; then 191 | # Script is executable. Run it. 192 | printf ' running %s\n' "$f" 193 | "$f" 194 | else 195 | # Script is not executable. Source it. 196 | printf ' sourcing %s\n' "$f" 197 | . "$f" 198 | fi 199 | ;; 200 | *.sql) printf ' running %s\n' "$f"; cat "$f" | process_sql; printf '\n' ;; 201 | *.sql.gz) printf ' running %s\n' "$f"; gunzip -c "$f" | process_sql; printf '\n' ;; 202 | *.sql.xz) printf ' running %s\n' "$f"; xzcat "$f" | process_sql; printf '\n' ;; 203 | *.sql.zst) printf ' running %s\n' "$f"; zstd -dc "$f" | process_sql; printf '\n' ;; 204 | *) printf ' ignoring %s\n' "$f" ;; 205 | esac 206 | printf '\n' 207 | done 208 | 209 | } 210 | 211 | # Create user database. 212 | create_db() { 213 | read_from_file_or_env 'FIREBIRD_DATABASE' 214 | if [ -n "$FIREBIRD_DATABASE" ]; then 215 | # Expand FIREBIRD_DATABASE to full path 216 | cd "$FIREBIRD_DATA" 217 | export FIREBIRD_DATABASE=$(realpath --canonicalize-missing "$FIREBIRD_DATABASE") 218 | 219 | # Store it for other sessions of this instance 220 | echo "export FIREBIRD_DATABASE='$FIREBIRD_DATABASE'" > ~/.bashrc 221 | 222 | # Create database only if not exists. 223 | if [ ! -f "$FIREBIRD_DATABASE" ]; then 224 | echo "Creating database '$FIREBIRD_DATABASE'..." 225 | 226 | read_from_file_or_env 'FIREBIRD_DATABASE_PAGE_SIZE' 227 | read_from_file_or_env 'FIREBIRD_DATABASE_DEFAULT_CHARSET' 228 | 229 | local user_and_password='' 230 | [ -n "$FIREBIRD_USER" ] && user_and_password=" USER '$FIREBIRD_USER' PASSWORD '$FIREBIRD_PASSWORD'" 231 | 232 | local page_size='' 233 | [ -n "$FIREBIRD_DATABASE_PAGE_SIZE" ] && page_size="PAGE_SIZE $FIREBIRD_DATABASE_PAGE_SIZE" 234 | 235 | local default_charset='' 236 | [ -n "$FIREBIRD_DATABASE_DEFAULT_CHARSET" ] && default_charset="DEFAULT CHARACTER SET $FIREBIRD_DATABASE_DEFAULT_CHARSET" 237 | 238 | # [Tabs ahead] 239 | /opt/firebird/bin/isql -b -q <<-EOL 240 | CREATE DATABASE '$FIREBIRD_DATABASE' 241 | $user_and_password 242 | $page_size 243 | $default_charset; 244 | EXIT; 245 | EOL 246 | 247 | init_db /docker-entrypoint-initdb.d/* 248 | fi 249 | fi 250 | } 251 | 252 | sigint_handler() { 253 | echo "Stopping Firebird... [SIGINT received]" 254 | } 255 | 256 | sigterm_handler() { 257 | echo "Stopping Firebird... [SIGTERM received]" 258 | } 259 | 260 | run_daemon_and_wait() { 261 | # Traps SIGINT (handles Ctrl-C in interactive mode) 262 | trap sigint_handler SIGINT 263 | 264 | # Traps SIGTERM (polite shutdown) 265 | trap sigterm_handler SIGTERM 266 | 267 | # Firebird version 268 | echo -n 'Starting ' 269 | /opt/firebird/bin/firebird -z 270 | 271 | # Run fbguard and wait 272 | /opt/firebird/bin/fbguard & 273 | wait $! 274 | } 275 | 276 | 277 | 278 | # 279 | # main() 280 | # 281 | if [ "$1" = 'firebird' ]; then 282 | set_config 283 | set_sysdba 284 | 285 | create_user 286 | create_db 287 | 288 | run_daemon_and_wait 289 | else 290 | exec "$@" 291 | fi 292 | -------------------------------------------------------------------------------- /generated/3.0.11/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.11/Firebird-3.0.11.33703-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-713757e09b40b2631d800dacd9b80179b7eb75693a72089136055a7154413a3e} 22 | 23 | ENV FIREBIRD_VERSION=3.0.11 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/3.0.11/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.11/Firebird-3.0.11.33703-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-713757e09b40b2631d800dacd9b80179b7eb75693a72089136055a7154413a3e} 22 | 23 | ENV FIREBIRD_VERSION=3.0.11 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/3.0.11/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.11/Firebird-3.0.11.33703-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-713757e09b40b2631d800dacd9b80179b7eb75693a72089136055a7154413a3e} 22 | 23 | ENV FIREBIRD_VERSION=3.0.11 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/3.0.11/jammy/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # 4 | # Docker entrypoint for firebird-docker images. 5 | # 6 | # Based on works of Jacob Alberty and The PostgreSQL Development Group. 7 | # 8 | 9 | # 10 | # About the [Tabs ahead] marker: 11 | # Some sections of this file use tabs for better readability. 12 | # When using bash here strings the - option suppresses leading tabs but not spaces. 13 | # 14 | 15 | 16 | 17 | # https://linuxcommand.org/lc3_man_pages/seth.html 18 | # -E If set, the ERR trap is inherited by shell functions. 19 | # -e Exit immediately if a command exits with a non-zero status. 20 | # -u Treat unset variables as an error when substituting 21 | # -o Set the variable corresponding to option-name: 22 | # pipefail the return value of a pipeline is the status of 23 | # the last command to exit with a non-zero status, 24 | # or zero if no command exited with a non-zero status 25 | set -Eeuo pipefail 26 | 27 | # usage: read_from_file_or_env VAR [DEFAULT] 28 | # ie: read_from_file_or_env 'DB_PASSWORD' 'example' 29 | # If $(VAR)_FILE var is set, sets VAR value from file contents. Otherwise, uses DEFAULT value if VAR is not set. 30 | read_from_file_or_env() { 31 | local var="$1" 32 | local fileVar="${var}_FILE" 33 | if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then 34 | # [Tabs ahead] 35 | cat >&2 <<-EOL 36 | ----- 37 | ERROR: Both $var and $fileVar are set. 38 | 39 | Variables %s and %s are mutually exclusive. Remove either one. 40 | ----- 41 | EOL 42 | exit 1 43 | fi 44 | 45 | local def="${2:-}" 46 | local val="$def" 47 | if [ "${!var:-}" ]; then 48 | val="${!var}" 49 | elif [ "${!fileVar:-}" ]; then 50 | val="$(< "${!fileVar}")" 51 | fi 52 | 53 | export "$var"="$val" 54 | unset "$fileVar" 55 | } 56 | 57 | # usage: firebird_config_set KEY VALUE 58 | # ie: firebird_config_set 'WireCrypt' 'Enabled' 59 | # Set configuration key KEY to VALUE in 'firebird.conf' 60 | firebird_config_set() { 61 | # Uncomment line 62 | sed -i "s/^#${1}/${1}/g" /opt/firebird/firebird.conf 63 | 64 | # Set KEY to VALUE 65 | sed -i "s~^\(${1}\s*=\s*\).*$~\1${2}~" /opt/firebird/firebird.conf 66 | } 67 | 68 | # Indent multi-line string -- https://stackoverflow.com/a/29779745 69 | indent() { 70 | sed 's/^/ /'; 71 | } 72 | 73 | # Set Firebird configuration parameters from environment variables. 74 | set_config() { 75 | read_from_file_or_env 'FIREBIRD_USE_LEGACY_AUTH' 76 | if [ "$FIREBIRD_USE_LEGACY_AUTH" == 'true' ]; then 77 | echo 'Using Legacy_Auth.' 78 | 79 | # Firebird 4+: Uses 'Srp256' before 'Srp'. 80 | local srp256='' 81 | [ "$FIREBIRD_MAJOR" -ge "4" ] && srp256='Srp256, ' 82 | 83 | # Adds Legacy_Auth and Legacy_UserManager as first options. 84 | firebird_config_set AuthServer "Legacy_Auth, ${srp256}Srp" 85 | firebird_config_set AuthClient "Legacy_Auth, ${srp256}Srp" 86 | firebird_config_set UserManager 'Legacy_UserManager, Srp' 87 | 88 | # Default setting is 'Required'. Reduces it to 'Enabled'. 89 | firebird_config_set WireCrypt 'Enabled' 90 | fi 91 | 92 | # FIREBIRD_CONF_* variables: set key in 'firebird.conf' 93 | local v 94 | for v in $(compgen -A variable | grep 'FIREBIRD_CONF_'); do 95 | local key=${v/FIREBIRD_CONF_/} 96 | firebird_config_set "$key" "${!v}" 97 | done 98 | 99 | # Output changed settings 100 | local changed_settings=$(grep -o '^[^#]*' /opt/firebird/firebird.conf) 101 | if [ -n "$changed_settings" ]; then 102 | echo "Using settings:" 103 | echo "$changed_settings" | indent 104 | fi 105 | } 106 | 107 | # Changes SYSDBA password if FIREBIRD_ROOT_PASSWORD variable is set. 108 | set_sysdba() { 109 | read_from_file_or_env 'FIREBIRD_ROOT_PASSWORD' 110 | if [ -n "$FIREBIRD_ROOT_PASSWORD" ]; then 111 | echo 'Changing SYSDBA password.' 112 | 113 | # [Tabs ahead] 114 | /opt/firebird/bin/isql -b -user SYSDBA security.db <<-EOL 115 | CREATE OR ALTER USER SYSDBA 116 | PASSWORD '$FIREBIRD_ROOT_PASSWORD' 117 | USING PLUGIN Srp; 118 | EXIT; 119 | EOL 120 | 121 | if [ "$FIREBIRD_USE_LEGACY_AUTH" == 'true' ]; then 122 | # [Tabs ahead] 123 | /opt/firebird/bin/isql -b -user SYSDBA security.db <<-EOL 124 | CREATE OR ALTER USER SYSDBA 125 | PASSWORD '$FIREBIRD_ROOT_PASSWORD' 126 | USING PLUGIN Legacy_UserManager; 127 | EXIT; 128 | EOL 129 | fi 130 | 131 | rm -rf /opt/firebird/SYSDBA.password 132 | fi 133 | } 134 | 135 | # Requires FIREBIRD_PASSWORD if FIREBIRD_USER is set. 136 | requires_user_password() { 137 | if [ -n "$FIREBIRD_USER" ] && [ -z "$FIREBIRD_PASSWORD" ]; then 138 | # [Tabs ahead] 139 | cat >&2 <<-EOL 140 | ----- 141 | ERROR: FIREBIRD_PASSWORD variable is not set. 142 | 143 | When using FIREBIRD_USER you must also set FIREBIRD_PASSWORD variable. 144 | ----- 145 | EOL 146 | exit 1 147 | fi 148 | } 149 | 150 | # Create Firebird user. 151 | create_user() { 152 | read_from_file_or_env 'FIREBIRD_USER' 153 | read_from_file_or_env 'FIREBIRD_PASSWORD' 154 | 155 | if [ -n "$FIREBIRD_USER" ]; then 156 | requires_user_password 157 | echo "Creating user '$FIREBIRD_USER'..." 158 | 159 | # [Tabs ahead] 160 | /opt/firebird/bin/isql -b security.db <<-EOL 161 | CREATE OR ALTER USER $FIREBIRD_USER 162 | PASSWORD '$FIREBIRD_PASSWORD' 163 | GRANT ADMIN ROLE; 164 | EXIT; 165 | EOL 166 | fi 167 | } 168 | 169 | # Run isql 170 | process_sql() { 171 | local isql_command=( /opt/firebird/bin/isql -b ) 172 | 173 | if [ -n "$FIREBIRD_USER" ]; then 174 | isql_command+=( -u "$FIREBIRD_USER" -p "$FIREBIRD_PASSWORD" ) 175 | fi 176 | 177 | if [ -n "$FIREBIRD_DATABASE" ]; then 178 | isql_command+=( "$FIREBIRD_DATABASE" ) 179 | fi 180 | 181 | ${isql_command[@]} "$@" 182 | } 183 | 184 | # Execute database initialization scripts 185 | init_db() { 186 | local f 187 | for f; do 188 | case "$f" in 189 | *.sh) 190 | if [ -x "$f" ]; then 191 | # Script is executable. Run it. 192 | printf ' running %s\n' "$f" 193 | "$f" 194 | else 195 | # Script is not executable. Source it. 196 | printf ' sourcing %s\n' "$f" 197 | . "$f" 198 | fi 199 | ;; 200 | *.sql) printf ' running %s\n' "$f"; cat "$f" | process_sql; printf '\n' ;; 201 | *.sql.gz) printf ' running %s\n' "$f"; gunzip -c "$f" | process_sql; printf '\n' ;; 202 | *.sql.xz) printf ' running %s\n' "$f"; xzcat "$f" | process_sql; printf '\n' ;; 203 | *.sql.zst) printf ' running %s\n' "$f"; zstd -dc "$f" | process_sql; printf '\n' ;; 204 | *) printf ' ignoring %s\n' "$f" ;; 205 | esac 206 | printf '\n' 207 | done 208 | 209 | } 210 | 211 | # Create user database. 212 | create_db() { 213 | read_from_file_or_env 'FIREBIRD_DATABASE' 214 | if [ -n "$FIREBIRD_DATABASE" ]; then 215 | # Expand FIREBIRD_DATABASE to full path 216 | cd "$FIREBIRD_DATA" 217 | export FIREBIRD_DATABASE=$(realpath --canonicalize-missing "$FIREBIRD_DATABASE") 218 | 219 | # Store it for other sessions of this instance 220 | echo "export FIREBIRD_DATABASE='$FIREBIRD_DATABASE'" > ~/.bashrc 221 | 222 | # Create database only if not exists. 223 | if [ ! -f "$FIREBIRD_DATABASE" ]; then 224 | echo "Creating database '$FIREBIRD_DATABASE'..." 225 | 226 | read_from_file_or_env 'FIREBIRD_DATABASE_PAGE_SIZE' 227 | read_from_file_or_env 'FIREBIRD_DATABASE_DEFAULT_CHARSET' 228 | 229 | local user_and_password='' 230 | [ -n "$FIREBIRD_USER" ] && user_and_password=" USER '$FIREBIRD_USER' PASSWORD '$FIREBIRD_PASSWORD'" 231 | 232 | local page_size='' 233 | [ -n "$FIREBIRD_DATABASE_PAGE_SIZE" ] && page_size="PAGE_SIZE $FIREBIRD_DATABASE_PAGE_SIZE" 234 | 235 | local default_charset='' 236 | [ -n "$FIREBIRD_DATABASE_DEFAULT_CHARSET" ] && default_charset="DEFAULT CHARACTER SET $FIREBIRD_DATABASE_DEFAULT_CHARSET" 237 | 238 | # [Tabs ahead] 239 | /opt/firebird/bin/isql -b -q <<-EOL 240 | CREATE DATABASE '$FIREBIRD_DATABASE' 241 | $user_and_password 242 | $page_size 243 | $default_charset; 244 | EXIT; 245 | EOL 246 | 247 | init_db /docker-entrypoint-initdb.d/* 248 | fi 249 | fi 250 | } 251 | 252 | sigint_handler() { 253 | echo "Stopping Firebird... [SIGINT received]" 254 | } 255 | 256 | sigterm_handler() { 257 | echo "Stopping Firebird... [SIGTERM received]" 258 | } 259 | 260 | run_daemon_and_wait() { 261 | # Traps SIGINT (handles Ctrl-C in interactive mode) 262 | trap sigint_handler SIGINT 263 | 264 | # Traps SIGTERM (polite shutdown) 265 | trap sigterm_handler SIGTERM 266 | 267 | # Firebird version 268 | echo -n 'Starting ' 269 | /opt/firebird/bin/firebird -z 270 | 271 | # Run fbguard and wait 272 | /opt/firebird/bin/fbguard & 273 | wait $! 274 | } 275 | 276 | 277 | 278 | # 279 | # main() 280 | # 281 | if [ "$1" = 'firebird' ]; then 282 | set_config 283 | set_sysdba 284 | 285 | create_user 286 | create_db 287 | 288 | run_daemon_and_wait 289 | else 290 | exec "$@" 291 | fi 292 | -------------------------------------------------------------------------------- /generated/3.0.12/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.12/Firebird-3.0.12.33787-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-406a8887ab318a5d8a20781fc1d38a0ca30acdbddbc1558b077646bb2e2e283f} 22 | 23 | ENV FIREBIRD_VERSION=3.0.12 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/3.0.12/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.12/Firebird-3.0.12.33787-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-406a8887ab318a5d8a20781fc1d38a0ca30acdbddbc1558b077646bb2e2e283f} 22 | 23 | ENV FIREBIRD_VERSION=3.0.12 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/3.0.12/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.12/Firebird-3.0.12.33787-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-406a8887ab318a5d8a20781fc1d38a0ca30acdbddbc1558b077646bb2e2e283f} 22 | 23 | ENV FIREBIRD_VERSION=3.0.12 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/3.0.12/jammy/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # 4 | # Docker entrypoint for firebird-docker images. 5 | # 6 | # Based on works of Jacob Alberty and The PostgreSQL Development Group. 7 | # 8 | 9 | # 10 | # About the [Tabs ahead] marker: 11 | # Some sections of this file use tabs for better readability. 12 | # When using bash here strings the - option suppresses leading tabs but not spaces. 13 | # 14 | 15 | 16 | 17 | # https://linuxcommand.org/lc3_man_pages/seth.html 18 | # -E If set, the ERR trap is inherited by shell functions. 19 | # -e Exit immediately if a command exits with a non-zero status. 20 | # -u Treat unset variables as an error when substituting 21 | # -o Set the variable corresponding to option-name: 22 | # pipefail the return value of a pipeline is the status of 23 | # the last command to exit with a non-zero status, 24 | # or zero if no command exited with a non-zero status 25 | set -Eeuo pipefail 26 | 27 | # usage: read_from_file_or_env VAR [DEFAULT] 28 | # ie: read_from_file_or_env 'DB_PASSWORD' 'example' 29 | # If $(VAR)_FILE var is set, sets VAR value from file contents. Otherwise, uses DEFAULT value if VAR is not set. 30 | read_from_file_or_env() { 31 | local var="$1" 32 | local fileVar="${var}_FILE" 33 | if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then 34 | # [Tabs ahead] 35 | cat >&2 <<-EOL 36 | ----- 37 | ERROR: Both $var and $fileVar are set. 38 | 39 | Variables %s and %s are mutually exclusive. Remove either one. 40 | ----- 41 | EOL 42 | exit 1 43 | fi 44 | 45 | local def="${2:-}" 46 | local val="$def" 47 | if [ "${!var:-}" ]; then 48 | val="${!var}" 49 | elif [ "${!fileVar:-}" ]; then 50 | val="$(< "${!fileVar}")" 51 | fi 52 | 53 | export "$var"="$val" 54 | unset "$fileVar" 55 | } 56 | 57 | # usage: firebird_config_set KEY VALUE 58 | # ie: firebird_config_set 'WireCrypt' 'Enabled' 59 | # Set configuration key KEY to VALUE in 'firebird.conf' 60 | firebird_config_set() { 61 | # Uncomment line 62 | sed -i "s/^#${1}/${1}/g" /opt/firebird/firebird.conf 63 | 64 | # Set KEY to VALUE 65 | sed -i "s~^\(${1}\s*=\s*\).*$~\1${2}~" /opt/firebird/firebird.conf 66 | } 67 | 68 | # Indent multi-line string -- https://stackoverflow.com/a/29779745 69 | indent() { 70 | sed 's/^/ /'; 71 | } 72 | 73 | # Set Firebird configuration parameters from environment variables. 74 | set_config() { 75 | read_from_file_or_env 'FIREBIRD_USE_LEGACY_AUTH' 76 | if [ "$FIREBIRD_USE_LEGACY_AUTH" == 'true' ]; then 77 | echo 'Using Legacy_Auth.' 78 | 79 | # Firebird 4+: Uses 'Srp256' before 'Srp'. 80 | local srp256='' 81 | [ "$FIREBIRD_MAJOR" -ge "4" ] && srp256='Srp256, ' 82 | 83 | # Adds Legacy_Auth and Legacy_UserManager as first options. 84 | firebird_config_set AuthServer "Legacy_Auth, ${srp256}Srp" 85 | firebird_config_set AuthClient "Legacy_Auth, ${srp256}Srp" 86 | firebird_config_set UserManager 'Legacy_UserManager, Srp' 87 | 88 | # Default setting is 'Required'. Reduces it to 'Enabled'. 89 | firebird_config_set WireCrypt 'Enabled' 90 | fi 91 | 92 | # FIREBIRD_CONF_* variables: set key in 'firebird.conf' 93 | local v 94 | for v in $(compgen -A variable | grep 'FIREBIRD_CONF_'); do 95 | local key=${v/FIREBIRD_CONF_/} 96 | firebird_config_set "$key" "${!v}" 97 | done 98 | 99 | # Output changed settings 100 | local changed_settings=$(grep -o '^[^#]*' /opt/firebird/firebird.conf) 101 | if [ -n "$changed_settings" ]; then 102 | echo "Using settings:" 103 | echo "$changed_settings" | indent 104 | fi 105 | } 106 | 107 | # Changes SYSDBA password if FIREBIRD_ROOT_PASSWORD variable is set. 108 | set_sysdba() { 109 | read_from_file_or_env 'FIREBIRD_ROOT_PASSWORD' 110 | if [ -n "$FIREBIRD_ROOT_PASSWORD" ]; then 111 | echo 'Changing SYSDBA password.' 112 | 113 | # [Tabs ahead] 114 | /opt/firebird/bin/isql -b -user SYSDBA security.db <<-EOL 115 | CREATE OR ALTER USER SYSDBA 116 | PASSWORD '$FIREBIRD_ROOT_PASSWORD' 117 | USING PLUGIN Srp; 118 | EXIT; 119 | EOL 120 | 121 | if [ "$FIREBIRD_USE_LEGACY_AUTH" == 'true' ]; then 122 | # [Tabs ahead] 123 | /opt/firebird/bin/isql -b -user SYSDBA security.db <<-EOL 124 | CREATE OR ALTER USER SYSDBA 125 | PASSWORD '$FIREBIRD_ROOT_PASSWORD' 126 | USING PLUGIN Legacy_UserManager; 127 | EXIT; 128 | EOL 129 | fi 130 | 131 | rm -rf /opt/firebird/SYSDBA.password 132 | fi 133 | } 134 | 135 | # Requires FIREBIRD_PASSWORD if FIREBIRD_USER is set. 136 | requires_user_password() { 137 | if [ -n "$FIREBIRD_USER" ] && [ -z "$FIREBIRD_PASSWORD" ]; then 138 | # [Tabs ahead] 139 | cat >&2 <<-EOL 140 | ----- 141 | ERROR: FIREBIRD_PASSWORD variable is not set. 142 | 143 | When using FIREBIRD_USER you must also set FIREBIRD_PASSWORD variable. 144 | ----- 145 | EOL 146 | exit 1 147 | fi 148 | } 149 | 150 | # Create Firebird user. 151 | create_user() { 152 | read_from_file_or_env 'FIREBIRD_USER' 153 | read_from_file_or_env 'FIREBIRD_PASSWORD' 154 | 155 | if [ -n "$FIREBIRD_USER" ]; then 156 | requires_user_password 157 | echo "Creating user '$FIREBIRD_USER'..." 158 | 159 | # [Tabs ahead] 160 | /opt/firebird/bin/isql -b security.db <<-EOL 161 | CREATE OR ALTER USER $FIREBIRD_USER 162 | PASSWORD '$FIREBIRD_PASSWORD' 163 | GRANT ADMIN ROLE; 164 | EXIT; 165 | EOL 166 | fi 167 | } 168 | 169 | # Run isql 170 | process_sql() { 171 | local isql_command=( /opt/firebird/bin/isql -b ) 172 | 173 | if [ -n "$FIREBIRD_USER" ]; then 174 | isql_command+=( -u "$FIREBIRD_USER" -p "$FIREBIRD_PASSWORD" ) 175 | fi 176 | 177 | if [ -n "$FIREBIRD_DATABASE" ]; then 178 | isql_command+=( "$FIREBIRD_DATABASE" ) 179 | fi 180 | 181 | ${isql_command[@]} "$@" 182 | } 183 | 184 | # Execute database initialization scripts 185 | init_db() { 186 | local f 187 | for f; do 188 | case "$f" in 189 | *.sh) 190 | if [ -x "$f" ]; then 191 | # Script is executable. Run it. 192 | printf ' running %s\n' "$f" 193 | "$f" 194 | else 195 | # Script is not executable. Source it. 196 | printf ' sourcing %s\n' "$f" 197 | . "$f" 198 | fi 199 | ;; 200 | *.sql) printf ' running %s\n' "$f"; cat "$f" | process_sql; printf '\n' ;; 201 | *.sql.gz) printf ' running %s\n' "$f"; gunzip -c "$f" | process_sql; printf '\n' ;; 202 | *.sql.xz) printf ' running %s\n' "$f"; xzcat "$f" | process_sql; printf '\n' ;; 203 | *.sql.zst) printf ' running %s\n' "$f"; zstd -dc "$f" | process_sql; printf '\n' ;; 204 | *) printf ' ignoring %s\n' "$f" ;; 205 | esac 206 | printf '\n' 207 | done 208 | 209 | } 210 | 211 | # Create user database. 212 | create_db() { 213 | read_from_file_or_env 'FIREBIRD_DATABASE' 214 | if [ -n "$FIREBIRD_DATABASE" ]; then 215 | # Expand FIREBIRD_DATABASE to full path 216 | cd "$FIREBIRD_DATA" 217 | export FIREBIRD_DATABASE=$(realpath --canonicalize-missing "$FIREBIRD_DATABASE") 218 | 219 | # Store it for other sessions of this instance 220 | echo "export FIREBIRD_DATABASE='$FIREBIRD_DATABASE'" > ~/.bashrc 221 | 222 | # Create database only if not exists. 223 | if [ ! -f "$FIREBIRD_DATABASE" ]; then 224 | echo "Creating database '$FIREBIRD_DATABASE'..." 225 | 226 | read_from_file_or_env 'FIREBIRD_DATABASE_PAGE_SIZE' 227 | read_from_file_or_env 'FIREBIRD_DATABASE_DEFAULT_CHARSET' 228 | 229 | local user_and_password='' 230 | [ -n "$FIREBIRD_USER" ] && user_and_password=" USER '$FIREBIRD_USER' PASSWORD '$FIREBIRD_PASSWORD'" 231 | 232 | local page_size='' 233 | [ -n "$FIREBIRD_DATABASE_PAGE_SIZE" ] && page_size="PAGE_SIZE $FIREBIRD_DATABASE_PAGE_SIZE" 234 | 235 | local default_charset='' 236 | [ -n "$FIREBIRD_DATABASE_DEFAULT_CHARSET" ] && default_charset="DEFAULT CHARACTER SET $FIREBIRD_DATABASE_DEFAULT_CHARSET" 237 | 238 | # [Tabs ahead] 239 | /opt/firebird/bin/isql -b -q <<-EOL 240 | CREATE DATABASE '$FIREBIRD_DATABASE' 241 | $user_and_password 242 | $page_size 243 | $default_charset; 244 | EXIT; 245 | EOL 246 | 247 | init_db /docker-entrypoint-initdb.d/* 248 | fi 249 | fi 250 | } 251 | 252 | sigint_handler() { 253 | echo "Stopping Firebird... [SIGINT received]" 254 | } 255 | 256 | sigterm_handler() { 257 | echo "Stopping Firebird... [SIGTERM received]" 258 | } 259 | 260 | run_daemon_and_wait() { 261 | # Traps SIGINT (handles Ctrl-C in interactive mode) 262 | trap sigint_handler SIGINT 263 | 264 | # Traps SIGTERM (polite shutdown) 265 | trap sigterm_handler SIGTERM 266 | 267 | # Firebird version 268 | echo -n 'Starting ' 269 | /opt/firebird/bin/firebird -z 270 | 271 | # Run fbguard and wait 272 | /opt/firebird/bin/fbguard & 273 | wait $! 274 | } 275 | 276 | 277 | 278 | # 279 | # main() 280 | # 281 | if [ "$1" = 'firebird' ]; then 282 | set_config 283 | set_sysdba 284 | 285 | create_user 286 | create_db 287 | 288 | run_daemon_and_wait 289 | else 290 | exec "$@" 291 | fi 292 | -------------------------------------------------------------------------------- /generated/3.0.8/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.8/Firebird-3.0.8.33535-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-fbf154244d3568f4de4ee68769ed71a0699845197ae1c02c2029dc4d0f1af5f9} 22 | 23 | ENV FIREBIRD_VERSION=3.0.8 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/3.0.8/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.8/Firebird-3.0.8.33535-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-fbf154244d3568f4de4ee68769ed71a0699845197ae1c02c2029dc4d0f1af5f9} 22 | 23 | ENV FIREBIRD_VERSION=3.0.8 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/3.0.8/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.8/Firebird-3.0.8.33535-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-fbf154244d3568f4de4ee68769ed71a0699845197ae1c02c2029dc4d0f1af5f9} 22 | 23 | ENV FIREBIRD_VERSION=3.0.8 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/3.0.9/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.9/Firebird-3.0.9.33560-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-0a80a5dc507f388e96adf9b64584c0b568d94a8f3df19d7baec494c5f98ba5a4} 22 | 23 | ENV FIREBIRD_VERSION=3.0.9 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/3.0.9/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.9/Firebird-3.0.9.33560-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-0a80a5dc507f388e96adf9b64584c0b568d94a8f3df19d7baec494c5f98ba5a4} 22 | 23 | ENV FIREBIRD_VERSION=3.0.9 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/3.0.9/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v3.0.9/Firebird-3.0.9.33560-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-0a80a5dc507f388e96adf9b64584c0b568d94a8f3df19d7baec494c5f98ba5a4} 22 | 23 | ENV FIREBIRD_VERSION=3.0.9 24 | ENV FIREBIRD_MAJOR=3 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/4.0.0/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.0/Firebird-4.0.0.2496-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-06f6e00b9657a1967f21b34bea8150d5a3e5b1d1b1313bb6455e16878b42d63e} 22 | 23 | ENV FIREBIRD_VERSION=4.0.0 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.0/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.0/Firebird-4.0.0.2496-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-06f6e00b9657a1967f21b34bea8150d5a3e5b1d1b1313bb6455e16878b42d63e} 22 | 23 | ENV FIREBIRD_VERSION=4.0.0 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.0/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.0/Firebird-4.0.0.2496-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-06f6e00b9657a1967f21b34bea8150d5a3e5b1d1b1313bb6455e16878b42d63e} 22 | 23 | ENV FIREBIRD_VERSION=4.0.0 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/4.0.0/noble/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | FROM ubuntu:noble 6 | 7 | ENV LANG=C.UTF-8 8 | ENV LC_ALL=C.UTF-8 9 | 10 | ARG ARCH_ARM64 11 | 12 | # ARM64 arch 13 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 14 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 15 | 16 | # AMD64 arch 17 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.0/Firebird-4.0.0.2496-0.amd64.tar.gz} 18 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-06f6e00b9657a1967f21b34bea8150d5a3e5b1d1b1313bb6455e16878b42d63e} 19 | 20 | ENV FIREBIRD_VERSION=4.0.0 21 | ENV FIREBIRD_MAJOR=4 22 | 23 | # https://linuxcommand.org/lc3_man_pages/seth.html 24 | # -e Exit immediately if a command exits with a non-zero status. 25 | # -u Treat unset variables as an error when substituting 26 | # -x Print commands and their arguments as they are executed. 27 | 28 | # Prerequisites 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu74 \ 34 | libncurses6 \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps \ 39 | tzdata; \ 40 | rm -rf /var/lib/apt/lists/* 41 | 42 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 43 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 44 | 45 | # Download 46 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 47 | --chown=root:root \ 48 | --chmod=777 \ 49 | $FIREBIRD_RELEASE_URL \ 50 | /tmp/firebird-bundle.tar.gz 51 | 52 | # Extract, install, clean 53 | RUN set -eux; \ 54 | cd /tmp; \ 55 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 56 | ./install.sh -silent; \ 57 | rm *.tar.gz *.sh *.txt \ 58 | # Remove unnecessary files 59 | rm -rf /opt/firebird/doc \ 60 | /opt/firebird/examples \ 61 | /opt/firebird/help \ 62 | /opt/firebird/include; \ 63 | # Remove 'employee' sample database from 'databases.conf' 64 | sed -i '/^employee/d' /opt/firebird/databases.conf 65 | 66 | # System path 67 | ENV PATH=/opt/firebird/bin:$PATH 68 | 69 | # Data directory 70 | ENV FIREBIRD_DATA=/var/lib/firebird/data 71 | RUN set -eux; \ 72 | mkdir -p "$FIREBIRD_DATA"; \ 73 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 74 | chmod 644 "$FIREBIRD_DATA" 75 | VOLUME $FIREBIRD_DATA 76 | 77 | # Entrypoint 78 | COPY entrypoint.sh /usr/local/bin/ 79 | RUN set -eux; \ 80 | chmod +x /usr/local/bin/entrypoint.sh 81 | ENTRYPOINT ["entrypoint.sh"] 82 | 83 | EXPOSE 3050/tcp 84 | 85 | # Fix terminfo location 86 | ENV TERMINFO=/lib/terminfo/ 87 | 88 | CMD ["firebird"] 89 | 90 | -------------------------------------------------------------------------------- /generated/4.0.1/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.1/Firebird-4.0.1.2692-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-90b6727b8366b3674fc30ba13d0f52ab0b419c3bb3a4224c8d3f480143538998} 22 | 23 | ENV FIREBIRD_VERSION=4.0.1 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.1/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.1/Firebird-4.0.1.2692-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-90b6727b8366b3674fc30ba13d0f52ab0b419c3bb3a4224c8d3f480143538998} 22 | 23 | ENV FIREBIRD_VERSION=4.0.1 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.1/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.1/Firebird-4.0.1.2692-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-90b6727b8366b3674fc30ba13d0f52ab0b419c3bb3a4224c8d3f480143538998} 22 | 23 | ENV FIREBIRD_VERSION=4.0.1 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/4.0.1/noble/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | FROM ubuntu:noble 6 | 7 | ENV LANG=C.UTF-8 8 | ENV LC_ALL=C.UTF-8 9 | 10 | ARG ARCH_ARM64 11 | 12 | # ARM64 arch 13 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 14 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 15 | 16 | # AMD64 arch 17 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.1/Firebird-4.0.1.2692-0.amd64.tar.gz} 18 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-90b6727b8366b3674fc30ba13d0f52ab0b419c3bb3a4224c8d3f480143538998} 19 | 20 | ENV FIREBIRD_VERSION=4.0.1 21 | ENV FIREBIRD_MAJOR=4 22 | 23 | # https://linuxcommand.org/lc3_man_pages/seth.html 24 | # -e Exit immediately if a command exits with a non-zero status. 25 | # -u Treat unset variables as an error when substituting 26 | # -x Print commands and their arguments as they are executed. 27 | 28 | # Prerequisites 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu74 \ 34 | libncurses6 \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps \ 39 | tzdata; \ 40 | rm -rf /var/lib/apt/lists/* 41 | 42 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 43 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 44 | 45 | # Download 46 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 47 | --chown=root:root \ 48 | --chmod=777 \ 49 | $FIREBIRD_RELEASE_URL \ 50 | /tmp/firebird-bundle.tar.gz 51 | 52 | # Extract, install, clean 53 | RUN set -eux; \ 54 | cd /tmp; \ 55 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 56 | ./install.sh -silent; \ 57 | rm *.tar.gz *.sh *.txt \ 58 | # Remove unnecessary files 59 | rm -rf /opt/firebird/doc \ 60 | /opt/firebird/examples \ 61 | /opt/firebird/help \ 62 | /opt/firebird/include; \ 63 | # Remove 'employee' sample database from 'databases.conf' 64 | sed -i '/^employee/d' /opt/firebird/databases.conf 65 | 66 | # System path 67 | ENV PATH=/opt/firebird/bin:$PATH 68 | 69 | # Data directory 70 | ENV FIREBIRD_DATA=/var/lib/firebird/data 71 | RUN set -eux; \ 72 | mkdir -p "$FIREBIRD_DATA"; \ 73 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 74 | chmod 644 "$FIREBIRD_DATA" 75 | VOLUME $FIREBIRD_DATA 76 | 77 | # Entrypoint 78 | COPY entrypoint.sh /usr/local/bin/ 79 | RUN set -eux; \ 80 | chmod +x /usr/local/bin/entrypoint.sh 81 | ENTRYPOINT ["entrypoint.sh"] 82 | 83 | EXPOSE 3050/tcp 84 | 85 | # Fix terminfo location 86 | ENV TERMINFO=/lib/terminfo/ 87 | 88 | CMD ["firebird"] 89 | 90 | -------------------------------------------------------------------------------- /generated/4.0.2/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-70108f9854a522ac6eb7b2bdc1bda9780aab97dbfbf358ced90c0db13b8af9fa} 22 | 23 | ENV FIREBIRD_VERSION=4.0.2 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.2/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-70108f9854a522ac6eb7b2bdc1bda9780aab97dbfbf358ced90c0db13b8af9fa} 22 | 23 | ENV FIREBIRD_VERSION=4.0.2 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.2/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-70108f9854a522ac6eb7b2bdc1bda9780aab97dbfbf358ced90c0db13b8af9fa} 22 | 23 | ENV FIREBIRD_VERSION=4.0.2 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/4.0.2/noble/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | FROM ubuntu:noble 6 | 7 | ENV LANG=C.UTF-8 8 | ENV LC_ALL=C.UTF-8 9 | 10 | ARG ARCH_ARM64 11 | 12 | # ARM64 arch 13 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 14 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 15 | 16 | # AMD64 arch 17 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0.amd64.tar.gz} 18 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-70108f9854a522ac6eb7b2bdc1bda9780aab97dbfbf358ced90c0db13b8af9fa} 19 | 20 | ENV FIREBIRD_VERSION=4.0.2 21 | ENV FIREBIRD_MAJOR=4 22 | 23 | # https://linuxcommand.org/lc3_man_pages/seth.html 24 | # -e Exit immediately if a command exits with a non-zero status. 25 | # -u Treat unset variables as an error when substituting 26 | # -x Print commands and their arguments as they are executed. 27 | 28 | # Prerequisites 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu74 \ 34 | libncurses6 \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps \ 39 | tzdata; \ 40 | rm -rf /var/lib/apt/lists/* 41 | 42 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 43 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 44 | 45 | # Download 46 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 47 | --chown=root:root \ 48 | --chmod=777 \ 49 | $FIREBIRD_RELEASE_URL \ 50 | /tmp/firebird-bundle.tar.gz 51 | 52 | # Extract, install, clean 53 | RUN set -eux; \ 54 | cd /tmp; \ 55 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 56 | ./install.sh -silent; \ 57 | rm *.tar.gz *.sh *.txt \ 58 | # Remove unnecessary files 59 | rm -rf /opt/firebird/doc \ 60 | /opt/firebird/examples \ 61 | /opt/firebird/help \ 62 | /opt/firebird/include; \ 63 | # Remove 'employee' sample database from 'databases.conf' 64 | sed -i '/^employee/d' /opt/firebird/databases.conf 65 | 66 | # System path 67 | ENV PATH=/opt/firebird/bin:$PATH 68 | 69 | # Data directory 70 | ENV FIREBIRD_DATA=/var/lib/firebird/data 71 | RUN set -eux; \ 72 | mkdir -p "$FIREBIRD_DATA"; \ 73 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 74 | chmod 644 "$FIREBIRD_DATA" 75 | VOLUME $FIREBIRD_DATA 76 | 77 | # Entrypoint 78 | COPY entrypoint.sh /usr/local/bin/ 79 | RUN set -eux; \ 80 | chmod +x /usr/local/bin/entrypoint.sh 81 | ENTRYPOINT ["entrypoint.sh"] 82 | 83 | EXPOSE 3050/tcp 84 | 85 | # Fix terminfo location 86 | ENV TERMINFO=/lib/terminfo/ 87 | 88 | CMD ["firebird"] 89 | 90 | -------------------------------------------------------------------------------- /generated/4.0.3/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.3/Firebird-4.0.3.2975-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-bd439c3c8f74fd03a592eafd20de37ce028c424fbe023352f1bd17db54c3257d} 22 | 23 | ENV FIREBIRD_VERSION=4.0.3 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.3/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.3/Firebird-4.0.3.2975-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-bd439c3c8f74fd03a592eafd20de37ce028c424fbe023352f1bd17db54c3257d} 22 | 23 | ENV FIREBIRD_VERSION=4.0.3 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.3/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.3/Firebird-4.0.3.2975-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-bd439c3c8f74fd03a592eafd20de37ce028c424fbe023352f1bd17db54c3257d} 22 | 23 | ENV FIREBIRD_VERSION=4.0.3 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/4.0.3/noble/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | FROM ubuntu:noble 6 | 7 | ENV LANG=C.UTF-8 8 | ENV LC_ALL=C.UTF-8 9 | 10 | ARG ARCH_ARM64 11 | 12 | # ARM64 arch 13 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 14 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 15 | 16 | # AMD64 arch 17 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.3/Firebird-4.0.3.2975-0.amd64.tar.gz} 18 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-bd439c3c8f74fd03a592eafd20de37ce028c424fbe023352f1bd17db54c3257d} 19 | 20 | ENV FIREBIRD_VERSION=4.0.3 21 | ENV FIREBIRD_MAJOR=4 22 | 23 | # https://linuxcommand.org/lc3_man_pages/seth.html 24 | # -e Exit immediately if a command exits with a non-zero status. 25 | # -u Treat unset variables as an error when substituting 26 | # -x Print commands and their arguments as they are executed. 27 | 28 | # Prerequisites 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu74 \ 34 | libncurses6 \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps \ 39 | tzdata; \ 40 | rm -rf /var/lib/apt/lists/* 41 | 42 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 43 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 44 | 45 | # Download 46 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 47 | --chown=root:root \ 48 | --chmod=777 \ 49 | $FIREBIRD_RELEASE_URL \ 50 | /tmp/firebird-bundle.tar.gz 51 | 52 | # Extract, install, clean 53 | RUN set -eux; \ 54 | cd /tmp; \ 55 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 56 | ./install.sh -silent; \ 57 | rm *.tar.gz *.sh *.txt \ 58 | # Remove unnecessary files 59 | rm -rf /opt/firebird/doc \ 60 | /opt/firebird/examples \ 61 | /opt/firebird/help \ 62 | /opt/firebird/include; \ 63 | # Remove 'employee' sample database from 'databases.conf' 64 | sed -i '/^employee/d' /opt/firebird/databases.conf 65 | 66 | # System path 67 | ENV PATH=/opt/firebird/bin:$PATH 68 | 69 | # Data directory 70 | ENV FIREBIRD_DATA=/var/lib/firebird/data 71 | RUN set -eux; \ 72 | mkdir -p "$FIREBIRD_DATA"; \ 73 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 74 | chmod 644 "$FIREBIRD_DATA" 75 | VOLUME $FIREBIRD_DATA 76 | 77 | # Entrypoint 78 | COPY entrypoint.sh /usr/local/bin/ 79 | RUN set -eux; \ 80 | chmod +x /usr/local/bin/entrypoint.sh 81 | ENTRYPOINT ["entrypoint.sh"] 82 | 83 | EXPOSE 3050/tcp 84 | 85 | # Fix terminfo location 86 | ENV TERMINFO=/lib/terminfo/ 87 | 88 | CMD ["firebird"] 89 | 90 | -------------------------------------------------------------------------------- /generated/4.0.4/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.4/Firebird-4.0.4.3010-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-ef589301c5e13a1f8481e1e38c453641ef5082344bf69edb51f8aa9f036bcaca} 22 | 23 | ENV FIREBIRD_VERSION=4.0.4 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.4/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.4/Firebird-4.0.4.3010-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-ef589301c5e13a1f8481e1e38c453641ef5082344bf69edb51f8aa9f036bcaca} 22 | 23 | ENV FIREBIRD_VERSION=4.0.4 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.4/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.4/Firebird-4.0.4.3010-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-ef589301c5e13a1f8481e1e38c453641ef5082344bf69edb51f8aa9f036bcaca} 22 | 23 | ENV FIREBIRD_VERSION=4.0.4 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/4.0.4/noble/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | FROM ubuntu:noble 6 | 7 | ENV LANG=C.UTF-8 8 | ENV LC_ALL=C.UTF-8 9 | 10 | ARG ARCH_ARM64 11 | 12 | # ARM64 arch 13 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 14 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 15 | 16 | # AMD64 arch 17 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.4/Firebird-4.0.4.3010-0.amd64.tar.gz} 18 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-ef589301c5e13a1f8481e1e38c453641ef5082344bf69edb51f8aa9f036bcaca} 19 | 20 | ENV FIREBIRD_VERSION=4.0.4 21 | ENV FIREBIRD_MAJOR=4 22 | 23 | # https://linuxcommand.org/lc3_man_pages/seth.html 24 | # -e Exit immediately if a command exits with a non-zero status. 25 | # -u Treat unset variables as an error when substituting 26 | # -x Print commands and their arguments as they are executed. 27 | 28 | # Prerequisites 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu74 \ 34 | libncurses6 \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps \ 39 | tzdata; \ 40 | rm -rf /var/lib/apt/lists/* 41 | 42 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 43 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 44 | 45 | # Download 46 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 47 | --chown=root:root \ 48 | --chmod=777 \ 49 | $FIREBIRD_RELEASE_URL \ 50 | /tmp/firebird-bundle.tar.gz 51 | 52 | # Extract, install, clean 53 | RUN set -eux; \ 54 | cd /tmp; \ 55 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 56 | ./install.sh -silent; \ 57 | rm *.tar.gz *.sh *.txt \ 58 | # Remove unnecessary files 59 | rm -rf /opt/firebird/doc \ 60 | /opt/firebird/examples \ 61 | /opt/firebird/help \ 62 | /opt/firebird/include; \ 63 | # Remove 'employee' sample database from 'databases.conf' 64 | sed -i '/^employee/d' /opt/firebird/databases.conf 65 | 66 | # System path 67 | ENV PATH=/opt/firebird/bin:$PATH 68 | 69 | # Data directory 70 | ENV FIREBIRD_DATA=/var/lib/firebird/data 71 | RUN set -eux; \ 72 | mkdir -p "$FIREBIRD_DATA"; \ 73 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 74 | chmod 644 "$FIREBIRD_DATA" 75 | VOLUME $FIREBIRD_DATA 76 | 77 | # Entrypoint 78 | COPY entrypoint.sh /usr/local/bin/ 79 | RUN set -eux; \ 80 | chmod +x /usr/local/bin/entrypoint.sh 81 | ENTRYPOINT ["entrypoint.sh"] 82 | 83 | EXPOSE 3050/tcp 84 | 85 | # Fix terminfo location 86 | ENV TERMINFO=/lib/terminfo/ 87 | 88 | CMD ["firebird"] 89 | 90 | -------------------------------------------------------------------------------- /generated/4.0.5/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.5/Firebird-4.0.5.3140-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-6ae43e4fa31ddc99220575023b7d954fb218c063375bb589b16fbe9fcdfdcaa6} 22 | 23 | ENV FIREBIRD_VERSION=4.0.5 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.5/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.5/Firebird-4.0.5.3140-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-6ae43e4fa31ddc99220575023b7d954fb218c063375bb589b16fbe9fcdfdcaa6} 22 | 23 | ENV FIREBIRD_VERSION=4.0.5 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/4.0.5/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.5/Firebird-4.0.5.3140-0.amd64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-6ae43e4fa31ddc99220575023b7d954fb218c063375bb589b16fbe9fcdfdcaa6} 22 | 23 | ENV FIREBIRD_VERSION=4.0.5 24 | ENV FIREBIRD_MAJOR=4 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/4.0.5/noble/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | FROM ubuntu:noble 6 | 7 | ENV LANG=C.UTF-8 8 | ENV LC_ALL=C.UTF-8 9 | 10 | ARG ARCH_ARM64 11 | 12 | # ARM64 arch 13 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+} 14 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+} 15 | 16 | # AMD64 arch 17 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v4.0.5/Firebird-4.0.5.3140-0.amd64.tar.gz} 18 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-6ae43e4fa31ddc99220575023b7d954fb218c063375bb589b16fbe9fcdfdcaa6} 19 | 20 | ENV FIREBIRD_VERSION=4.0.5 21 | ENV FIREBIRD_MAJOR=4 22 | 23 | # https://linuxcommand.org/lc3_man_pages/seth.html 24 | # -e Exit immediately if a command exits with a non-zero status. 25 | # -u Treat unset variables as an error when substituting 26 | # -x Print commands and their arguments as they are executed. 27 | 28 | # Prerequisites 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu74 \ 34 | libncurses6 \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps \ 39 | tzdata; \ 40 | rm -rf /var/lib/apt/lists/* 41 | 42 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 43 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 44 | 45 | # Download 46 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 47 | --chown=root:root \ 48 | --chmod=777 \ 49 | $FIREBIRD_RELEASE_URL \ 50 | /tmp/firebird-bundle.tar.gz 51 | 52 | # Extract, install, clean 53 | RUN set -eux; \ 54 | cd /tmp; \ 55 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 56 | ./install.sh -silent; \ 57 | rm *.tar.gz *.sh *.txt \ 58 | # Remove unnecessary files 59 | rm -rf /opt/firebird/doc \ 60 | /opt/firebird/examples \ 61 | /opt/firebird/help \ 62 | /opt/firebird/include; \ 63 | # Remove 'employee' sample database from 'databases.conf' 64 | sed -i '/^employee/d' /opt/firebird/databases.conf 65 | 66 | # System path 67 | ENV PATH=/opt/firebird/bin:$PATH 68 | 69 | # Data directory 70 | ENV FIREBIRD_DATA=/var/lib/firebird/data 71 | RUN set -eux; \ 72 | mkdir -p "$FIREBIRD_DATA"; \ 73 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 74 | chmod 644 "$FIREBIRD_DATA" 75 | VOLUME $FIREBIRD_DATA 76 | 77 | # Entrypoint 78 | COPY entrypoint.sh /usr/local/bin/ 79 | RUN set -eux; \ 80 | chmod +x /usr/local/bin/entrypoint.sh 81 | ENTRYPOINT ["entrypoint.sh"] 82 | 83 | EXPOSE 3050/tcp 84 | 85 | # Fix terminfo location 86 | ENV TERMINFO=/lib/terminfo/ 87 | 88 | CMD ["firebird"] 89 | 90 | -------------------------------------------------------------------------------- /generated/5.0.0/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.0/Firebird-5.0.0.1306-0-linux-arm64.tar.gz} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+bdb62abc91a4c26a86b9377256529622e3046f4ec4f66fbdcf46747688d45033} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.0/Firebird-5.0.0.1306-0-linux-x64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-137b356ea464e224b6ed1241e6dba95b6b950ff1feef91696d4071d4da880768} 22 | 23 | ENV FIREBIRD_VERSION=5.0.0 24 | ENV FIREBIRD_MAJOR=5 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/5.0.0/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.0/Firebird-5.0.0.1306-0-linux-arm64.tar.gz} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+bdb62abc91a4c26a86b9377256529622e3046f4ec4f66fbdcf46747688d45033} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.0/Firebird-5.0.0.1306-0-linux-x64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-137b356ea464e224b6ed1241e6dba95b6b950ff1feef91696d4071d4da880768} 22 | 23 | ENV FIREBIRD_VERSION=5.0.0 24 | ENV FIREBIRD_MAJOR=5 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/5.0.0/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.0/Firebird-5.0.0.1306-0-linux-arm64.tar.gz} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+bdb62abc91a4c26a86b9377256529622e3046f4ec4f66fbdcf46747688d45033} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.0/Firebird-5.0.0.1306-0-linux-x64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-137b356ea464e224b6ed1241e6dba95b6b950ff1feef91696d4071d4da880768} 22 | 23 | ENV FIREBIRD_VERSION=5.0.0 24 | ENV FIREBIRD_MAJOR=5 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/5.0.0/noble/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | FROM ubuntu:noble 6 | 7 | ENV LANG=C.UTF-8 8 | ENV LC_ALL=C.UTF-8 9 | 10 | ARG ARCH_ARM64 11 | 12 | # ARM64 arch 13 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.0/Firebird-5.0.0.1306-0-linux-arm64.tar.gz} 14 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+bdb62abc91a4c26a86b9377256529622e3046f4ec4f66fbdcf46747688d45033} 15 | 16 | # AMD64 arch 17 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.0/Firebird-5.0.0.1306-0-linux-x64.tar.gz} 18 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-137b356ea464e224b6ed1241e6dba95b6b950ff1feef91696d4071d4da880768} 19 | 20 | ENV FIREBIRD_VERSION=5.0.0 21 | ENV FIREBIRD_MAJOR=5 22 | 23 | # https://linuxcommand.org/lc3_man_pages/seth.html 24 | # -e Exit immediately if a command exits with a non-zero status. 25 | # -u Treat unset variables as an error when substituting 26 | # -x Print commands and their arguments as they are executed. 27 | 28 | # Prerequisites 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu74 \ 34 | libncurses6 \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps \ 39 | tzdata; \ 40 | rm -rf /var/lib/apt/lists/* 41 | 42 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 43 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 44 | 45 | # Download 46 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 47 | --chown=root:root \ 48 | --chmod=777 \ 49 | $FIREBIRD_RELEASE_URL \ 50 | /tmp/firebird-bundle.tar.gz 51 | 52 | # Extract, install, clean 53 | RUN set -eux; \ 54 | cd /tmp; \ 55 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 56 | ./install.sh -silent; \ 57 | rm *.tar.gz *.sh *.txt \ 58 | # Remove unnecessary files 59 | rm -rf /opt/firebird/doc \ 60 | /opt/firebird/examples \ 61 | /opt/firebird/help \ 62 | /opt/firebird/include; \ 63 | # Remove 'employee' sample database from 'databases.conf' 64 | sed -i '/^employee/d' /opt/firebird/databases.conf 65 | 66 | # System path 67 | ENV PATH=/opt/firebird/bin:$PATH 68 | 69 | # Data directory 70 | ENV FIREBIRD_DATA=/var/lib/firebird/data 71 | RUN set -eux; \ 72 | mkdir -p "$FIREBIRD_DATA"; \ 73 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 74 | chmod 644 "$FIREBIRD_DATA" 75 | VOLUME $FIREBIRD_DATA 76 | 77 | # Entrypoint 78 | COPY entrypoint.sh /usr/local/bin/ 79 | RUN set -eux; \ 80 | chmod +x /usr/local/bin/entrypoint.sh 81 | ENTRYPOINT ["entrypoint.sh"] 82 | 83 | EXPOSE 3050/tcp 84 | 85 | # Fix terminfo location 86 | ENV TERMINFO=/lib/terminfo/ 87 | 88 | CMD ["firebird"] 89 | 90 | -------------------------------------------------------------------------------- /generated/5.0.1/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.1/Firebird-5.0.1.1469-0-linux-arm64.tar.gz} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+46b3f4f170458a93365c67118c062ba8509903fe8293bf8a62e7bd8a388e2d06} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.1/Firebird-5.0.1.1469-0-linux-x64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-e1023b005e5d6db8f717af032e91f0f94aa7a8dbe0e78f250931214ca0a21e57} 22 | 23 | ENV FIREBIRD_VERSION=5.0.1 24 | ENV FIREBIRD_MAJOR=5 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/5.0.1/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.1/Firebird-5.0.1.1469-0-linux-arm64.tar.gz} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+46b3f4f170458a93365c67118c062ba8509903fe8293bf8a62e7bd8a388e2d06} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.1/Firebird-5.0.1.1469-0-linux-x64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-e1023b005e5d6db8f717af032e91f0f94aa7a8dbe0e78f250931214ca0a21e57} 22 | 23 | ENV FIREBIRD_VERSION=5.0.1 24 | ENV FIREBIRD_MAJOR=5 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/5.0.1/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.1/Firebird-5.0.1.1469-0-linux-arm64.tar.gz} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+46b3f4f170458a93365c67118c062ba8509903fe8293bf8a62e7bd8a388e2d06} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.1/Firebird-5.0.1.1469-0-linux-x64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-e1023b005e5d6db8f717af032e91f0f94aa7a8dbe0e78f250931214ca0a21e57} 22 | 23 | ENV FIREBIRD_VERSION=5.0.1 24 | ENV FIREBIRD_MAJOR=5 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/5.0.1/noble/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | FROM ubuntu:noble 6 | 7 | ENV LANG=C.UTF-8 8 | ENV LC_ALL=C.UTF-8 9 | 10 | ARG ARCH_ARM64 11 | 12 | # ARM64 arch 13 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.1/Firebird-5.0.1.1469-0-linux-arm64.tar.gz} 14 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+46b3f4f170458a93365c67118c062ba8509903fe8293bf8a62e7bd8a388e2d06} 15 | 16 | # AMD64 arch 17 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.1/Firebird-5.0.1.1469-0-linux-x64.tar.gz} 18 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-e1023b005e5d6db8f717af032e91f0f94aa7a8dbe0e78f250931214ca0a21e57} 19 | 20 | ENV FIREBIRD_VERSION=5.0.1 21 | ENV FIREBIRD_MAJOR=5 22 | 23 | # https://linuxcommand.org/lc3_man_pages/seth.html 24 | # -e Exit immediately if a command exits with a non-zero status. 25 | # -u Treat unset variables as an error when substituting 26 | # -x Print commands and their arguments as they are executed. 27 | 28 | # Prerequisites 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu74 \ 34 | libncurses6 \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps \ 39 | tzdata; \ 40 | rm -rf /var/lib/apt/lists/* 41 | 42 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 43 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 44 | 45 | # Download 46 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 47 | --chown=root:root \ 48 | --chmod=777 \ 49 | $FIREBIRD_RELEASE_URL \ 50 | /tmp/firebird-bundle.tar.gz 51 | 52 | # Extract, install, clean 53 | RUN set -eux; \ 54 | cd /tmp; \ 55 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 56 | ./install.sh -silent; \ 57 | rm *.tar.gz *.sh *.txt \ 58 | # Remove unnecessary files 59 | rm -rf /opt/firebird/doc \ 60 | /opt/firebird/examples \ 61 | /opt/firebird/help \ 62 | /opt/firebird/include; \ 63 | # Remove 'employee' sample database from 'databases.conf' 64 | sed -i '/^employee/d' /opt/firebird/databases.conf 65 | 66 | # System path 67 | ENV PATH=/opt/firebird/bin:$PATH 68 | 69 | # Data directory 70 | ENV FIREBIRD_DATA=/var/lib/firebird/data 71 | RUN set -eux; \ 72 | mkdir -p "$FIREBIRD_DATA"; \ 73 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 74 | chmod 644 "$FIREBIRD_DATA" 75 | VOLUME $FIREBIRD_DATA 76 | 77 | # Entrypoint 78 | COPY entrypoint.sh /usr/local/bin/ 79 | RUN set -eux; \ 80 | chmod +x /usr/local/bin/entrypoint.sh 81 | ENTRYPOINT ["entrypoint.sh"] 82 | 83 | EXPOSE 3050/tcp 84 | 85 | # Fix terminfo location 86 | ENV TERMINFO=/lib/terminfo/ 87 | 88 | CMD ["firebird"] 89 | 90 | -------------------------------------------------------------------------------- /generated/5.0.2/bookworm/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bookworm-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.2/Firebird-5.0.2.1613-0-linux-arm64.tar.gz} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+216edb3594d3318690bd3f2ae9979a9a52efb512eb1bf799c0bace50106a0a69} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.2/Firebird-5.0.2.1613-0-linux-x64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-23d6e0522f32fb13c288f67c98105014c3186ecf3f930f96ca9af1897b9565bf} 22 | 23 | ENV FIREBIRD_VERSION=5.0.2 24 | ENV FIREBIRD_MAJOR=5 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu72 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/5.0.2/bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM debian:bullseye-slim 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.2/Firebird-5.0.2.1613-0-linux-arm64.tar.gz} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+216edb3594d3318690bd3f2ae9979a9a52efb512eb1bf799c0bace50106a0a69} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.2/Firebird-5.0.2.1613-0-linux-x64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-23d6e0522f32fb13c288f67c98105014c3186ecf3f930f96ca9af1897b9565bf} 22 | 23 | ENV FIREBIRD_VERSION=5.0.2 24 | ENV FIREBIRD_MAJOR=5 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu67 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps; \ 43 | rm -rf /var/lib/apt/lists/* 44 | 45 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 46 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 47 | 48 | # Download 49 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 50 | --chown=root:root \ 51 | --chmod=777 \ 52 | $FIREBIRD_RELEASE_URL \ 53 | /tmp/firebird-bundle.tar.gz 54 | 55 | # Extract, install, clean 56 | RUN set -eux; \ 57 | cd /tmp; \ 58 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 59 | ./install.sh -silent; \ 60 | rm *.tar.gz *.sh *.txt \ 61 | # Remove unnecessary files 62 | rm -rf /opt/firebird/doc \ 63 | /opt/firebird/examples \ 64 | /opt/firebird/help \ 65 | /opt/firebird/include; \ 66 | # Remove 'employee' sample database from 'databases.conf' 67 | sed -i '/^employee/d' /opt/firebird/databases.conf 68 | 69 | # System path 70 | ENV PATH=/opt/firebird/bin:$PATH 71 | 72 | # Data directory 73 | ENV FIREBIRD_DATA=/var/lib/firebird/data 74 | RUN set -eux; \ 75 | mkdir -p "$FIREBIRD_DATA"; \ 76 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 77 | chmod 644 "$FIREBIRD_DATA" 78 | VOLUME $FIREBIRD_DATA 79 | 80 | # Entrypoint 81 | COPY entrypoint.sh /usr/local/bin/ 82 | RUN set -eux; \ 83 | chmod +x /usr/local/bin/entrypoint.sh 84 | ENTRYPOINT ["entrypoint.sh"] 85 | 86 | EXPOSE 3050/tcp 87 | 88 | # Fix terminfo location 89 | ENV TERMINFO=/lib/terminfo/ 90 | 91 | CMD ["firebird"] 92 | 93 | -------------------------------------------------------------------------------- /generated/5.0.2/jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | # Best practices for Dockerfile instructions 6 | # https://docs.docker.com/develop/develop-images/instructions/ 7 | 8 | FROM ubuntu:jammy 9 | 10 | ENV LANG=C.UTF-8 11 | ENV LC_ALL=C.UTF-8 12 | 13 | ARG ARCH_ARM64 14 | 15 | # ARM64 arch 16 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.2/Firebird-5.0.2.1613-0-linux-arm64.tar.gz} 17 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+216edb3594d3318690bd3f2ae9979a9a52efb512eb1bf799c0bace50106a0a69} 18 | 19 | # AMD64 arch 20 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.2/Firebird-5.0.2.1613-0-linux-x64.tar.gz} 21 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-23d6e0522f32fb13c288f67c98105014c3186ecf3f930f96ca9af1897b9565bf} 22 | 23 | ENV FIREBIRD_VERSION=5.0.2 24 | ENV FIREBIRD_MAJOR=5 25 | 26 | # https://linuxcommand.org/lc3_man_pages/seth.html 27 | # -e Exit immediately if a command exits with a non-zero status. 28 | # -u Treat unset variables as an error when substituting 29 | # -x Print commands and their arguments as they are executed. 30 | 31 | # Prerequisites 32 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 33 | RUN set -eux; \ 34 | apt-get update; \ 35 | apt-get install -y --no-install-recommends \ 36 | libatomic1 \ 37 | libicu70 \ 38 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 39 | libtomcrypt1 \ 40 | libtommath1 \ 41 | netbase \ 42 | procps \ 43 | tzdata; \ 44 | rm -rf /var/lib/apt/lists/* 45 | 46 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 47 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 48 | 49 | # Download 50 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 51 | --chown=root:root \ 52 | --chmod=777 \ 53 | $FIREBIRD_RELEASE_URL \ 54 | /tmp/firebird-bundle.tar.gz 55 | 56 | # Extract, install, clean 57 | RUN set -eux; \ 58 | cd /tmp; \ 59 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 60 | ./install.sh -silent; \ 61 | rm *.tar.gz *.sh *.txt \ 62 | # Remove unnecessary files 63 | rm -rf /opt/firebird/doc \ 64 | /opt/firebird/examples \ 65 | /opt/firebird/help \ 66 | /opt/firebird/include; \ 67 | # Remove 'employee' sample database from 'databases.conf' 68 | sed -i '/^employee/d' /opt/firebird/databases.conf 69 | 70 | # System path 71 | ENV PATH=/opt/firebird/bin:$PATH 72 | 73 | # Data directory 74 | ENV FIREBIRD_DATA=/var/lib/firebird/data 75 | RUN set -eux; \ 76 | mkdir -p "$FIREBIRD_DATA"; \ 77 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 78 | chmod 644 "$FIREBIRD_DATA" 79 | VOLUME $FIREBIRD_DATA 80 | 81 | # Entrypoint 82 | COPY entrypoint.sh /usr/local/bin/ 83 | RUN set -eux; \ 84 | chmod +x /usr/local/bin/entrypoint.sh 85 | ENTRYPOINT ["entrypoint.sh"] 86 | 87 | EXPOSE 3050/tcp 88 | 89 | # Fix terminfo location 90 | ENV TERMINFO=/lib/terminfo/ 91 | 92 | CMD ["firebird"] 93 | 94 | -------------------------------------------------------------------------------- /generated/5.0.2/noble/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # This file was auto-generated. Do not edit. See /src. 3 | # 4 | 5 | FROM ubuntu:noble 6 | 7 | ENV LANG=C.UTF-8 8 | ENV LC_ALL=C.UTF-8 9 | 10 | ARG ARCH_ARM64 11 | 12 | # ARM64 arch 13 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+https://github.com/FirebirdSQL/firebird/releases/download/v5.0.2/Firebird-5.0.2.1613-0-linux-arm64.tar.gz} 14 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+216edb3594d3318690bd3f2ae9979a9a52efb512eb1bf799c0bace50106a0a69} 15 | 16 | # AMD64 arch 17 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-https://github.com/FirebirdSQL/firebird/releases/download/v5.0.2/Firebird-5.0.2.1613-0-linux-x64.tar.gz} 18 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-23d6e0522f32fb13c288f67c98105014c3186ecf3f930f96ca9af1897b9565bf} 19 | 20 | ENV FIREBIRD_VERSION=5.0.2 21 | ENV FIREBIRD_MAJOR=5 22 | 23 | # https://linuxcommand.org/lc3_man_pages/seth.html 24 | # -e Exit immediately if a command exits with a non-zero status. 25 | # -u Treat unset variables as an error when substituting 26 | # -x Print commands and their arguments as they are executed. 27 | 28 | # Prerequisites 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu74 \ 34 | libncurses6 \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps \ 39 | tzdata; \ 40 | rm -rf /var/lib/apt/lists/* 41 | 42 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 43 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 44 | 45 | # Download 46 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 47 | --chown=root:root \ 48 | --chmod=777 \ 49 | $FIREBIRD_RELEASE_URL \ 50 | /tmp/firebird-bundle.tar.gz 51 | 52 | # Extract, install, clean 53 | RUN set -eux; \ 54 | cd /tmp; \ 55 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 56 | ./install.sh -silent; \ 57 | rm *.tar.gz *.sh *.txt \ 58 | # Remove unnecessary files 59 | rm -rf /opt/firebird/doc \ 60 | /opt/firebird/examples \ 61 | /opt/firebird/help \ 62 | /opt/firebird/include; \ 63 | # Remove 'employee' sample database from 'databases.conf' 64 | sed -i '/^employee/d' /opt/firebird/databases.conf 65 | 66 | # System path 67 | ENV PATH=/opt/firebird/bin:$PATH 68 | 69 | # Data directory 70 | ENV FIREBIRD_DATA=/var/lib/firebird/data 71 | RUN set -eux; \ 72 | mkdir -p "$FIREBIRD_DATA"; \ 73 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 74 | chmod 644 "$FIREBIRD_DATA" 75 | VOLUME $FIREBIRD_DATA 76 | 77 | # Entrypoint 78 | COPY entrypoint.sh /usr/local/bin/ 79 | RUN set -eux; \ 80 | chmod +x /usr/local/bin/entrypoint.sh 81 | ENTRYPOINT ["entrypoint.sh"] 82 | 83 | EXPOSE 3050/tcp 84 | 85 | # Fix terminfo location 86 | ENV TERMINFO=/lib/terminfo/ 87 | 88 | CMD ["firebird"] 89 | 90 | -------------------------------------------------------------------------------- /src/Dockerfile.bookworm.template: -------------------------------------------------------------------------------- 1 | # Best practices for Dockerfile instructions 2 | # https://docs.docker.com/develop/develop-images/instructions/ 3 | 4 | FROM debian:bookworm-slim 5 | 6 | ENV LANG=C.UTF-8 7 | ENV LC_ALL=C.UTF-8 8 | 9 | ARG ARCH_ARM64 10 | 11 | # ARM64 arch 12 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+<%$TUrlArchARM64%>} 13 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+<%$TSha256ArchARM64%>} 14 | 15 | # AMD64 arch 16 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-<%$TUrlArchAMD64%>} 17 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-<%$TSha256ArchAMD64%>} 18 | 19 | ENV FIREBIRD_VERSION=<%$TImageVersion%> 20 | ENV FIREBIRD_MAJOR=<%$TMajor%> 21 | 22 | # https://linuxcommand.org/lc3_man_pages/seth.html 23 | # -e Exit immediately if a command exits with a non-zero status. 24 | # -u Treat unset variables as an error when substituting 25 | # -x Print commands and their arguments as they are executed. 26 | 27 | # Prerequisites 28 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu72 \ 34 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps; \ 39 | rm -rf /var/lib/apt/lists/* 40 | 41 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 42 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 43 | 44 | # Download 45 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 46 | --chown=root:root \ 47 | --chmod=777 \ 48 | $FIREBIRD_RELEASE_URL \ 49 | /tmp/firebird-bundle.tar.gz 50 | 51 | # Extract, install, clean 52 | RUN set -eux; \ 53 | cd /tmp; \ 54 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 55 | ./install.sh -silent; \ 56 | rm *.tar.gz *.sh *.txt \ 57 | # Remove unnecessary files 58 | rm -rf /opt/firebird/doc \ 59 | /opt/firebird/examples \ 60 | /opt/firebird/help \ 61 | /opt/firebird/include; \ 62 | # Remove 'employee' sample database from 'databases.conf' 63 | sed -i '/^employee/d' /opt/firebird/databases.conf 64 | 65 | # System path 66 | ENV PATH=/opt/firebird/bin:$PATH 67 | 68 | # Data directory 69 | ENV FIREBIRD_DATA=/var/lib/firebird/data 70 | RUN set -eux; \ 71 | mkdir -p "$FIREBIRD_DATA"; \ 72 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 73 | chmod 644 "$FIREBIRD_DATA" 74 | VOLUME $FIREBIRD_DATA 75 | 76 | # Entrypoint 77 | COPY entrypoint.sh /usr/local/bin/ 78 | RUN set -eux; \ 79 | chmod +x /usr/local/bin/entrypoint.sh 80 | ENTRYPOINT ["entrypoint.sh"] 81 | 82 | EXPOSE 3050/tcp 83 | 84 | # Fix terminfo location 85 | ENV TERMINFO=/lib/terminfo/ 86 | 87 | CMD ["firebird"] 88 | -------------------------------------------------------------------------------- /src/Dockerfile.bullseye.template: -------------------------------------------------------------------------------- 1 | # Best practices for Dockerfile instructions 2 | # https://docs.docker.com/develop/develop-images/instructions/ 3 | 4 | FROM debian:bullseye-slim 5 | 6 | ENV LANG=C.UTF-8 7 | ENV LC_ALL=C.UTF-8 8 | 9 | ARG ARCH_ARM64 10 | 11 | # ARM64 arch 12 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+<%$TUrlArchARM64%>} 13 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+<%$TSha256ArchARM64%>} 14 | 15 | # AMD64 arch 16 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-<%$TUrlArchAMD64%>} 17 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-<%$TSha256ArchAMD64%>} 18 | 19 | ENV FIREBIRD_VERSION=<%$TImageVersion%> 20 | ENV FIREBIRD_MAJOR=<%$TMajor%> 21 | 22 | # https://linuxcommand.org/lc3_man_pages/seth.html 23 | # -e Exit immediately if a command exits with a non-zero status. 24 | # -u Treat unset variables as an error when substituting 25 | # -x Print commands and their arguments as they are executed. 26 | 27 | # Prerequisites 28 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu67 \ 34 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps; \ 39 | rm -rf /var/lib/apt/lists/* 40 | 41 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 42 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 43 | 44 | # Download 45 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 46 | --chown=root:root \ 47 | --chmod=777 \ 48 | $FIREBIRD_RELEASE_URL \ 49 | /tmp/firebird-bundle.tar.gz 50 | 51 | # Extract, install, clean 52 | RUN set -eux; \ 53 | cd /tmp; \ 54 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 55 | ./install.sh -silent; \ 56 | rm *.tar.gz *.sh *.txt \ 57 | # Remove unnecessary files 58 | rm -rf /opt/firebird/doc \ 59 | /opt/firebird/examples \ 60 | /opt/firebird/help \ 61 | /opt/firebird/include; \ 62 | # Remove 'employee' sample database from 'databases.conf' 63 | sed -i '/^employee/d' /opt/firebird/databases.conf 64 | 65 | # System path 66 | ENV PATH=/opt/firebird/bin:$PATH 67 | 68 | # Data directory 69 | ENV FIREBIRD_DATA=/var/lib/firebird/data 70 | RUN set -eux; \ 71 | mkdir -p "$FIREBIRD_DATA"; \ 72 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 73 | chmod 644 "$FIREBIRD_DATA" 74 | VOLUME $FIREBIRD_DATA 75 | 76 | # Entrypoint 77 | COPY entrypoint.sh /usr/local/bin/ 78 | RUN set -eux; \ 79 | chmod +x /usr/local/bin/entrypoint.sh 80 | ENTRYPOINT ["entrypoint.sh"] 81 | 82 | EXPOSE 3050/tcp 83 | 84 | # Fix terminfo location 85 | ENV TERMINFO=/lib/terminfo/ 86 | 87 | CMD ["firebird"] 88 | -------------------------------------------------------------------------------- /src/Dockerfile.jammy.template: -------------------------------------------------------------------------------- 1 | # Best practices for Dockerfile instructions 2 | # https://docs.docker.com/develop/develop-images/instructions/ 3 | 4 | FROM ubuntu:jammy 5 | 6 | ENV LANG=C.UTF-8 7 | ENV LC_ALL=C.UTF-8 8 | 9 | ARG ARCH_ARM64 10 | 11 | # ARM64 arch 12 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+<%$TUrlArchARM64%>} 13 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+<%$TSha256ArchARM64%>} 14 | 15 | # AMD64 arch 16 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-<%$TUrlArchAMD64%>} 17 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-<%$TSha256ArchAMD64%>} 18 | 19 | ENV FIREBIRD_VERSION=<%$TImageVersion%> 20 | ENV FIREBIRD_MAJOR=<%$TMajor%> 21 | 22 | # https://linuxcommand.org/lc3_man_pages/seth.html 23 | # -e Exit immediately if a command exits with a non-zero status. 24 | # -u Treat unset variables as an error when substituting 25 | # -x Print commands and their arguments as they are executed. 26 | 27 | # Prerequisites 28 | # FB 3.0 uses libncurses5: https://github.com/FirebirdSQL/firebird/issues/6418#issuecomment-826245785 29 | RUN set -eux; \ 30 | apt-get update; \ 31 | apt-get install -y --no-install-recommends \ 32 | libatomic1 \ 33 | libicu70 \ 34 | $([ $FIREBIRD_MAJOR -eq 3 ] && echo 'libncurses5' || echo 'libncurses6') \ 35 | libtomcrypt1 \ 36 | libtommath1 \ 37 | netbase \ 38 | procps \ 39 | tzdata; \ 40 | rm -rf /var/lib/apt/lists/* 41 | 42 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 43 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 44 | 45 | # Download 46 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 47 | --chown=root:root \ 48 | --chmod=777 \ 49 | $FIREBIRD_RELEASE_URL \ 50 | /tmp/firebird-bundle.tar.gz 51 | 52 | # Extract, install, clean 53 | RUN set -eux; \ 54 | cd /tmp; \ 55 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 56 | ./install.sh -silent; \ 57 | rm *.tar.gz *.sh *.txt \ 58 | # Remove unnecessary files 59 | rm -rf /opt/firebird/doc \ 60 | /opt/firebird/examples \ 61 | /opt/firebird/help \ 62 | /opt/firebird/include; \ 63 | # Remove 'employee' sample database from 'databases.conf' 64 | sed -i '/^employee/d' /opt/firebird/databases.conf 65 | 66 | # System path 67 | ENV PATH=/opt/firebird/bin:$PATH 68 | 69 | # Data directory 70 | ENV FIREBIRD_DATA=/var/lib/firebird/data 71 | RUN set -eux; \ 72 | mkdir -p "$FIREBIRD_DATA"; \ 73 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 74 | chmod 644 "$FIREBIRD_DATA" 75 | VOLUME $FIREBIRD_DATA 76 | 77 | # Entrypoint 78 | COPY entrypoint.sh /usr/local/bin/ 79 | RUN set -eux; \ 80 | chmod +x /usr/local/bin/entrypoint.sh 81 | ENTRYPOINT ["entrypoint.sh"] 82 | 83 | EXPOSE 3050/tcp 84 | 85 | # Fix terminfo location 86 | ENV TERMINFO=/lib/terminfo/ 87 | 88 | CMD ["firebird"] 89 | -------------------------------------------------------------------------------- /src/Dockerfile.noble.template: -------------------------------------------------------------------------------- 1 | FROM ubuntu:noble 2 | 3 | ENV LANG=C.UTF-8 4 | ENV LC_ALL=C.UTF-8 5 | 6 | ARG ARCH_ARM64 7 | 8 | # ARM64 arch 9 | ENV FIREBIRD_RELEASE_URL=${ARCH_ARM64:+<%$TUrlArchARM64%>} 10 | ENV FIREBIRD_RELEASE_SHA256=${ARCH_ARM64:+<%$TSha256ArchARM64%>} 11 | 12 | # AMD64 arch 13 | ENV FIREBIRD_RELEASE_URL=${FIREBIRD_RELEASE_URL:-<%$TUrlArchAMD64%>} 14 | ENV FIREBIRD_RELEASE_SHA256=${FIREBIRD_RELEASE_SHA256:-<%$TSha256ArchAMD64%>} 15 | 16 | ENV FIREBIRD_VERSION=<%$TImageVersion%> 17 | ENV FIREBIRD_MAJOR=<%$TMajor%> 18 | 19 | # https://linuxcommand.org/lc3_man_pages/seth.html 20 | # -e Exit immediately if a command exits with a non-zero status. 21 | # -u Treat unset variables as an error when substituting 22 | # -x Print commands and their arguments as they are executed. 23 | 24 | # Prerequisites 25 | RUN set -eux; \ 26 | apt-get update; \ 27 | apt-get install -y --no-install-recommends \ 28 | libatomic1 \ 29 | libicu74 \ 30 | libncurses6 \ 31 | libtomcrypt1 \ 32 | libtommath1 \ 33 | netbase \ 34 | procps \ 35 | tzdata; \ 36 | rm -rf /var/lib/apt/lists/* 37 | 38 | # Fix libtommath for FB 3.0 -- https://github.com/FirebirdSQL/firebird/issues/5716#issuecomment-826239174 39 | RUN [ $FIREBIRD_MAJOR -eq 3 ] && ln -sf /usr/lib/x86_64-linux-gnu/libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 || true 40 | 41 | # Download 42 | ADD --checksum="sha256:$FIREBIRD_RELEASE_SHA256" \ 43 | --chown=root:root \ 44 | --chmod=777 \ 45 | $FIREBIRD_RELEASE_URL \ 46 | /tmp/firebird-bundle.tar.gz 47 | 48 | # Extract, install, clean 49 | RUN set -eux; \ 50 | cd /tmp; \ 51 | tar --extract --file=firebird-bundle.tar.gz --gunzip --verbose --strip-components=1; \ 52 | ./install.sh -silent; \ 53 | rm *.tar.gz *.sh *.txt \ 54 | # Remove unnecessary files 55 | rm -rf /opt/firebird/doc \ 56 | /opt/firebird/examples \ 57 | /opt/firebird/help \ 58 | /opt/firebird/include; \ 59 | # Remove 'employee' sample database from 'databases.conf' 60 | sed -i '/^employee/d' /opt/firebird/databases.conf 61 | 62 | # System path 63 | ENV PATH=/opt/firebird/bin:$PATH 64 | 65 | # Data directory 66 | ENV FIREBIRD_DATA=/var/lib/firebird/data 67 | RUN set -eux; \ 68 | mkdir -p "$FIREBIRD_DATA"; \ 69 | chown -R firebird:firebird "$FIREBIRD_DATA"; \ 70 | chmod 644 "$FIREBIRD_DATA" 71 | VOLUME $FIREBIRD_DATA 72 | 73 | # Entrypoint 74 | COPY entrypoint.sh /usr/local/bin/ 75 | RUN set -eux; \ 76 | chmod +x /usr/local/bin/entrypoint.sh 77 | ENTRYPOINT ["entrypoint.sh"] 78 | 79 | EXPOSE 3050/tcp 80 | 81 | # Fix terminfo location 82 | ENV TERMINFO=/lib/terminfo/ 83 | 84 | CMD ["firebird"] 85 | -------------------------------------------------------------------------------- /src/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # 4 | # Docker entrypoint for firebird-docker images. 5 | # 6 | # Based on works of Jacob Alberty and The PostgreSQL Development Group. 7 | # 8 | 9 | # 10 | # About the [Tabs ahead] marker: 11 | # Some sections of this file use tabs for better readability. 12 | # When using bash here strings the - option suppresses leading tabs but not spaces. 13 | # 14 | 15 | 16 | 17 | # https://linuxcommand.org/lc3_man_pages/seth.html 18 | # -E If set, the ERR trap is inherited by shell functions. 19 | # -e Exit immediately if a command exits with a non-zero status. 20 | # -u Treat unset variables as an error when substituting 21 | # -o Set the variable corresponding to option-name: 22 | # pipefail the return value of a pipeline is the status of 23 | # the last command to exit with a non-zero status, 24 | # or zero if no command exited with a non-zero status 25 | set -Eeuo pipefail 26 | 27 | # usage: read_from_file_or_env VAR [DEFAULT] 28 | # ie: read_from_file_or_env 'DB_PASSWORD' 'example' 29 | # If $(VAR)_FILE var is set, sets VAR value from file contents. Otherwise, uses DEFAULT value if VAR is not set. 30 | read_from_file_or_env() { 31 | local var="$1" 32 | local fileVar="${var}_FILE" 33 | if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then 34 | # [Tabs ahead] 35 | cat >&2 <<-EOL 36 | ----- 37 | ERROR: Both $var and $fileVar are set. 38 | 39 | Variables %s and %s are mutually exclusive. Remove either one. 40 | ----- 41 | EOL 42 | exit 1 43 | fi 44 | 45 | local def="${2:-}" 46 | local val="$def" 47 | if [ "${!var:-}" ]; then 48 | val="${!var}" 49 | elif [ "${!fileVar:-}" ]; then 50 | val="$(< "${!fileVar}")" 51 | fi 52 | 53 | export "$var"="$val" 54 | unset "$fileVar" 55 | } 56 | 57 | # usage: firebird_config_set KEY VALUE 58 | # ie: firebird_config_set 'WireCrypt' 'Enabled' 59 | # Set configuration key KEY to VALUE in 'firebird.conf' 60 | firebird_config_set() { 61 | # Uncomment line 62 | sed -i "s/^#${1}/${1}/g" /opt/firebird/firebird.conf 63 | 64 | # Set KEY to VALUE 65 | sed -i "s~^\(${1}\s*=\s*\).*$~\1${2}~" /opt/firebird/firebird.conf 66 | } 67 | 68 | # Indent multi-line string -- https://stackoverflow.com/a/29779745 69 | indent() { 70 | sed 's/^/ /'; 71 | } 72 | 73 | # Set Firebird configuration parameters from environment variables. 74 | set_config() { 75 | read_from_file_or_env 'FIREBIRD_USE_LEGACY_AUTH' 76 | if [ "$FIREBIRD_USE_LEGACY_AUTH" == 'true' ]; then 77 | echo 'Using Legacy_Auth.' 78 | 79 | # Firebird 4+: Uses 'Srp256' before 'Srp'. 80 | local srp256='' 81 | [ "$FIREBIRD_MAJOR" -ge "4" ] && srp256='Srp256, ' 82 | 83 | # Adds Legacy_Auth and Legacy_UserManager as first options. 84 | firebird_config_set AuthServer "Legacy_Auth, ${srp256}Srp" 85 | firebird_config_set AuthClient "Legacy_Auth, ${srp256}Srp" 86 | firebird_config_set UserManager 'Legacy_UserManager, Srp' 87 | 88 | # Default setting is 'Required'. Reduces it to 'Enabled'. 89 | firebird_config_set WireCrypt 'Enabled' 90 | fi 91 | 92 | # FIREBIRD_CONF_* variables: set key in 'firebird.conf' 93 | local v 94 | for v in $(compgen -A variable | grep 'FIREBIRD_CONF_'); do 95 | local key=${v/FIREBIRD_CONF_/} 96 | firebird_config_set "$key" "${!v}" 97 | done 98 | 99 | # Output changed settings 100 | local changed_settings=$(grep -o '^[^#]*' /opt/firebird/firebird.conf) 101 | if [ -n "$changed_settings" ]; then 102 | echo "Using settings:" 103 | echo "$changed_settings" | indent 104 | fi 105 | } 106 | 107 | # Changes SYSDBA password if FIREBIRD_ROOT_PASSWORD variable is set. 108 | set_sysdba() { 109 | read_from_file_or_env 'FIREBIRD_ROOT_PASSWORD' 110 | if [ -n "$FIREBIRD_ROOT_PASSWORD" ]; then 111 | echo 'Changing SYSDBA password.' 112 | 113 | # [Tabs ahead] 114 | /opt/firebird/bin/isql -b -user SYSDBA security.db <<-EOL 115 | CREATE OR ALTER USER SYSDBA 116 | PASSWORD '$FIREBIRD_ROOT_PASSWORD' 117 | USING PLUGIN Srp; 118 | EXIT; 119 | EOL 120 | 121 | if [ "$FIREBIRD_USE_LEGACY_AUTH" == 'true' ]; then 122 | # [Tabs ahead] 123 | /opt/firebird/bin/isql -b -user SYSDBA security.db <<-EOL 124 | CREATE OR ALTER USER SYSDBA 125 | PASSWORD '$FIREBIRD_ROOT_PASSWORD' 126 | USING PLUGIN Legacy_UserManager; 127 | EXIT; 128 | EOL 129 | fi 130 | 131 | rm -rf /opt/firebird/SYSDBA.password 132 | fi 133 | } 134 | 135 | # Requires FIREBIRD_PASSWORD if FIREBIRD_USER is set. 136 | requires_user_password() { 137 | if [ -n "$FIREBIRD_USER" ] && [ -z "$FIREBIRD_PASSWORD" ]; then 138 | # [Tabs ahead] 139 | cat >&2 <<-EOL 140 | ----- 141 | ERROR: FIREBIRD_PASSWORD variable is not set. 142 | 143 | When using FIREBIRD_USER you must also set FIREBIRD_PASSWORD variable. 144 | ----- 145 | EOL 146 | exit 1 147 | fi 148 | } 149 | 150 | # Create Firebird user. 151 | create_user() { 152 | read_from_file_or_env 'FIREBIRD_USER' 153 | read_from_file_or_env 'FIREBIRD_PASSWORD' 154 | 155 | if [ -n "$FIREBIRD_USER" ]; then 156 | requires_user_password 157 | echo "Creating user '$FIREBIRD_USER'..." 158 | 159 | # [Tabs ahead] 160 | /opt/firebird/bin/isql -b security.db <<-EOL 161 | CREATE OR ALTER USER $FIREBIRD_USER 162 | PASSWORD '$FIREBIRD_PASSWORD' 163 | GRANT ADMIN ROLE; 164 | EXIT; 165 | EOL 166 | fi 167 | } 168 | 169 | # Run isql 170 | process_sql() { 171 | local isql_command=( /opt/firebird/bin/isql -b ) 172 | 173 | if [ -n "$FIREBIRD_USER" ]; then 174 | isql_command+=( -u "$FIREBIRD_USER" -p "$FIREBIRD_PASSWORD" ) 175 | fi 176 | 177 | if [ -n "$FIREBIRD_DATABASE" ]; then 178 | isql_command+=( "$FIREBIRD_DATABASE" ) 179 | fi 180 | 181 | ${isql_command[@]} "$@" 182 | } 183 | 184 | # Execute database initialization scripts 185 | init_db() { 186 | local f 187 | for f; do 188 | case "$f" in 189 | *.sh) 190 | if [ -x "$f" ]; then 191 | # Script is executable. Run it. 192 | printf ' running %s\n' "$f" 193 | "$f" 194 | else 195 | # Script is not executable. Source it. 196 | printf ' sourcing %s\n' "$f" 197 | . "$f" 198 | fi 199 | ;; 200 | *.sql) printf ' running %s\n' "$f"; cat "$f" | process_sql; printf '\n' ;; 201 | *.sql.gz) printf ' running %s\n' "$f"; gunzip -c "$f" | process_sql; printf '\n' ;; 202 | *.sql.xz) printf ' running %s\n' "$f"; xzcat "$f" | process_sql; printf '\n' ;; 203 | *.sql.zst) printf ' running %s\n' "$f"; zstd -dc "$f" | process_sql; printf '\n' ;; 204 | *) printf ' ignoring %s\n' "$f" ;; 205 | esac 206 | printf '\n' 207 | done 208 | 209 | } 210 | 211 | # Create user database. 212 | create_db() { 213 | read_from_file_or_env 'FIREBIRD_DATABASE' 214 | if [ -n "$FIREBIRD_DATABASE" ]; then 215 | # Expand FIREBIRD_DATABASE to full path 216 | cd "$FIREBIRD_DATA" 217 | export FIREBIRD_DATABASE=$(realpath --canonicalize-missing "$FIREBIRD_DATABASE") 218 | 219 | # Store it for other sessions of this instance 220 | echo "export FIREBIRD_DATABASE='$FIREBIRD_DATABASE'" > ~/.bashrc 221 | 222 | # Create database only if not exists. 223 | if [ ! -f "$FIREBIRD_DATABASE" ]; then 224 | echo "Creating database '$FIREBIRD_DATABASE'..." 225 | 226 | read_from_file_or_env 'FIREBIRD_DATABASE_PAGE_SIZE' 227 | read_from_file_or_env 'FIREBIRD_DATABASE_DEFAULT_CHARSET' 228 | 229 | local user_and_password='' 230 | [ -n "$FIREBIRD_USER" ] && user_and_password=" USER '$FIREBIRD_USER' PASSWORD '$FIREBIRD_PASSWORD'" 231 | 232 | local page_size='' 233 | [ -n "$FIREBIRD_DATABASE_PAGE_SIZE" ] && page_size="PAGE_SIZE $FIREBIRD_DATABASE_PAGE_SIZE" 234 | 235 | local default_charset='' 236 | [ -n "$FIREBIRD_DATABASE_DEFAULT_CHARSET" ] && default_charset="DEFAULT CHARACTER SET $FIREBIRD_DATABASE_DEFAULT_CHARSET" 237 | 238 | # [Tabs ahead] 239 | /opt/firebird/bin/isql -b -q <<-EOL 240 | CREATE DATABASE '$FIREBIRD_DATABASE' 241 | $user_and_password 242 | $page_size 243 | $default_charset; 244 | EXIT; 245 | EOL 246 | 247 | init_db /docker-entrypoint-initdb.d/* 248 | fi 249 | fi 250 | } 251 | 252 | sigint_handler() { 253 | echo "Stopping Firebird... [SIGINT received]" 254 | } 255 | 256 | sigterm_handler() { 257 | echo "Stopping Firebird... [SIGTERM received]" 258 | } 259 | 260 | run_daemon_and_wait() { 261 | # Traps SIGINT (handles Ctrl-C in interactive mode) 262 | trap sigint_handler SIGINT 263 | 264 | # Traps SIGTERM (polite shutdown) 265 | trap sigterm_handler SIGTERM 266 | 267 | # Firebird version 268 | echo -n 'Starting ' 269 | /opt/firebird/bin/firebird -z 270 | 271 | # Run fbguard and wait 272 | /opt/firebird/bin/fbguard & 273 | wait $! 274 | } 275 | 276 | 277 | 278 | # 279 | # main() 280 | # 281 | if [ "$1" = 'firebird' ]; then 282 | set_config 283 | set_sysdba 284 | 285 | create_user 286 | create_db 287 | 288 | run_daemon_and_wait 289 | else 290 | exec "$@" 291 | fi 292 | -------------------------------------------------------------------------------- /src/image.build.ps1.template: -------------------------------------------------------------------------------- 1 | param( 2 | [switch]$NoCache 3 | ) 4 | 5 | # Synopsis: Build docker images. 6 | task Build { 7 | $script:BUILDER_HAS_ARCH_ARM64 = <%$THasArchARM64%> 8 | $script:BUILDER_IMAGE_PREFIX = 'firebirdsql' 9 | $script:BUILDER_IMAGE_NAME = 'firebird' 10 | $script:BUILDER_IMAGE_VERSION = '<%$TImageVersion%>' 11 | $script:BUILDER_IMAGE_TAGS = @(<%$TImageTags%>) 12 | 13 | $progressPlainParameter = if ($PSStyle.OutputRendering -eq 'PlainText') { '--progress=plain' } else { $null } 14 | $noCacheParameter = if ($NoCache) { '--no-cache' } else { $null } 15 | 16 | $tagsArchAMD64 = $BUILDER_IMAGE_TAGS | ForEach-Object { '--tag', "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}-amd64:$_" } 17 | $tagsArchARM64 = $BUILDER_IMAGE_TAGS | ForEach-Object { '--tag', "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}-arm64:$_" } 18 | 19 | $allParameters = @( 20 | 'build'; 21 | $progressPlainParameter 22 | '--platform', 'linux/amd64'; 23 | $tagsArchAMD64; 24 | $noCacheParameter, 25 | '--label', 'org.opencontainers.image.description=Firebird Database', 26 | '--label', 'org.opencontainers.image.source=https://github.com/FirebirdSQL/firebird-docker', 27 | '--label', 'org.opencontainers.image.version=<%$TImageVersion%>', 28 | '.' 29 | ) 30 | Write-Output "`n`n----- [linux/amd64] -----" 31 | Write-Output "Running: docker $allParameters" 32 | exec { & docker $allParameters *>&1 } 33 | 34 | if ($BUILDER_HAS_ARCH_ARM64) { 35 | $allParameters = @( 36 | 'build'; 37 | $progressPlainParameter 38 | '--platform', 'linux/arm64'; 39 | '--build-arg', 'ARCH_ARM64=1'; 40 | $tagsArchARM64; 41 | $noCacheParameter, 42 | '--label', 'org.opencontainers.image.description=Firebird Database', 43 | '--label', 'org.opencontainers.image.source=https://github.com/FirebirdSQL/firebird-docker', 44 | '--label', 'org.opencontainers.image.version=<%$TImageVersion%>', 45 | '.' 46 | ) 47 | Write-Output "`n`n----- [linux/arm64] -----" 48 | Write-Output "Running: docker $allParameters" 49 | exec { & docker $allParameters *>&1 } 50 | } 51 | } 52 | 53 | # Synopsis: Run tests. 54 | task Test Build, { 55 | Write-Build Magenta "----- [$BUILDER_IMAGE_VERSION] ---------------------" 56 | $tag = $BUILDER_IMAGE_TAGS[0] 57 | 58 | $env:FULL_IMAGE_NAME = "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}-amd64:${tag}" 59 | Invoke-Build * image.tests.ps1 60 | 61 | if ($BUILDER_HAS_ARCH_ARM64) { 62 | $env:FULL_IMAGE_NAME = "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}-arm64:${tag}" 63 | Invoke-Build * image.tests.ps1 64 | } 65 | } 66 | 67 | # Synopsis: Publish image. 68 | task Publish Build, { 69 | Write-Build Magenta "----- [$BUILDER_IMAGE_VERSION] ---------------------" 70 | 71 | $BUILDER_IMAGE_TAGS | ForEach-Object { 72 | docker push "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}-amd64:$_" 73 | 74 | if ($BUILDER_HAS_ARCH_ARM64) { 75 | docker push "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}-arm64:$_" 76 | 77 | docker manifest create --amend "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}:$_" ` 78 | "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}-amd64:$_" ` 79 | "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}-arm64:$_" 80 | 81 | docker manifest annotate "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}:$_" ` 82 | "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}-amd64:$_" --os linux --arch amd64 83 | docker manifest annotate "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}:$_" ` 84 | "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}-arm64:$_" --os linux --arch arm64 85 | 86 | docker manifest push "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}:$_" 87 | } 88 | else { 89 | docker image tag "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}-amd64:$_" ` 90 | "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}:$_" 91 | 92 | docker push "$BUILDER_IMAGE_PREFIX/${BUILDER_IMAGE_NAME}:$_" 93 | } 94 | } 95 | } 96 | --------------------------------------------------------------------------------