Repository navigation
Upgrading
Schema migrations run automatically when the process starts. You do not run a separate migrate step.
App version is the git tag, reported by GET /api/v2/health and Admin → Site version. GitHub Release binaries are already stamped. A git pull checkout reports the latest reachable tag. A binary copied out of the tree (systemd) must be built with -ldflags or it stays "dev" and the changelog is empty; see Building-the-server. npm run build:web does not set the Go version.
When moving a host forward, check these. They are the ones that need a config or process change, not just a binary swap:
-
.envis mandatory. The process exits if the file is missing or required variables are empty. -
Redis is required for API auth, rate limits, device SSO, undo, and live updates. Health JSON includes
redis_ok. -
Listen address. The server binds to
HOST, default127.0.0.1. Older builds listened on every interface. If phones, containers, or another machine connected to the port directly, setHOST=0.0.0.0. -
ORDRYN_*names.ORDRYN_MODEandORDRYN_BOOTSTRAP_*replaceGOTODO_MODEandGOTODO_BOOTSTRAP_*. The old names still work, so renaming is optional. -
API v2. The API moved to
/api/v2./api/v1remains a working alias, so existing clients and scripts don't break. New integrations should use/api/v2. In-app docs moved to/docs/api/v2. -
Email lives in Admin. Older
MAILGUN_API_KEY/MAILGUN_DOMAIN/FROM_EMAILenv values are imported into Admin → Email once, then ignored. -
Extensions moved out of the server repo into Ordryn-Extensions. Copy updated folders into
data/extensions/and click Reload Extensions.MODS_DIRstill works as an alias forEXTENSIONS_DIR. See Extensions. - Site roles moved to organizations and projects. On first start after that upgrade, the old Editor/Viewer/Developer/QA site roles are copied into every organization and project that used them, then removed. Nobody's access changes. After that, inviting someone requires picking a role, and a project with no roles must create one first.
-
Uploads and attachments. Task attachments (stored in PostgreSQL) are off until enabled in Admin. If you turn them on, raise your proxy's
client_max_body_size; see Reverse-proxy. -
Search indexes. Ordryn adds
pg_trgmtrigram indexes for search on start. If the database role cannotCREATE EXTENSION, the log says so and search still works, just slower. RunCREATE EXTENSION pg_trgm;as a superuser to get the indexes. -
Vue UI.
fullmode needs a builtweb/dist. Rebuild after UI changes (npm run build:web). Missing dist → 503 on the UI path. -
UI URL. The SPA is at
/(orBASE_PATH). Old/app/...URLs redirect. Bookmarks and proxy rules that assume/app/as the mount should be updated. -
SESSION_KEYrotation. Re-enter the Mailgun API key or SMTP password, the S3 secret key, and the GitHub OAuth client secret in Admin after changing the key. -
API enablement. REST is off until an admin enables it or
ORDRYN_BOOTSTRAP_ENABLE_API=true. Clients see failures that look like "API missing" while it is off. -
OpenAPI
info.versioninopenapi.yamlis independent of the app version. It is bumped only for large or breaking API contract changes.
- Keep the same
.env(and Postgres / Redis). - Rebuild the SPA if you run
fullmode and the release includes UI changes. - Restart the process (migrations apply on boot).
-
curl -s http://HOST:PORT/api/v2/healthand confirmversion,mode,api_enabled, andredis_ok. - If you use extensions, copy any updated folders and click Reload Extensions.
Cutting a server release (maintainers): merge to main, then publish a GitHub Release named vX.Y.Z. See Local-development. Operators who build on the host: Building-the-server.
Getting started
- Home
- Self-hosting
- Building-the-server
- Configuration
- Admin-settings
- Reverse-proxy
- Extensions
- Upgrading
Using the API
Help