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:
- The Database
- The API
- 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:
- Copy the env-example to
.env
- Configure your database connection and other required variables
- For development:
npm install && npm run start:dev
- 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:
- Copy .env.example to
.env
- Configure your API endpoint and other required variables
- For development:
npm install && npm run dev
- 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.