Skip to content

AgoraCloud/server

Repository files navigation

Logo Cropped

GitHub issues GitHub license GitHub release (latest by date) GitHub Release Date Docker Pulls GitHub Workflow Status GitHub contributors GitHub commit activity

AgoraCloud is an open source and self hosted cloud development platform that runs in Kubernetes.

Installation

AgoraCloud is installed on a Kubernetes cluster using a Helm chart. For more details, refer to the instructions in the helm-chart directory.

Development

Set Up

  1. Clone this repository
git clone https://github.com/AgoraCloud/server.git
  1. Change directory
cd server
  1. Install required packages
npm i
  1. Create a .env file in the root of the project with the following environment variables

Make sure that all the environment variables below are populated. For a detailed description of all environment variables, check out the documentation.

# Node Environment
NODE_ENV=development
# Log Level
LOG_LEVEL=log,warn,error
# Domain
DOMAIN=
# Database
DATABASE_URI=
# Admin
[email protected]
ADMIN_PASSWORD=AdminPassword
# JWT
JWT_ACCESS_SECRET=secret
JWT_REFRESH_SECRET=refresh_secret
# SMTP
SMTP_HOST=
SMTP_PORT=
SMTP_SECURE=
SMTP_USERNAME=
SMTP_PASSWORD=
# Kubernetes
KUBERNETES_NAMESPACE=agoracloud
KUBERNETES_STORAGE_CLASS=default
KUBERNETES_SERVICE_ACCOUNT=agoracloud

Running the app

# Development
npm run start

# Watch mode
npm run start:dev

# Production mode
npm run start:prod

Swagger UI (API Documentation)

To view a list of all APIs and their documentation, make sure that the NODE_ENV environment variable is set to development and that the server is running.

Then, navigate to localhost:3000/api/docs in any browser. You should see Swagger UI.

Testing

# Unit tests
npm run test

# E2E tests
npm run test:e2e

# Test coverage
npm run test:cov

About

AgoraCloud's back-end, built using NestJS, Node.js, Express and TypeScript

Resources

License

Stars

Watchers

Forks

Languages