diff --git a/README.md b/README.md index 2c832184..e10b68f9 100644 --- a/README.md +++ b/README.md @@ -111,13 +111,9 @@ nano services/.env ### Adding users -- To add more users to your email server, open up [`users.yaml`](https://github.com/LSFLK/silver/blob/main/conf/users.yaml), and add their usernames and run the following command. +Users in Silver are provisioned through the [Thunder ID](https://github.com/thunder-id/thunderid) console that ships with the platform. Sign in to the console at `https://:8090/console` with your admin credentials. -```bash -# silver/services -bash scripts/user/add_user.sh -``` -- Once you have added the users, `user_invite_urls.txt` will be generated in `scripts/user` folder with invite links for each user. You can share these links with the respective users to set up their accounts. +For the full walkthrough — creating a user schema, assigning it to an organization unit, and adding users via direct password or invitation link — see [Adding Users](docs/Adding-Users.md). ### Testing your setup - Now that you have a working email server, you can test your configuration using the following links/scripts. @@ -157,7 +153,7 @@ Silver is built using open-source software. - [Postfix](https://www.postfix.org/) - Handles sending and receiving email. - [Raven](https://github.com/lsflk/raven) - Handles SASL authentication, LMTP, and IMAP server for email retrieval. -- [Thunder](https://github.com/asgardeo/thunder) - Identity provider and user manager +- [Thunder ID](https://github.com/thunder-id/thunderid) - Identity provider and user manager - [Rspamd](https://rspamd.com/) - Spam filtering system. - [ClamAV](https://docs.clamav.net/Introduction.html) - Virus scanning system. - [Certbot](https://certbot.eff.org/) - Client software that talks to Let’s Encrypt to generate certificates. diff --git a/conf/users.yaml b/conf/users.yaml deleted file mode 100644 index 6c6b61f4..00000000 --- a/conf/users.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# =============================================================== -# Silver Mail Users Configuration (`users.yaml`) -# =============================================================== -# -# This file defines users for each domain. -# Users are grouped by their domain. -# -# Example configuration: -# domains: -# - domain: example.com -# users: -# - username: alice -# - username: bob -# - username: charlie -# -# - domain: another-domain.com -# users: -# - username: john -# - username: jane -# -# Notes: -# - Each user gets their own personal mailbox (user_db_{userID}.db) -# - Usernames must be unique within each domain - -domains: - - domain: - users: - - username: - - username: - - username: diff --git a/docs/Adding-Users.md b/docs/Adding-Users.md new file mode 100644 index 00000000..4d52876e --- /dev/null +++ b/docs/Adding-Users.md @@ -0,0 +1,30 @@ +# Adding Users + +Users in Silver are provisioned through the [Thunder ID](https://github.com/thunder-id/thunderid) console that ships with the platform. This guide walks through adding users via the console. + +## Prerequisites + +- Silver is running (see [Server Setup](../README.md#server-setup) in the main README). +- You can reach the Thunder console at `https://:8090/console`. +- You have Thunder admin credentials. + +## Steps + +### 1. Sign in to the Thunder console + +Open `https://:8090/console` in your browser and sign in with your admin credentials. + +### 2. Create a user schema + +Define a user schema that includes the fields needed for an email user — at minimum, `username` and `password`. + +### 3. Assign the schema to an organization unit + +Assign the schema you just created to the organization unit you want the users to belong to. + +### 4. Add users + +Under the target organization unit, add users using one of the following: + +- **Set a password directly** — supply a `username` and `password` for the user. +- **Send an invitation link** — provide the user's secondary email address; Thunder will email them an invitation link to set their own password.