This might be work in progress as I'm typing it up while actually doing the migration.
Inside the old Stalwart database there are several settings that refer to locations in the file system. For example, the database location, which is /var/lib/stalwart if you run Stalwart from their Docker image.
When migrating this to Inbuxa the recommended "copy storage, run from Docker with volume bound to /var/lib/inbux" this now fails as inside the container the location where the server expects the database to be is still /var/lib/stalwart. Either you have to modify the config, or bind-mount the volume to /var/lib/stalwart inside the container, too.
Further locations might be custom log file locations you've configured. Meaning a simple copy-replace of stalwart→inbuxa in your compose.yaml does too much here. It's more involved.
This might be work in progress as I'm typing it up while actually doing the migration.
Inside the old Stalwart database there are several settings that refer to locations in the file system. For example, the database location, which is `/var/lib/stalwart` if you run Stalwart from their Docker image.
When migrating this to Inbuxa the recommended "copy storage, run from Docker with volume bound to `/var/lib/inbux`" this now fails as _inside the container_ the location where the server expects the database to be is still `/var/lib/stalwart`. Either you have to modify the config, or bind-mount the volume to `/var/lib/stalwart` inside the container, too.
Further locations might be custom log file locations you've configured. Meaning a simple copy-replace of `stalwart`→`inbuxa` in your `compose.yaml` does too much here. It's more involved.
It lists the settings that hold a path (the data store in config.json, a file-system blob store, SQLite/RocksDB stores, the log directory, secrets read from files). Then it moves them in recovery mode before the first real start, which doesn't touch the old paths. For containers it also gives your shortcut of mounting the copy at /var/lib/stalwart as well. I'll leave this open while you finish, so add anything else you run into.
Thanks @mbunkus, you're right, the guide never said that the copied store still remembers its old paths. It now has a section on it: https://docs.inbuxa.org/install/migrating/#paths
It lists the settings that hold a path (the data store in config.json, a file-system blob store, SQLite/RocksDB stores, the log directory, secrets read from files). Then it moves them in recovery mode before the first real start, which doesn't touch the old paths. For containers it also gives your shortcut of mounting the copy at /var/lib/stalwart as well. I'll leave this open while you finish, so add anything else you run into.
jcoffey-dev
self-assigned this 2026-10-26 13:41:00 +00:00
Following up on your question about stalwart-cli and Vandelay: neither works with inbuxa, since the management API's capability name changed. Both have replacements now.
stalwart-cli → inbuxa-cli, released today. It covers everything the console manages, and it can also save the server's settings to a file and apply them to another server. Docs: https://docs.inbuxa.org/install/cli/
Both take an API key, since the server doesn't accept passwords on its API by default. Thanks again for asking. It's what got inbuxa-cli built. If anything trips you up, tell me here.
Following up on your question about stalwart-cli and Vandelay: neither works with inbuxa, since the management API's capability name changed. Both have replacements now.
- **stalwart-cli** → [inbuxa-cli](https://git.coffeylabs.org/inbuxa/inbuxa-cli), released today. It covers everything the console manages, and it can also save the server's settings to a file and apply them to another server. Docs: https://docs.inbuxa.org/install/cli/
- **Vandelay** → [inbuxa-migrate](https://git.coffeylabs.org/inbuxa/inbuxa-migrate), for moving or backing up accounts. Docs: https://docs.inbuxa.org/install/accounts/
Both take an API key, since the server doesn't accept passwords on its API by default. Thanks again for asking. It's what got inbuxa-cli built. If anything trips you up, tell me here.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This might be work in progress as I'm typing it up while actually doing the migration.
Inside the old Stalwart database there are several settings that refer to locations in the file system. For example, the database location, which is
/var/lib/stalwartif you run Stalwart from their Docker image.When migrating this to Inbuxa the recommended "copy storage, run from Docker with volume bound to
/var/lib/inbux" this now fails as inside the container the location where the server expects the database to be is still/var/lib/stalwart. Either you have to modify the config, or bind-mount the volume to/var/lib/stalwartinside the container, too.Further locations might be custom log file locations you've configured. Meaning a simple copy-replace of
stalwart→inbuxain yourcompose.yamldoes too much here. It's more involved.Thanks @mbunkus, you're right, the guide never said that the copied store still remembers its old paths. It now has a section on it: https://docs.inbuxa.org/install/migrating/#paths
It lists the settings that hold a path (the data store in config.json, a file-system blob store, SQLite/RocksDB stores, the log directory, secrets read from files). Then it moves them in recovery mode before the first real start, which doesn't touch the old paths. For containers it also gives your shortcut of mounting the copy at /var/lib/stalwart as well. I'll leave this open while you finish, so add anything else you run into.
Following up on your question about stalwart-cli and Vandelay: neither works with inbuxa, since the management API's capability name changed. Both have replacements now.
Both take an API key, since the server doesn't accept passwords on its API by default. Thanks again for asking. It's what got inbuxa-cli built. If anything trips you up, tell me here.
Closing, since the migration guide now covers the stored paths. If anything else trips you up during the move, please open a new issue.