allow customizable data directory #62

Closed
bbedward wants to merge 4 commits from bbedward/out-of-your-element:main into main
First-time contributor

We bridge niri matrix room with discord using mautrix, and recently tried ooye and generally like it. But we maintain the homeserver and bridge in kubernetes which means we require containerization.

Two things changed:

  1. Adds support for a new environment variable, OOYE_DATA_DIR - which can be used to override cwd() as the data path for registration.yaml and the sqlite database. This is often desirable for kubernetes and container environments in general since containers are usually stateless, and persistent data gets mounted on a separate volume. Or in the case of registration, mounted as a secret/configmap to a separate volume.
  2. Allow overrding read_only_room_events_default_power via registration. It's true on the niri discord server and other discord servers that rooms remain read-only until the userr has completed some captcha or other acknowledgement of rules, so it's desirable for us to set it to 0 - since @everyone is read-only, and everyone gets another role which makes them not-read only but also not worthy of an elevated power level.
We bridge [niri](https://github.com/YaLTeR/niri) matrix room with discord using mautrix, and recently tried ooye and generally like it. But we maintain the homeserver and bridge in kubernetes which means we require containerization. Two things changed: 1. Adds support for a new environment variable, `OOYE_DATA_DIR` - which can be used to override `cwd()` as the data path for registration.yaml and the sqlite database. This is often desirable for kubernetes and container environments in general since containers are usually stateless, and persistent data gets mounted on a separate volume. Or in the case of registration, mounted as a secret/configmap to a separate volume. 2. Allow overrding `read_only_room_events_default_power` via registration. It's true on the niri discord server and other discord servers that rooms remain read-only until the userr has completed some captcha or other acknowledgement of rules, so it's desirable for us to set it to 0 - since @everyone is read-only, and everyone gets another role which makes them not-read only but also not worthy of an elevated power level.
bbedward added 4 commits 2025-09-09 03:07:18 +00:00
Owner

This won't be merged as-is because it doesn't align with my vision. There's nothing wrong with you continuing to use your own patch though. That's what open source is all about.

Reasoning:

  1. People are already able to make setups that run in containers without needing a special way to specify the data directory. This can work because the data (the database files and registration.yaml) are accessed in the current working directory. Failing that, it probably works if you symlink them out of a volume into the expected place. SQLite apparently follows links and creates its auxiliary files at the link target.

  2. The next major release is planned to include a built in way to customise the default abilities of Matrix users, and make it possible to grant them "roles" (or similar) to increase their abilities in various ways. By built in, I mean without having to edit the source code, and customisable for each community.

Thanks anyway, and I'm glad you enjoy my software :)

This won't be merged as-is because it doesn't align with my vision. There's nothing wrong with you continuing to use your own patch though. That's what open source is all about. Reasoning: 1. People are [already able to make](https://gitdab.com/cadence/out-of-your-element/src/branch/main/docs/docker.md#unofficial-independent-community-provided-container-setups) setups that run in containers without needing a special way to specify the data directory. This can work because the data (the database files and registration.yaml) are accessed *in the current working directory.* Failing that, it probably works if you symlink them out of a volume into the expected place. SQLite apparently follows links and creates its auxiliary files at the link target. 2. The next major release is planned to include a built in way to customise the default abilities of Matrix users, and make it possible to grant them "roles" (or similar) to increase their abilities in various ways. By built in, I mean without having to edit the source code, and customisable for each community. Thanks anyway, and I'm glad you enjoy my software :)
cadence closed this pull request 2026-02-14 10:36:11 +00:00

Pull request closed

Sign in to join this conversation.
No description provided.