115 lines
3.1 KiB
Markdown
115 lines
3.1 KiB
Markdown
# Vortexi OSS
|
|
|
|
An open-source revival based off of the Syntax[.]eco source code.
|
|
---
|
|
|
|
## Quick Start (Docker)
|
|
|
|
### 1. Run Setup
|
|
```bash
|
|
./setup.sh
|
|
```
|
|
This wizard will:
|
|
- Ask for your domain name (or default to `localhost`) and replace any old domains throughout the project.
|
|
- Generate a new RCC access key and copy over the settings JSON.
|
|
### 2. Start the Stack
|
|
```bash
|
|
./start.sh
|
|
```
|
|
`./start.sh` runs `docker compose up --build`.
|
|
|
|
On first startup, the container automatically:
|
|
- Generates all missing RSA 1024-bit, 2048-bit, and gameserver signing keys into `app/files/`
|
|
- Waits for PostgreSQL and Redis to be ready
|
|
- Runs `db.create_all()` to build all database tables
|
|
- Creates an **Admin** user with full permissions and prints the username and generated password right in the console output
|
|
|
|
Once started, the site will be accessible on port `3003` (e.g. `http://localhost:3003`).
|
|
|
|
---
|
|
|
|
## Configuration & Environment Variables
|
|
|
|
All settings are configured inside the [`.env`](file:///.env) file (copied from [`.env.example`](file:///.env.example)).
|
|
|
|
Key settings:
|
|
- `BASE_DOMAIN` - Your main domain (e.g. `yourdomain.com` or `localhost`).
|
|
- `BASE_URL` - Full base URL (e.g. `https://www.yourdomain.com` or `http://localhost:3003`).
|
|
- `RCC_ACCESS_KEY` - The access key used for RCCService and FFlags settings.
|
|
- `USE_LOCAL_STORAGE` - Set to `True` to store and serve assets locally in `./download_cache` without needing an AWS S3 bucket.
|
|
- `POSTGRES_USER` / `POSTGRES_PASSWORD` / `POSTGRES_DB` - Database credentials.
|
|
- `FLASK_SESSION_KEY` - Session secret (auto-generated if left blank).
|
|
- `CLOUDFLARE_TURNSTILE_SITE_KEY` / `CLOUDFLARE_TURNSTILE_SECRET_KEY` - For captcha verification on signup/login.
|
|
- `DISCORD_BOT_TOKEN` / `DISCORD_CLIENT_ID` / `DISCORD_CLIENT_SECRET` - For Discord linking and bot functionality.
|
|
- `MAILJET_APIKEY` / `MAILJET_SECRETKEY` - For email verification and password resets.
|
|
|
|
---
|
|
|
|
## Reverse Proxy Examples
|
|
|
|
You should run a reverse proxy in front of port `3003` for SSL and subdomains.
|
|
|
|
### Caddy
|
|
```caddy
|
|
yourdomain.com, *.yourdomain.com {
|
|
reverse_proxy localhost:3003
|
|
}
|
|
```
|
|
|
|
### Nginx
|
|
```nginx
|
|
server {
|
|
listen 80;
|
|
server_name yourdomain.com *.yourdomain.com;
|
|
|
|
client_max_body_size 50M;
|
|
|
|
location / {
|
|
proxy_pass http://127.0.0.1:3003;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
}
|
|
}
|
|
```
|
|
|
|
### Apache2
|
|
```apache
|
|
<VirtualHost *:80>
|
|
ServerName yourdomain.com
|
|
ServerAlias *.yourdomain.com
|
|
ProxyPreserveHost On
|
|
ProxyRequests Off
|
|
|
|
<Proxy *>
|
|
Require all granted
|
|
</Proxy>
|
|
|
|
ProxyPass / http://127.0.0.1:3003/
|
|
ProxyPassReverse / http://127.0.0.1:3003/
|
|
LimitRequestBody 209715200
|
|
</VirtualHost>
|
|
```
|
|
|
|
---
|
|
|
|
## Helpful Commands
|
|
|
|
- **Stop containers:**
|
|
```bash
|
|
docker compose down
|
|
```
|
|
- **View live logs:**
|
|
```bash
|
|
docker compose logs -f web
|
|
```
|
|
- **Access Flask shell inside container:**
|
|
```bash
|
|
docker compose exec web flask shell
|
|
```
|
|
- **Run in local debug mode (without Docker):**
|
|
```bash
|
|
./debug.sh
|
|
```
|