Skip to content

Running Plume

Plume is a single server process. There are no subcommands: running the binary starts the HTTP server, and everything else happens inside that one process. There is no plume serve, plume migrate, plume import, or plume worker.

When you run Plume (the binary or docker compose up), it:

  • Starts the HTTP server on port 8080.
  • Auto-runs the embedded goose database migrations.
  • Bootstraps the admin user from the environment (see Configuration).
  • Launches the send worker and the automation worker as in-process goroutines.

CSV import is not a command — it’s the API endpoint POST /api/lists/{listId}/import (or the importer in the UI). See the REST API reference.

Terminal window
docker compose up -d

Download a release binary, set the environment variables, and run it:

Terminal window
./plume
Terminal window
go run ./cmd/plume

All configuration is through environment variables — there is no config file and no .env.example. See Configuration for the full list of PLUME_* variables.

Plume serves a health endpoint at GET /health, suitable for load-balancer and container health probes.