Site for the 2025 edition of the Plone Conference
Ensure you have the following installed:
- Python 3.11 π
- Node 22 π©
- pnpm π§Ά
- Docker π³
- Clone the repository:
git clone [email protected]:plone/2025.ploneconf.org.git
cd 2025.ploneconf.org
- Install both Backend and Frontend:
make install
- Create a new Plone site on your first run:
make backend-create-site
- Start the Backend at http://localhost:8080/:
make backend-start
- In a new terminal, start the Frontend at http://localhost:3000/:
make frontend-start
Voila! Your Plone site should be live and kicking! π
Deploy a local Docker Compose
environment that includes:
- Docker images for Backend and Frontend πΌοΈ
- A stack with a Traefik router and a Postgres database ποΈ
- Accessible at http://2025.ploneconf.org.localhost π
Execute the following:
make stack-start
make stack-create-site
And... you're all set! Your Plone site is up and running locally! π
This monorepo consists of three distinct sections: backend
, frontend
, and devops
.
- backend: Houses the API and Plone installation, utilizing pip instead of buildout, and includes a policy package named ploneconf.core.
- frontend: Contains the React (Volto) package.
- devops: Encompasses Docker Stack, Ansible playbooks, and Cache settings.
- All necessary codebases to run the site are contained within the repo (excluding existing addons for Plone and React).
- Specific GitHub Workflows are triggered based on changes in each codebase (refer to .github/workflows).
- Simplifies the creation of Docker images for each codebase.
- Demonstrates Plone installation/setup without buildout.
To automatically format your code and ensure it adheres to quality standards, execute:
make check
It is possible to only run format
:
make format
or lint
:
make lint
Linters can be run individually within the backend
or frontend
folders.
Generate translation files for Plone and Volto with ease:
make i18n
This repository has experimental support for developing with GitHub Codespaces. Its Devenv based setup requires a few minutes to build and start up for the first time. First the space is ready, developed site could be started with:
make codespace-start
This will eventually start a proxied site at Codespaces port 8000, with its backend proxied at path /api. If your browser keeps reloading the proxied site, please, stop your local Volto or other Webpack development server first.
Every push to the main
branch triggers a GitHub workflow.
If all steps complete successfully, the project is automatically deployed to the staging environment.
Deployment to the live environment happens whenever a new release is created.
Releases are managed with repoplone
.
The usual workflow is:
-
Check the changelog At the repository root, run:
uvx repoplone changelog
This will show how the Changelog will be updated. Confirm that the changes look correct.
-
Create the release If everything looks good, create a new release with:
uvx repoplone release <version>
The
<version>
must follow the format:YYYYMMDD.R
where:
YYYYMMDD
= release dateR
= point release for that day
Example:
uvx repoplone release 20250826.2
This will produce the following versions/tags:
- Repository tag:
20250826.2
- GitHub release:
20250826.2
- Container images:
20250826.2
- Backend package:
20250826.2
- Frontend package:
20250826.2.0
-
Automatic deployment Once the release is created, GitHub Actions will:
- Build container images for the new tag
- Deploy them to the live environment
Generated using Cookieplone (0.8.4) and cookieplone-templates (fee8300) on 2025-03-05 10:26:44.465074. A special thanks to all contributors and supporters!