oxynote/server
2026-10-17 12:10:35 +03:00
..
auth-realtime disable mcp on non https or loopback host 2026-10-10 12:51:46 +03:00
core add full schema file for reading 2026-10-17 12:10:35 +03:00
AGENTS.md disable mcp on non https or loopback host 2026-10-10 12:51:46 +03:00
CLAUDE.md add AGENTS.md files 2026-09-08 20:51:36 +02:00
Makefile update makefiles 2026-08-13 20:01:42 +02:00
README.md add full schema file for reading 2026-10-17 12:10:35 +03:00

Server

To build and run the core and auth-realtime applications simply use the following command:

make run

By default the following ports are opened:

  • 8080 - core application's HTTP and WebSocket server.
  • 8081 - auth-realtime's Hocuspocus HTTP and WebSocket server.

Database Schema

core/internal/db/schema.sql is the schema that all core migrations produce, dumped with pg_dump from a test Postgres. After adding a migration, run make schema in server/core. Core's tests fail while the file is stale. The file is for reading and diffing only. Each foreign key sits next to its table, so some point at tables created further down, and psql -f fails on it.

Better Auth

Using Migrations

Nothing to do by hand: the Better Auth tables are owned by core's SQL migrations (server/core/internal/db/migrations/), which are embedded in the binary and applied automatically on startup.

Generating the Reference Schema

auth-realtime/sql/better_auth_schema.sql is a generated reference of the schema Better Auth expects — regenerate it after changing the Better Auth config in src/auth.ts and diff it against core's migrations to see whether a new migration is needed.

To generate it, start a postgres container:

docker run \
  --name betterauth-db \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_PASSWORD=postgres \
  -e POSTGRES_DB=betterauth \
  -p 5432:5432 \
  --rm \
  postgres

Then put the DB DSN values into the env var:

OXYNOTE_AUTH_REALTIME_DB_DSN=postgresql://postgres:postgres@localhost:5432/betterauth

Then, from within the auth-realtime directory, run (make sure that other env vars that are needed by src/auth.ts are available and exported too):

source ../../docker/env/auth-realtime.local.env && npx @better-auth/cli generate --output ./sql/better_auth_schema.sql