forge/docus/dist/raw/getting-started/surrealdb-setup.md
Jacob Schmidt 827f3303a2 feat: add initial Docus setup and sync tool for documentation generation
- Created package.json for Docus with necessary scripts and dependencies.
- Implemented sync-docus-docs.mjs to automate the generation of documentation files from source markdown.
- Defined mappings for generated pages and virtual routes to ensure proper linking in documentation.
- Added static content files for the documentation structure, including navigation and index pages.
2026-04-21 16:07:27 -05:00

2.9 KiB

SurrealDB Setup

Forge uses SurrealDB for durable storage. The Rust server extension connects to SurrealDB on startup and applies Forge schema modules automatically, so setup comes down to running a reachable database and matching the Forge config.

Choose the Right Path

Developer or Server Operator

Use this path if you are building Forge, running a local test server, or hosting the live Arma server.

Official SurrealDB resources:

Install SurrealDB with the official method for your platform:

# Windows
iwr https://windows.surrealdb.com -useb | iex
# macOS
brew install surrealdb/tap/surreal
# Linux
curl -sSf https://install.surrealdb.com | sh

For Forge, start a persistent local database instead of the default in-memory mode:

surreal start surrealkv://forge.db --bind 127.0.0.1:8000 --user root --pass root

Then copy arma/server/extension/config.example.toml to config.toml next to forge_server_x64.dll and keep the values aligned with the database you started:

[surreal]
endpoint = "127.0.0.1:8000"
namespace = "forge"
database = "main"
username = "root"
password = "root"
connect_timeout_ms = 5000

After that:

  1. Start the Arma server with the Forge extension enabled.
  2. Let the extension connect and apply the Forge schema modules.
  3. Verify the connection state:
"forge_server" callExtension ["status", []];
"forge_server" callExtension ["surreal:status", []];

If you change the endpoint, namespace, database, username, or password in SurrealDB, change the same values in Forge's config.toml.

Mission Designer or Community Manager/Leader

Use this path if you mostly need to inspect, query, or adjust data for a test or live server and you are not changing Forge source code.

Official SurrealDB resources:

Recommended approach:

  1. Install Surrealist Desktop. It is the better fit for Forge because the official docs note that the web app can be limited when connecting to localhost or non-HTTPS endpoints.
  2. Connect Surrealist to the same database Forge uses.
  3. Use the values from the server's config.toml:
Endpoint:   http://127.0.0.1:8000
Namespace:  forge
Database:   main
Username:   root
Password:   root

If you need your own local sandbox instead of connecting to an existing Forge server, install SurrealDB first and follow the developer/server-operator path above. Surrealist Desktop can also launch a local database for you after the surreal executable is installed and available on your PATH.