## Installation Steps

### Step 1: Clone the Repository

Clone the `kixelated/moq-rs` repository to your local machine:

```bash
git clone https://github.com/kixelated/moq-rs moq
```

### Step 2: Verify Port Availability

Check if port 443 is already in use on your server:

```bash
sudo netstat -tulpn | grep ':443' | grep LISTEN
```
or
```bash
sudo lsof -i -P -n | grep LISTEN | grep 443
```

If you find any processes using port 443, consider terminating them.

### Step 3: Configure Ports

Navigate to the cloned directory and edit the Docker compose file to use port 443:

```bash
cd moq
vim docker-compose.yml
```

Change the ports section from lines 34 to 35 to:

```yaml
ports:
  - "443:443"
  - "443:443/udp"
```

### Step 4: Prepare Certificates

Copy your generated certificates into the `moq/dev` directory and rename them:

```bash
cp cert.pem moq/dev/localhost.crt
cp key.pem moq/dev/localhost.key
```

### Step 5: Start Docker Instances

Ensure you are in the root directory of the `moq` project, then start the Docker containers:

```bash
docker compose up -d
```

### Step 6: Link Domain to Server IP

Configure your DNS settings to connect your server's IP address to your domain:

```
Record Type: A
Subdomain: relay.fst.so
IP Address: xx.xxx.xx.xxx
```

Congratulations, your MoQ server is now set up! You can verify its functionality by using the [MoQ Checker](https://nestri.pages.dev/moq/checker).