Skip to content
This repository has been archived by the owner on Mar 22, 2024. It is now read-only.

redwoodjs/docker

Repository files navigation

Redwood on Docker

⚠️ 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.

Implementations

Name Description Workflow
jeliasson-nginx A production tested implementation that builds api and web seperately. jeliasson-nginx
standal-ce-nginx An implementation built for a deployment to IBM's Code Engine, with its best practices built in. standal-ce-nginx
standal-cli-both Builds and serves both sides from a single image, using Redwood's CLI. standal-cli-both
pi0neerpat-packages Similar to jeliasson-nginx, but supports 📦 local packages pi0neerpat-packages

jeliasson-nginx

Meta

Name jeliasson-nginx
Description A production tested implementation that builds api and web seperately.
Workflow jeliasson-nginx
Maintainer Johan Eliasson

standal-ce-nginx

Meta

Name standal-ce-nginx
Description An implementation built for a deployment to IBM's Code Engine, with its best practices built in.
Workflow standal-ce-nginx
Maintainer Ryan Lockard

standal-cli-both

Meta

Name standal-cli-both
Description Builds and serves both sides from a single image, using Redwood's CLI.
Workflow standal-cli-both
Maintainer Ryan Lockard

pi0neerpat-packages

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 pi0neerpat-packages
Maintainer Patrick

Contribution

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. 🚀

Dockerfiles

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/docker

Images

Published Docker images to GitHub Container Registry should preferably be named;

  • docker-<prefix>-api-dev for api build with development as runtime env.
  • docker-<prefix>-web-dev for web build with development as runtime env.
  • docker-<prefix>-both-dev for api and web build with development as runtime env.
  • docker-<prefix>-api-prod for api build with production as runtime env.
  • docker-<prefix>-web-prod for web build with production as runtime env.
  • docker-<prefix>-both-prod for api and web build with production as runtime env.

e.g.

  • docker-jeliasson-nginx-web-dev

Benchmarks

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.

CI

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).

About

Repository to consolidate efforts on making sweet Docker implementations for RedwoodJS

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published