comty/docs/development/getting-started.md

2.2 KiB

sidebar_position
sidebar_position
1

Getting Started

We strongly recommend using Linux or macOS for development. Other platforms, such as Windows, can cause multiple issues.

Using Docker dev containers is also a nice choice.

Dependencies

  • Node.js (v18 or higher)

Install manually or use nvm tool (or similar tools).

  • Python (3.10 or higher)

  • node-gyp Install globally npm install -g node-gyp

  • FFmpeg & FFprobe (^6.0 or higher)

On Linux you can use built-in script to install it in your system-wide packages/server/scripts/installLatestFfmpeg.sh (uses CURL)

  • (Recomended) Use npm package manager.

  • (Optional) Docker, used for develop/building/deploy.

Getting files

  • Getting the repository
git clone --recurse-submodules https://github.com/ragestudio/comty && cd comty
  • Installing all dependencies
npm install

Setup Gateway

Comty uses a custom gateway to handle all requests and manage backend services. This gateway has two available engines for serving requests:

  • nginx: Currently recommended.
  • http_proxy: Obsolete, used in previous versions. Probably broken.

You can select an available engine by setting the GATEWAY_MODE="<engine>" environment variable. This can also be declared in the .env file.

By default, the gateway uses NGINX (as a proxy) to handle requests, so you'll need to set up this dependency.

It can be installed system-wide or by linking a static binary to packages/server/nginx-bin

On Linux you can use built-in script to statically install packages/server/scripts/installNginxStatic.sh (needs CURL)

First Setup

This will execute some tasks to initialize for first time your resources, like S3, Databases...etc. If you already initialized previously, skip this step.

  • Run server setup script (if needed)
npm run setup:server

Also can you use the --force flag to force the execution of this tasks again.

Starting the development server

  • You can use the command npm run dev to start all development servers.
npm run dev