Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions docs/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -827,8 +827,7 @@ lazy load
lazy loading
lazy loaded
Lazy loading is a strategy to identify resources as non-blocking (non-critical) and load these only when needed.
It's a way to shorten the length of the [critical rendering path](https://developer.mozilla.org/en-US/docs/Web/Performance/Guides/Critical_rendering_path
), which translates into reduced page load times.
It's a way to shorten the length of the [critical rendering path](https://developer.mozilla.org/en-US/docs/Web/Performance/Guides/Critical_rendering_path), which translates into reduced page load times.
reference implementation
A reference implementation is a program that implements all requirements from a corresponding specification.
Expand Down
38 changes: 38 additions & 0 deletions docs/install/containers/recipes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,41 @@ RUN <<EOT

After making these changes, build the project container as usual.
It will no longer output the access log, but will continue to output the event log.


## Pack the ZODB
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@erral @davisagli would this section be more appropriate under the existing Advanced usage in plone/plone-backend?


A common maintenance task of a Plone instance is to pack the ZODB.

The official `plone/plone-backend` container and project containers based on them have a `pack` command to pack the ZODB.

The command will work on standalone mode, ZEO mode and Relstorage mode (with Posgres).

To run the command you have to run your container passing the command:

In standalone mode you will have a volume mounting the ZODB, so it will be something like:

```
docker run -v /path/to/your/volume:/data plone/plone-backend pack
```

In ZEO mode, you will have to run it next to your ZEO instance:

```
docker run -e ZEO_ADDRESS=zeo:8100 --link zeo plone/plone-backend pack
```

In Relstorage, you will need to pass the connection DSN:

```
docker run -e RELSTORAGE_DSN="dbname='plone' user='plone' host='db' password='password' port='5432'" pack
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In Docker Swarm, it's also necessary to specify the network if the database is only available on an internal network. It might be easier to use docker exec to run the pack command in an existing plone-backend container.


If you are running your containers using docker compose, the command is much easier:

```
docker compose run backend pack
```

Provided that the name of the service that runs the Plone instance is `backend`, otherwise exchange `backend` with your container's name.