mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-09 10:34:17 +00:00
65 lines
2.2 KiB
Markdown
65 lines
2.2 KiB
Markdown
---
|
|
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](https://nodejs.org/en/download/) or use [nvm](https://github.com/nvm-sh/nvm) tool (or similar tools).
|
|
|
|
- Python (3.10 or higher)
|
|
|
|
- [node-gyp](https://github.com/nodejs/node-gyp#installation) 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](https://docs.npmjs.com/cli/v11/configuring-npm/install) package manager.
|
|
|
|
- (Optional) [Docker](https://docs.docker.com/get-docker/), used for develop/building/deploy.
|
|
|
|
## Getting files
|
|
- Getting the repository
|
|
```shell
|
|
git clone --recurse-submodules https://github.com/ragestudio/comty && cd comty
|
|
```
|
|
|
|
- Installing all dependencies
|
|
```shell
|
|
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)
|
|
```shell
|
|
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.
|
|
```shell
|
|
npm run dev
|
|
```
|