Deploy with the Frontend Deployment Pack
Use this workflow only when support has explicitly provided the frontend deployment pack as an exception release artifact for the site.
This is not the default school deployment path. The normal production path is Deploy with the Backend School Bundle.
What the deployment pack deploys
The deployment pack runs a packaged school stack with:
- frontend
- backend
- PostgreSQL
- Redis
- MinIO
It does this through the packaged school deployment scripts and pinned image tags in RELEASE-PACK.json.
When this page applies
This page applies only if support has intentionally moved the site off the standard backend-bundle flow for packaging or field-support reasons.
Recommended handoff format
Support should preferably provide the extracted pack directory and, when needed, the archive plus checksum for transfer verification.
The working directory looks like this:
frontend-deployment-pack-support-only-<releaseVersion>/
docs/
scripts/
README.md
RELEASE-PACK.json
RELEASE-HANDOFF.json
RELEASE-HANDOFF.md
Step 1: Run preflight against the archive
If support provided the archive and checksum manifest, run the packaged preflight before extraction.
Windows PowerShell:
powershell -ExecutionPolicy Bypass -File .\scripts\preflight-frontend-support-pack.ps1 `
-Archive .\frontend-deployment-pack-support-only-<releaseVersion>.tar.gz `
-ChecksumFile .\frontend-deployment-pack-support-only-<releaseVersion>.tar.gz.sha256.json
If the release is signed:
- place
trusted-release-signing-public.pembeside the archive - on Windows PowerShell, ensure
opensslis available onPATH
Step 2: Verify and extract the archive
powershell -ExecutionPolicy Bypass -File .\scripts\extract-frontend-support-pack.ps1 `
-Archive .\frontend-deployment-pack-support-only-<releaseVersion>.tar.gz `
-ChecksumFile .\frontend-deployment-pack-support-only-<releaseVersion>.tar.gz.sha256.json `
-OutputDir .
This extraction step writes the deployment-pack verification record into the extracted directory.
Step 3: Enter the extracted pack
cd .\frontend-deployment-pack-support-only-<releaseVersion>
Step 4: Run packaged preflight and write the extracted-pack stamp
powershell -ExecutionPolicy Bypass -File .\scripts\preflight-frontend-support-pack.ps1 -PackRoot . -WriteStamp
This writes the packaged preflight record used by the install and refresh gates.
Step 5: Prepare school configuration
Create .env.school from the template if needed and review the school-specific values.
copy .env.school.example .env.school
The release wrappers will populate generated secrets and keep the pinned image tags from RELEASE-PACK.json.
Step 6: Install
powershell -ExecutionPolicy Bypass -File .\scripts\install-frontend-support-release.ps1 -EnvPath .env.school
The install wrapper will stop if either of these records is missing:
- the extraction verification record
- the extracted-pack preflight record
Step 7: Verify deployment
Confirm these before handing over to school staff:
.deployment-pack-verification.jsonexists.deployment-pack-preflight.jsonexists- the frontend loads locally and on the LAN URL
- the backend health endpoint responds
- the containers are running as expected
Step 8: Update later releases
Use the packaged refresh command from the extracted pack:
powershell -ExecutionPolicy Bypass -File .\scripts\refresh-frontend-support-release.ps1 -EnvPath .env.school
Do not bypass the packaged preflight and extraction records unless support is explicitly debugging a broken operator environment.