Installation
System requirements
- PHP 8.5+
- A PostgreSQL database
- SMTP credentials (host, port, username, password and a "from" address) — EventSourcerer sends certain notifications by email
SMTP / email configuration
EventSourcerer sends out certain pieces of information by email — for example account verification, password resets, and operational notifications. You will need a working SMTP server before the application is fully usable.
Set the following environment variables (typically in your .env.local or your deployment environment):
MAILER_DSN=smtp://user:pass@smtp.example.com:587
Any SMTP provider will do (e.g. Mailgun, Postmark, SendGrid, Amazon SES, or your own server).
For local development you can point MAILER_DSN at a catch-all inbox such as Mailpit or MailHog
— the Docker Compose stack started by make up includes one by default.
If SMTP is not configured, EventSourcerer will still boot but any feature that relies on email (signup verification, password reset, alerting) will fail. Configure this before inviting real users.
Quick setup with Docker Compose
The fastest way to get an EventSourcerer server running locally is with the bundled Docker Compose stack. A Makefile is provided to wrap the most common commands:
git clone https://github.com/PearTreeWeb/eventsourcerer-server.git
cd eventsourcerer-server
make setup
make setup is intended for first-time installation: it builds the images, starts the containers
(app, database and the realtime socket server), installs Composer dependencies, runs the database migrations
and performs any one-off bootstrapping the application needs.
Other useful targets:
make up— start the containers for day-to-day development (use this after the initialmake setup).make down— stop and remove the containers.make in— open a shell inside the application container.
The realtime socket server is started for you as part ofmake setup/make up— no extra command needed.
Pick a client package
- Laravel Client —
eventsourcerer/event-sourcerer-laravel - Symfony Client —
eventsourcerer/symfony-client - PHP Client —
eventsourcerer/event-sourcerer-client
Once your server is running and you have a client installed, head over to the Quick Start guide.