npm i -g raven-webmail
Create a default config file
- config file is auto-documented
raven create-config [-o --output="./config.toml"]
raven start [-c --config="./config.toml"]
- ✓ en, English (default)
- ✓ es, Spanish
- ✓ it, Italian (comunity) @ValoreAreaIT
Machine generated locales were removed in version 1.0.
if you need to support a different locale use de create-locale
command
Uncomment the extra_locale_dirs
entry in the config file
and run this command to generate a default locale file that you can edit
Locales will be checked at startup and pretty warnings will be logged if any
Custom locales will override existing ones for the same ISO code
raven create-locale [-c --config="./config.toml"] --code ISOCode
ISO codes must be in the form of en
or en-US
like in Accept-Language
header, not es_US
Please if you create a locale for your language make a PR or an issue and I will add it to the available locales
- Raven now uses inter-tab notifications to broadcast login and logout from the same session (doesn't use the server for this any more). This change makes Raven now fully stateless.
- Added community provided Italian locale, special thanks to @ValoreAreaIT for sharing their locale configuration.
- Raven will now allow users to customize their signature. The signature is stored in the wildduck user under
metaData.ravenSignatureHTML
. New entries were added to the base locales to support this feature.
- SSR has been disabled to avoid memory leaks when executing client side javascript in the server, you can enable SSR again if you want, you'll have to edit
app/svelte.config.js
and rebuild the app withnpm run build
- Locale entries changed completely, if you created a custom locale you have to rewrite it.
- Machine generated locales were removed.
- Raven Webmail is now a SvelteKit app, with SSR, service-worker support and it's installable in modern browsers.
- Added compression optional config option
./src
contains server side and cli typescript code that get compiled to ./dist
note that server code gets compiled with ttsc
(typescript with transformers) instead of tsc
to get runtime type checking in the io between client and server
./app
contains the webmail SvelteKit app
./app
is a subpackage with its own devDependencies (no runtime dependencies needed)
git clone https://github.com/ramiroaisen/raven-webmail
cd raven-webmail
# install server dependencies
npm i
# install app devDependencies
cd app && npm i
# build client and server
npm run build
# starts dev server
# - if you changed the default port or protocol you have to
# - update the ENV variables in ./app/package.json dev script
# - for this to work
npm run dev
# create default config file in ./config.toml
node raven create-config
# edit settings, then run the app
node raven start