diff --git a/.github/workflows/build.yml b/.github-upstream/workflows/build.yml similarity index 100% rename from .github/workflows/build.yml rename to .github-upstream/workflows/build.yml diff --git a/README.md b/README.md index de00963..9f19661 100644 --- a/README.md +++ b/README.md @@ -1,158 +1,55 @@
-
-
-
+
-
-## Get Started
-
-Stalwart WebUI is included with Stalwart Mail Server, to install Stalwart Mail Server on your server by following the instructions for your platform:
-
-- [Linux / MacOS](https://stalw.art/docs/install/linux)
-- [Windows](https://stalw.art/docs/install/windows)
-- [Docker](https://stalw.art/docs/install/docker)
-
-All documentation is available at [stalw.art/docs/get-started](https://stalw.art/docs/get-started).
-
-## Getting started
-
-Prerequisites:
-
-- Node.js 18 or later
-- A running Stalwart instance (for JMAP API calls)
-
-Install dependencies:
-
-```
-npm install
-```
-
-### Environment variables
-
-Configuration is done through Vite environment variables. Copy or edit `.env.development` in the project root:
-
-```
-VITE_API_BASE_URL=http://localhost:443
-VITE_ACCESS_TOKEN=
-VITE_OAUTH_SCOPES=
-```
-
-| Variable | Description |
-|---|---|
-| `VITE_API_BASE_URL` | URL of the Stalwart server. Used for all API requests during development. In production builds (when empty or unset) requests are relative to the current origin. |
-| `VITE_ACCESS_TOKEN` | When set, skips the OAuth flow entirely and uses this token for all requests. Useful for local development and testing. |
-| `VITE_OAUTH_SCOPES` | Optional OAuth scopes. Omitted from the authorization request when empty. |
-
-### OAuth client ID
-
-The OAuth 2.0 client ID is not a build-time setting. It is read at runtime from a meta tag in `index.html`:
-
-```html
-
-```
-
-The server rewrites the `content` attribute when it serves the page, so a single build works for any deployment. When no
-client ID is configured the attribute is left empty and the panel falls back to `stalwart-webui`.
-
-### Bypassing OAuth for development
-
-Set `VITE_ACCESS_TOKEN` to a valid bearer token to skip the login page and go straight to the admin panel. You can obtain a token from the Stalwart server's token endpoint or use an API key:
-
-```
-VITE_ACCESS_TOKEN=your-bearer-token-here
-```
-
-### Running the dev server
-
-```
-npm run dev
-```
-
-This starts Vite's development server with hot module replacement, typically at `http://localhost:5173`.
-
-## Testing
-
-Run the unit tests (Vitest):
-
-```
-npm test
-```
-
-Run tests in watch mode:
-
-```
-npm run test:watch
-```
-
-## Building for production
-
-```
+```bash
+npm ci
+npm run dev # http://localhost:5173, against VITE_API_BASE_URL in .env.development
+npm run typecheck && npx eslint src/ && npx vitest run
npm run build
```
-This runs the TypeScript compiler followed by Vite's production build. Output
-goes to the `dist/` directory.
+## Keeping up with upstream
-To preview the production build locally:
+Upstream's history contains no Enterprise-only code, so this is an ordinary
+git fork. `upstream` is a fetch-only remote:
-```
-npm run preview
+```bash
+git fetch upstream --tags
+git merge v1.0.12 # the next release tag
```
-## Support
+## License and credits
-If you are having problems running Stalwart Mail Server, you found a bug or just have a question,
-do not hesitate to reach us on [Github Discussions](https://github.com/stalwartlabs/mail-server/discussions),
-[Reddit](https://www.reddit.com/r/stalwartlabs), [Discord](https://discord.gg/aVQr3jF8jd) or [Matrix](https://matrix.to/#/#stalwart:matrix.org).
-Additionally you may purchase a subscription to obtain priority support from Stalwart Labs LLC
-
-## License
-
-This project is dual-licensed under the **GNU Affero General Public License v3.0** (AGPL-3.0; as published by the Free Software Foundation) and the **Stalwart Enterprise License v1 (SELv1)**:
-
-- The [GNU Affero General Public License v3.0](./LICENSES/AGPL-3.0-only.txt) is a free software license that ensures your freedom to use, modify, and distribute the software, with the condition that any modified versions of the software must also be distributed under the same license.
-- The [Stalwart Enterprise License v1 (SELv1)](./LICENSES/LicenseRef-SEL.txt) is a proprietary license designed for commercial use. It offers additional features and greater flexibility for businesses that do not wish to comply with the AGPL-3.0 license requirements.
-
-Each file in this project contains a license notice at the top, indicating the applicable license(s). The license notice follows the [REUSE guidelines](https://reuse.software/) to ensure clarity and consistency. The full text of each license is available in the [LICENSES](./LICENSES/) directory.
-
-## Copyright
-
-Copyright (C) 2024, Stalwart Labs LLC
+Free software under the [GNU Affero General Public License, version 3](./LICENSES/AGPL-3.0-only.txt).
+A fork of Stalwart WebUI, copyright © Stalwart Labs LLC. Upstream's files are
+dual-licensed AGPL-3.0-only or Stalwart's Enterprise License, and INBUXA takes
+them under the AGPL-3.0 only. Upstream's copyright notices are kept on every
+file. INBUXA isn't affiliated with or endorsed by Stalwart Labs.
diff --git a/img/brand/inbuxa-lockup-dark.svg b/img/brand/inbuxa-lockup-dark.svg
new file mode 100644
index 0000000..40117f7
--- /dev/null
+++ b/img/brand/inbuxa-lockup-dark.svg
@@ -0,0 +1,24 @@
+
\ No newline at end of file
diff --git a/img/brand/inbuxa-lockup-light.svg b/img/brand/inbuxa-lockup-light.svg
new file mode 100644
index 0000000..f9f4940
--- /dev/null
+++ b/img/brand/inbuxa-lockup-light.svg
@@ -0,0 +1,24 @@
+
\ No newline at end of file
diff --git a/img/demo.gif b/img/demo.gif
deleted file mode 100644
index 861577e..0000000
Binary files a/img/demo.gif and /dev/null differ
diff --git a/img/logo-red.svg b/img/logo-red.svg
deleted file mode 100644
index eb8888a..0000000
--- a/img/logo-red.svg
+++ /dev/null
@@ -1,25 +0,0 @@
-
\ No newline at end of file
diff --git a/index.html b/index.html
index c5a0dfd..f1086eb 100644
--- a/index.html
+++ b/index.html
@@ -5,9 +5,10 @@
{t('bootstrap.welcomeSubtitle', "Let's get your server set up.")}
@@ -468,7 +468,7 @@ function SuccessScreen({ 'bootstrap.credentialsCreated', 'Your administrator account has been created. Write these down now: the password will not be shown again.', ) - : t('bootstrap.configuredSuccessfully', 'Stalwart has been configured successfully.')} + : t('bootstrap.configuredSuccessfully', 'INBUXA has been configured successfully.')}