plone/aurora#
This chapter covers the container images for Aurora, the future React frontend of Plone. Aurora requires a Plone backend to be running and accessible.
Important
Aurora has not reached a final release yet. Evaluate it before you use it in production.
Using this image#
Simple usage#
Create a network, and start a Plone backend with a site named Plone on it.
docker network create plone
docker run -d --name backend --network plone -e SITE=Plone plone/plone-backend:6.2
Start Aurora on the same network, and point it at the backend.
docker run -d --name aurora --network plone -p 3000:3000 -e PLONE_API_PATH=http://backend:8080/Plone plone/aurora:latest
Then point your browser at http://localhost:3000.
If your Plone backend runs on your computer instead of in a container, use host.docker.internal to reach it from the Aurora container.
docker run -d --name aurora -p 3000:3000 -e PLONE_API_PATH=http://host.docker.internal:8080/Plone plone/aurora:latest
Service configuration with Docker Compose#
Create a directory for your project, and inside it create a docker-compose.yml file with the following content.
services:
backend:
image: plone/plone-backend:6.2
environment:
SITE: Plone
volumes:
- data:/data
frontend:
image: plone/aurora:latest
environment:
PLONE_API_PATH: http://backend:8080/Plone
ports:
- "3000:3000"
depends_on:
- backend
volumes:
data: {}
Now run docker compose up -d from your project directory.
Point your browser at http://localhost:3000, and you should see your Plone site.
Until the backend finishes starting, Aurora returns an error page.
The examples directory of the plone/container-aurora repository contains more complete configurations, with a web server in front of Aurora, and with ZEO or PostgreSQL as the database.
Configuration variables#
Environment variable |
Description |
Default value |
|---|---|---|
|
Address of the Plone site that Aurora uses as its backend |
|
|
Secret that signs the authentication cookie |
|
|
Port where Aurora listens |
|
|
Network address where Aurora listens |
All network interfaces |
Always set COOKIE_SECRET to a long, random value in production.
Without it, Aurora signs the authentication cookie with a publicly known value, and logs a warning at startup.
Aurora runs in production mode, and marks its authentication cookie as secure. Serve Aurora over HTTPS, so browsers keep the login session.
Images#
Each Aurora release publishes the following images, for the linux/amd64 and linux/arm64 platforms.
Image |
Description |
|---|---|
|
Aurora, ready to run in production |
|
An Aurora project with its dependencies installed, used to build images |
|
The Aurora development server, which also exposes Storybook on port 6006 |
|
A minimal Node.js runtime, used as the base of production images |
Extending from this image#
The plone/aurora image is built in two stages.
The first stage builds Aurora in plone/aurora-builder, and the second copies the result onto plone/aurora-prod-config.
Use the same structure to build your own image.
In a directory, create a Dockerfile file.
# syntax=docker/dockerfile:1
FROM plone/aurora-builder:latest AS builder
RUN <<EOT
set -e
pnpm build
rm -rf node_modules
pnpm install --prod
EOT
FROM plone/aurora-prod-config:latest
COPY --from=builder /app/ /app/
RUN corepack install
Build your new image.
docker build . -t myaurora:latest -f Dockerfile
Versions#
Each release publishes a tag with its version, such as 1.0.0-alpha.7, and updates the latest tag.
For a complete list of tags and versions, visit the plone/aurora page on Docker Hub.