FAQ
What do I need before installing?
- Docker Engine 24+ and Docker Compose v2.
- Host folders to mount under
/mntand persistent storage for/config(back it up) plus optional/cache. - Optional environment variables for your preferred authentication, reverse proxy, and feature toggles; see the Environment Reference for the full list.
How do I unlock the workspace after first setup?
The Setup screen creates the first admin (unless you bootstrap one via AUTH_ADMIN_EMAIL/AUTH_ADMIN_PASSWORD). Once the workspace password is set, use that login to add local users or configure OIDC. Admin-only settings live under Settings → Admin.
Where do I troubleshoot deployment issues?
Check the Troubleshooting page for proxy/CORS tips, session secret advice, volume permissions, and thumbnail/search behavior.
How can I keep my deployment updated?
The app stores persistent state in the /config bind mount. Back up /config/app-config.json and /config/app.db before updating. Run docker compose pull and docker compose up -d to refresh the image, then verify volumes and settings in the UI.
Who handles metadata and search indexing?
Thumbnails and ripgrep backed search results live in /cache. You can clear/recreate this mount without losing settings. If thumbnails aren't appearing, ensure FFmpeg/ffprobe are available (provided in the official image) and FFMPEG_PATH/FFPROBE_PATH point to valid binaries.
How do I add support for custom file types in the editor?
The inline editor supports 50+ file types by default (txt, md, json, js, ts, py, yml, html, css, and many more). To add support for additional file extensions at runtime, set the EDITOR_EXTENSIONS environment variable with a comma-separated list:
environment:
- EDITOR_EXTENSIONS=toml,proto,graphql,dockerfile,makefileCustom extensions are added to the default list (they don't replace it), and changes take effect on container restart—no frontend rebuild required.
If you need to edit larger files in the inline editor, set EDITOR_MAX_FILESIZE (defaults to 2M):
environment:
- EDITOR_MAX_FILESIZE=10MThat is the only setting to change. Saving sends the file back through a JSON request body, so MAX_JSON_BODY_SIZE has to stay above what the editor opens — it rises on its own to carry it, and says so in the log.
The exception is where you have set MAX_JSON_BODY_SIZE yourself. A ceiling you chose is never raised behind your back: the editor is lowered to what that ceiling can carry instead, with a warning naming both values. If you want to edit large files and keep a body ceiling, set the ceiling to a little over twice the file size you want to open.
See the Environment Reference for details.
