Skip to content

feat: add production website Dockerfile - #622

Merged
jondricek merged 17 commits into
developfrom
refactor-dockerfile
Jul 27, 2026
Merged

feat: add production website Dockerfile#622
jondricek merged 17 commits into
developfrom
refactor-dockerfile

Conversation

@scotluns

@scotluns scotluns commented Jul 27, 2026

Copy link
Copy Markdown

Description of what has changed

Adds a production Dockerfile for building the ATT&CK website as a deployable static-site image.

  • Uses a multi-stage build to compile search assets and generate the website before producing the runtime image.
  • Passes site configuration through build arguments and supports optional trusted CA setup commands for internal builds.
  • Produces the site reports and changelog as part of the image build.

Validation: docker build --check . passes.

scotluns added 9 commits July 27, 2026 15:37
Retain the non-SSH legacy report outputs while caching release archives and revalidating STIX inputs between BuildKit builds.
Install the MITRE trust bundle before downloading release artifacts or contacting internal services during the website image build.
Keep the public Dockerfile generic while allowing trusted builds to supply organization-specific trust setup commands.
@scotluns
scotluns force-pushed the refactor-dockerfile branch from 4486deb to 7773efe Compare July 27, 2026 21:02
scotluns added 2 commits July 27, 2026 16:05
Align the Docker image builder and GitHub Pages workflow on Node 26.
Align the Docker builder with the Python 3.13 GitHub Pages workflow.
Comment thread Dockerfile
WORKDIR /src/attack-search

COPY attack-search/package*.json ./
RUN npm ci
Comment thread Dockerfile
WORKDIR /src/attack-website

COPY requirements.txt ./
RUN python3 -m pip install --no-cache-dir wheel \
Comment thread Dockerfile

COPY requirements.txt ./
RUN python3 -m pip install --no-cache-dir wheel \
&& python3 -m pip install --no-cache-dir -r requirements.txt \
Comment thread Dockerfile
--layers output/changes/layer-enterprise.json output/changes/layer-mobile.json output/changes/layer-ics.json


FROM nginx:stable-alpine AS production
scotluns added 6 commits July 27, 2026 16:16
Only pass the update-attack extras flag when the build argument is supplied.
Align the Docker build default with the current ATT&CK 19.1 release.
Only pass the update-attack branding flag when the build argument is enabled.
Explain the POSIX no-op used when no CA setup command is provided.
Exclude local VCS and build artifacts, and remove the unused raw-STIX cache setting.
Isolate release comparison in a dedicated Docker stage and skip it by default.
@jondricek
jondricek merged commit cedb8cb into develop Jul 27, 2026
1 check passed
@jondricek
jondricek deleted the refactor-dockerfile branch July 27, 2026 21:40
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants