development

Build in Public: Deploying OpenMeet

Deploying OpenMeet Locally

While OpenMeet is typically deployed using Kubernetes, this guide will walk you through running it on a single server. We’ll keep things at a high level and focus on the core components.

OpenMeet consists of three main components:

  1. The Database
  2. The API
  3. The Frontend

The Database

You’ll need a PostgreSQL server (version 15 or higher) that’s accessible from the API server. Requirements:

  • PostGIS extension must be installed
  • Database credentials will be configured via environment variables in the API

The API

The API is built with NestJS (source code).

Setup steps:

  1. Copy the env-example to .env
  2. Configure your database connection and other required variables
  3. For development: npm install && npm run start:dev
  4. For production: npm install && npm run build && npm run start:prod

Note: Check out our docker-compose-dev.yml for an example of running the API and database together.

The Frontend

The frontend is built with the Quasar Framework (source code).

Setup steps:

  1. Copy .env.example to .env
  2. Configure your API endpoint and other required variables
  3. For development: npm install && npm run dev
  4. For production: npm install && npm run build && npm run start

Putting It All Together

The components can be started in any order, as they’re designed to handle connection retries and startup dependencies. Just make sure your configuration files are properly set up before starting each service.

Next Steps

Now that you have OpenMeet running locally, you might want to:

  • Join our community Discord for support
  • Star our repositories on GitHub to stay updated
  • Share your deployment experience with us on Discord!

We’re always looking to improve our documentation and deployment process. If you run into any issues or have suggestions, please open an issue on GitHub.

Share this post