This repository is meant to be used in various ways. This guide explains how to start a Prose Pod or Prose Pod Server depending on your use case.
Tip
This is the recommended way to start a Prose Pod. This will launch all components of a Pod.
To launch both the XMPP server (prose-pod-server
) and the Admin API (prose-pod-api
), you can use Docker Compose.
-
Some static configuration is required to bootstrap and run a Prose Pod. Here is how you can copy the templates:
cd PROSE_POD_SYSTEM_DIR # Replace with your path to `prose-pod-system` cp Prose-template.toml Prose.toml cp template.env .env
Then, edit
Prose.toml
and.env
to fill it with your own configuration. -
The Prose Pod API uses a SQLite database so you need to create one:
touch database.sqlite
Tip: You can change the database location by setting
DATABASE_PATH
before runningdocker compose up
. -
While you could start the Prose Pod mounting its filesystem on
./server/pod
, you should copy it to avoid loosing data when runningtools/cleanup
. You can easily do so by running:cp -R ./server/pod ./pod-fs-root
-
Finally, run the Prose Pod using:
SERVER_ROOT=./pod-fs-root docker compose up
Tip: If you just want to check that the Prose Pod starts correctly, you can run:
PROSE_CONFIG_FILE="$(pwd)/Prose-example.toml" docker compose up
ENV_FILE=PATH_TO_ENV_FILE \
PROSE_CONFIG_FILE=PATH_TO_PROSE_TOML \
SERVER_ROOT=PATH_TO_SERVER_FS_ROOT \
docker compose up
See prose-pod-api/scripts/integration-test
for a real-life example.
Warning
This section is pretty advanced and requires a complex setup. It's not intended for everyone, just for the few maintainers who'd like to run the full integration test suite at home.
Since integration tests are located in the prose-pod-api
repository, helper scripts are located under prose-pod-api/scripts/prose-pod-on-rpi/
.
cd PATH_TO_PROSE_POD_API
# Initialize the Prose Pod.
./scripts/prose-pod-on-rpi/init --help
# Cleanup the Prose Pod between test runs.
./scripts/prose-pod-on-rpi/cleanup --help
# Deinitialize (delete) the Prose Pod.
./scripts/prose-pod-on-rpi/deinit --help
Note
Most likely, you are looking to start a whole Prose Pod, not only the Prose Pod Server sub-system. Please refer to the above section on how to start a whole Prose Pod instead.
How to bootstrap local Prose server (without the admin API):
./tools/bootstrap ENVIRONMENT
The following options can be provided:
ENVIRONMENT
:local
orpod
(directories underserver/
). Defaults tolocal
.