Skip to content

Deploy with Docker

Docker

Prerequisite

  • A connection string to a Postgres database (you can use Neondb for example)
  • A connection string to a Postgres shadow database (you can use Neondb for example)
  • A connection string to a Clickhouse database (you can use the online service or the Docker image)
  • A connection string to a Redis database (you can use Upstash for example)
  • Docker installed on the machine (or available on the service)

Steps

Prepare the database

Terminal window
$ git clone https://github.com/progressively-crew/progressively
$ cd progressively
$ cp ./packages/database/.env.example ./packages/database/.env # modify the .env file with the connection string to postgres
$ cp ./websites/backend/.env.example ./websites/backend/.env # modify the .env file with the connection string to postgres & Redis
$ cp ./websites/frontend/.env.example ./websites/frontend/.env
$ pnpm i
$ pnpm run build
$ pnpm run db:prepare

This step might disappear or be reduced in the future. We know it’s not optimal.

Start the containers

Using the following docker images to deploy your containers:

For instance:

Terminal window
$ docker run --env-file .env-backend -p 4000:4000 marvinfrachet/progressively-backend:latest
$ docker run --env-file .env-frontend -p 3000:3000 marvinfrachet/progressively-frontend:latest
  • Where .env-backend contains the environment variable defined in this file
  • Where .env-frontend contains the environment variable defined in this file