A ZEO Server Docker image using Python 3 and pip.
NOTE: These images are not yet officially supported by the Plone Community.
5.2.2, 5.2.2--python39, 5.2, latest
(5.2/5.2.2/Dockerfile)
docker run -p 8100:8100 plone/plone-zeo:latest
Create a directory for your project, and inside it create a docker-compose.yml
file that starts your Plone instance and the ZEO instance with volume mounts for data persistence:
version: "3"
services:
backend:
image: plone/plone-backend:latest
restart: always
environment:
ZEO_ADDRESS: zeo:8100
ports:
- "8080:8080"
depends_on:
- zeo
zeo:
image: plone/plone-zeo:latest
restart: always
volumes:
- data:/data
ports:
- "8100:8100"
volumes:
data: {}
Now, run docker-compose up -d
from your project directory.
Point your browser at http://localhost:8080 and you should see the default Plone site creation page.
There are several ways to store data used by applications that run in Docker containers.
We encourage users of the Plone
images to familiarize themselves with the options available.
The Docker documentation is a good starting point for understanding the different storage options and variations.
Environment variable | ZEO option | Default value |
---|---|---|
ZEO_PORT | address | 8100 |
ZEO_READ_ONLY | read-only | false |
ZEO_INVALIDATION_QUEUE_SIZE | invalidation-queue-size | 100 |
ZEO_PACK_KEEP_OLD | pack-keep-old | true |
In case you need to configure an option not present in the environment variables, we suggest you to create a new image based on the default one:
FROM plone/plone-zeo:latest
COPY mylocalconfig /app/etc/zeo.conf
And then build the new image and start the container.
Please DO NOT commit to main directly. Even for the smallest and most trivial fix. ALWAYS open a pull request and ask somebody else to merge your code. NEVER merge it yourself.
The project is licensed under the GPLv2.