Infrastructure
Work-in-progress: This content is incomplete; you can help by expanding it
Hosting
Section titled “Hosting”Amplify
EC2
Lambda
Hosting on a subdomain (e.g. projectname.nj.gov) is waaay easier than hosting on a subpath of nj.gov (e.g. nj.gov/agencyname/projectname)
Containerization
Section titled “Containerization”We do not have licenses for Docker Desktop, which requires licenses for government entities. We don’t need the GUI, but Docker Engine is difficult to install on MacOS without Docker Desktop. We instead use these open source tools:
- Docker CLI: Docker’s OCI-compatible container CLI tools
- Colima: Open source replacement for Docker Engine
- Docker Compose: it’s open source
For macOS:
# As of writing `brew install docker` installs Docker CLI, but not Docker Enginebrew install colima docker docker-composemkdir ~/.dockercat >~/.docker/config.json <<EOF "cliPluginsExtraDirs": [ "/opt/homebrew/lib/docker/cli-plugins" ]EOFbrew services start colimaFor Debian/Ubuntu and WSL:
curl -fsSL https://get.docker.com/ | shDocker Engine can still be easily installed on Linux without Docker Desktop. For Windows machines (e.g. agency stakeholders), we suggest using WSL (see Setting up a state Windows laptop), which can be harangued into running containers using the Docker engine on Linux.
Infrastructure as Code
Section titled “Infrastructure as Code”AWS CDK
If Terraform, use OpenTofu
Serverless is deprecated