⚠️ This repository has been deprecated and archived in favor of the official support in RedwoodJS. Thanks to everyone that contributed to this repository, and to everyone that worked on bringing offical support.
This is a collaboration repository to consolidate efforts on making sweet Docker implementations for RedwoodJS. Discussion on Dockerize RedwoodJS and Define official Docker images. This repository is currently up to date with Redwood version 3.8.0.
| Name | Description | Workflow |
|---|---|---|
| jeliasson-nginx | A production tested implementation that builds api and web seperately. | |
| standal-ce-nginx | An implementation built for a deployment to IBM's Code Engine, with its best practices built in. | |
| standal-cli-both | Builds and serves both sides from a single image, using Redwood's CLI. | |
| pi0neerpat-packages | Similar to jeliasson-nginx, but supports 📦 local packages |
Meta
| Name | jeliasson-nginx |
| Description | A production tested implementation that builds api and web seperately. |
| Workflow | |
| Maintainer | Johan Eliasson |
Meta
| Name | standal-ce-nginx |
| Description | An implementation built for a deployment to IBM's Code Engine, with its best practices built in. |
| Workflow | |
| Maintainer | Ryan Lockard |
Meta
| Name | standal-cli-both |
| Description | Builds and serves both sides from a single image, using Redwood's CLI. |
| Workflow | |
| Maintainer | Ryan Lockard |
NOTE: not everything can be run here. Instead see: https://github.com/pi0neerpat/redwood-devops-example
Meta
| Name | pi0neerpat-packages |
| Description | Similar to jeliasson-nginx, but supports 📦 local packages |
| Workflow | |
| Maintainer | Patrick |
Essentialy we create various test implementations under the docker directory and create workflows to build these. Once we find a suitable approach forward, we'll discuss where the final Dockerfiles ultimately end up after a yarn rw setup docker (or what we end up with) setup. 🚀
Add below LABEL to bottom each Dockerfile to connect published Docker image to this repository.
### Connect image to repository
LABEL org.opencontainers.image.source=https://github.com/redwoodjs/dockerPublished Docker images to GitHub Container Registry should preferably be named;
docker-<prefix>-api-devfor api build with development as runtime env.docker-<prefix>-web-devfor web build with development as runtime env.docker-<prefix>-both-devfor api and web build with development as runtime env.docker-<prefix>-api-prodfor api build with production as runtime env.docker-<prefix>-web-prodfor web build with production as runtime env.docker-<prefix>-both-prodfor api and web build with production as runtime env.
e.g.
docker-jeliasson-nginx-web-dev
To keep track of the implementations effectiveness, we maintain a running average on below metrics.
- Build Size: On successful builds we display the image size in the analyse stage. In this stage we also run a dive analysis.
- Build time: Average time for 'Docker build' completion in respective workflow.
Feel free to copy and paste .github/workflows/template.yml and we try to make out a common baseline. It should build and publish the image(s) to GitHub Container Registry (see template).