Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker Overhaul #20

Open
14 tasks
DeanAyalon opened this issue Oct 11, 2024 · 1 comment
Open
14 tasks

Docker Overhaul #20

DeanAyalon opened this issue Oct 11, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@DeanAyalon
Copy link
Owner

DeanAyalon commented Oct 11, 2024

User

  • Better imaging process?
    • Perhaps a full FileMaker Server image with/out Devin.fm? credentials user:1234:1234
  • FMS/Devin installation in Dockerfile, using assistedInstallation?
    • Check about sending flags to the FileMaker installation script

Project

  • Sort files
  • CI/CD build

Build

  • Multi-platform build

    QEMU virtualization crashing with certain packages

  • Multi-tag build

    deanayalon/fms-prep, ghcr.io/deanayalon/fms-prep

  • LABEL and VOLUME instructions
    • Avoid bins in volumes?
  • Docker Bake
  • jq package into install script rather than arm image

    Unneeded if not installing Devin.fm - Shouldn't be within the image

  • Slim with Docker Dive
  • Deprecate(?) apt-get full-upgrade
@DeanAyalon DeanAyalon self-assigned this Oct 11, 2024
@DeanAyalon DeanAyalon added the enhancement New feature or request label Oct 11, 2024
@DeanAyalon DeanAyalon changed the title Dockr Overhaul Docker Overhaul Oct 13, 2024
@DeanAyalon
Copy link
Owner Author

DeanAyalon commented Oct 14, 2024

Potential bake file reference:

  /* matrix = {
      devin = [true, false]   // Install Devin.fm
      release = [{ 
          fms = string,       // FileMaker Server version
          suffix = string     // FMS suffix (e.g. "_me")
          latest = boolean    // Latest FileMaker Server release
//-latest+revision = string   // latest/major/minor/patch/"" 
                              // latest = 21 = 21.0 = 21.0.2 = 21.0.2.202
          
          ubuntu = number,    // Ubuntu base version          
          arm = boolean       // FMS version has an ARM64 release
      }]
  } */
  matrix = {
      devin = [true, false]
      release = [{
          fms = "21.0.2.202", latest = true, suffix = "" 
          // revision = "latest"        // latest::21::21.0::21.0.2::21.0.2.202
          ubuntu = 22, arm = true
      }, {
          fms = "21.0.1.3", latest = false, suffix = "" 
          // revision = "patch"         // 21.0.1::21.0.1.3
          ubuntu = 22, arm = true
      }, {
          fms = "21.0.2.207", latest = false, suffix = "_me", // revision = ""
          ubuntu = 22, arm = true       // 21.0.2.207_me
      }, ..., {
         fms = "19.6.4.402", latest = false, suffix = "", 
         // revision = "major"          // 19::19.6::19.6.4::19.6.4.402
         ubuntu = 20, arm = false
      }, ...]
  }
  dockerfile = "dockerfile.u${release.ubuntu}"
  platforms: ["linux/amd64", release.arm ? "linux/arm64/v8" : ""]
  
  tags = [
      "deanayalon/fms:${release.fms}${release.suffix}-u${release.ubuntu}${devin ? "-devin" : ""}",
          // deanayalon/fms:21.0.2.207_me-u22[-devin]
      "ghcr.io/deanayalon/fms:${release.fms}${release.suffix}-u${release.ubuntu}${devin ? "-devin" : ""}",       

      release.latest ? "deanayalon/fms:u${release.ubuntu}${devin ? "-devin" : ""}" : "",
          // deanayalon/fms:u22[-devin]
      release.latest ? "ghcr.io/deanayalon/fms:u${release.ubuntu}${devin ? "-devin" : ""}" : "",
          // ghcr.io/deanayalon/fms:u22[-devin]
  ]
  ...

At this point, should I just create the bake targets myself with a simple devin matrix?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant