Developer Guide

Self Host Revert

Spinning up Revert with docker-compose locally

The easiest way to start with self-hosted Revert is to run it via docker-compose:

$# Get the code
>git clone --depth 1 https://github.com/revertinc/revert
>
># Copy the example env file
>cd revert
>cp .env.example .env
>cp packages/backend/.env.example packages/backend/.env
>cp packages/client/.env.example packages/client/.env
>cp packages/js/.env.example packages/js/.env
>cp packages/react/.env.example packages/react/.env
>cp packages/vue/.env.example packages/vue/.env
>
># Ensure that [clerk](https://clerk.com/docs/quickstarts/setup-clerk) is setup in `client` and a user is created by following the instructions here: https://docs.revert.dev/overview/developer-guide/developer-guide#-revertdotdev-client
>
># Update these .env files with any of your own secrets if you'd like to.
>
># Then In the root directory run
>
># When running for the first time to seed the database. (RUN ONLY ONCE)
>docker-compose run db-seed
>
># For subsequent runs
>docker-compose up -d

The UI is now available at http://localhost:3000 and the backend is available at http://localhost:4001. This also contains a Postgres database alongside the API.

Run Revert with your own database & redis

The above steps allow you to spin up a Postgres & Redis instance alongside the API and UI.

To use your own Postgres & Redis instance run the following set of commands:

$# Seed the database
>
>docker run \
> -e PGSQL_URL=postgresql://<PG_USER>:<PG_PASSWORD>@<PG_HOST>:<PG_PORT>/<PG_DB> \
> docker.revert.dev/revertengg/revert-db-seed:latest
>
># To run Revert API:
>
>docker run \
> -v cache:/data \
> -v pgdata:/var/lib/postgresql/data \
> -e PGSQL_URL=postgresql://<PG_USER>:<PG_PASSWORD>@<PG_HOST>:<PG_PORT>/<PG_DB> \
> -e REDIS_SERVER_URL=redis://<REDIS_USER>:<REDIS_PASSWORD>@<REDIS_HOST>:<REDIS_PORT> \
> docker.revert.dev/revertengg/revert-api-ce:latest