Running WebhookDB Locally
This guide is about running WebhookDB locally as a user, for the purposes of experimentation, or as a service dependency of your application during local development.
If you are interested in running WebhookDB as a developer (that is, you’re working on the WebhookDB code), refer to the README.md and Makefile.
You can run with the official WebhookDB docker image webhookdb/webhookdb.
Then you can set up this Docker Compose file:
# TODO
Then use docker compose up and WebhookDB should be working. Go to http://localhost:18003/terminal and follow along with the Getting Started guide.
Without Docker Compose
If you want to run without Compose, there’s some additional setup:
- You need a Postgres and Redis instance available.
- You need to run web and worker processes.
- You need to migrate the database.
For all commands, you need to pass something like --env DATABASE_URL=postgres://dev:dev@localhost:5432/mydb so the container can find Postgres, and --env REDIS_URL=redis://localhost:18007/0 so the container can find Redis.
The relevant commands are:
docker run -it webhookdb/webhookdb:latest releaseruns migrations. You need to run it to get the initial database set up.docker run -it webhookdb/webhookdb:latest webstarts the Rack web service.- WebhookDB runs on port 18003 by default. You can set the
PORTenv var, like--env PORT=1234, or port mapping, like-p 1234:18003, to have the container use a different port.
- WebhookDB runs on port 18003 by default. You can set the
docker run -it webhookdb/webhookdb:latest workerstarts Sidekiq background jobs.- Otherwise, arguments are passed through directly to the container. For example,
docker run -it webhookdb/webhookdb:latest bundle exec rake admin:role[myorg:beta]would run a Rake task.