@@ -22,38 +22,36 @@ CONFIG_FILE="${CONF_DIR}/silver.yaml"
2222# ASCII Banner
2323echo -e " ${CYAN} "
2424cat << 'EOF '
25-
26-
27- SSSSSSSSSSSSSSS iiii lllllll
28- SS:::::::::::::::S i::::i l:::::l
29- S:::::SSSSSS::::::S iiii l:::::l
30- S:::::S SSSSSSS l:::::l
31- S:::::S iiiiiii l::::lvvvvvvv vvvvvvv eeeeeeeeeeee rrrrr rrrrrrrrr
32- S:::::S i::::i l::::l v:::::v v:::::vee::::::::::::ee r::::rrr:::::::::r
33- S::::SSSS i::::i l::::l v:::::v v:::::ve::::::eeeee:::::eer:::::::::::::::::r
25+
26+
27+ SSSSSSSSSSSSSSS iiii lllllll
28+ SS:::::::::::::::S i::::i l:::::l
29+ S:::::SSSSSS::::::S iiii l:::::l
30+ S:::::S SSSSSSS l:::::l
31+ S:::::S iiiiiii l::::lvvvvvvv vvvvvvv eeeeeeeeeeee rrrrr rrrrrrrrr
32+ S:::::S i::::i l::::l v:::::v v:::::vee::::::::::::ee r::::rrr:::::::::r
33+ S::::SSSS i::::i l::::l v:::::v v:::::ve::::::eeeee:::::eer:::::::::::::::::r
3434 SS::::::SSSSS i::::i l::::l v:::::v v:::::ve::::::e e:::::err::::::rrrrr::::::r
3535 SSS::::::::SS i::::i l::::l v:::::v v:::::v e:::::::eeeee::::::e r:::::r r:::::r
3636 SSSSSS::::S i::::i l::::l v:::::v v:::::v e:::::::::::::::::e r:::::r rrrrrrr
37- S:::::S i::::i l::::l v:::::v:::::v e::::::eeeeeeeeeee r:::::r
38- S:::::S i::::i l::::l v:::::::::v e:::::::e r:::::r
39- SSSSSSS S:::::Si::::::il::::::l v:::::::v e::::::::e r:::::r
40- S::::::SSSSSS:::::Si::::::il::::::l v:::::v e::::::::eeeeeeee r:::::r
41- S:::::::::::::::SS i::::::il::::::l v:::v ee:::::::::::::e r:::::r
42- SSSSSSSSSSSSSSS iiiiiiiillllllll vvv eeeeeeeeeeeeee rrrrrrr
43-
37+ S:::::S i::::i l::::l v:::::v:::::v e::::::eeeeeeeeeee r:::::r
38+ S:::::S i::::i l::::l v:::::::::v e:::::::e r:::::r
39+ SSSSSSS S:::::Si::::::il::::::l v:::::::v e::::::::e r:::::r
40+ S::::::SSSSSS:::::Si::::::il::::::l v:::::v e::::::::eeeeeeee r:::::r
41+ S:::::::::::::::SS i::::::il::::::l v:::v ee:::::::::::::e r:::::r
42+ SSSSSSSSSSSSSSS iiiiiiiillllllll vvv eeeeeeeeeeeeee rrrrrrr
43+
4444EOF
4545echo -e " ${NC} "
4646
4747echo " "
4848echo -e " 🚀 ${GREEN} Welcome to Silver Mail System Setup${NC} "
4949echo " ---------------------------------------------"
5050
51- MAIL_DOMAIN=" "
52-
5351# ================================
5452# Step 1: Domain Configuration
5553# ================================
56- echo -e " \n${YELLOW} Step 1/4 : Configure domain name${NC} "
54+ echo -e " \n${YELLOW} Step 1/3 : Configure domain name${NC} "
5755
5856# Extract primary (first) domain from the domains list in silver.yaml
5957MAIL_DOMAIN=$( grep -m 1 ' ^\s*-\s*domain:' " $CONFIG_FILE " | sed ' s/.*domain:\s*//' | xargs)
7573# ================================
7674# Step 2: Ensure ${MAIL_DOMAIN} points to 127.0.0.1 in /etc/hosts
7775# ================================
78- echo -e " \n${YELLOW} Step 2/4 : Updating ${MAIL_DOMAIN} mapping in /etc/hosts${NC} "
76+ echo -e " \n${YELLOW} Step 2/3 : Updating ${MAIL_DOMAIN} mapping in /etc/hosts${NC} "
7977
8078if grep -q " [[:space:]]${MAIL_DOMAIN} " /etc/hosts; then
8179 # Replace existing entry
9088# ================================
9189# Step 3: Docker Setup
9290# ================================
93- echo -e " \n${YELLOW} Step 3/4 : Starting Docker services${NC} "
91+ echo -e " \n${YELLOW} Step 3/3 : Starting Docker services${NC} "
9492
9593# Check and setup SeaweedFS S3 configuration
9694SEAWEEDFS_CONFIG=" ${SERVICES_DIR} /seaweedfs/s3-config.json"
@@ -125,58 +123,6 @@ if [ $? -ne 0 ]; then
125123fi
126124echo -e " ${GREEN} ✓ Silver mail services started${NC} "
127125
128- sleep 1 # Wait a bit for services to initialize
129-
130- # ================================
131- # Step 4: Initialize Thunder User Schema
132- # ================================
133-
134- THUNDER_HOST=${MAIL_DOMAIN}
135- THUNDER_PORT=8090
136-
137- echo -e " \n${YELLOW} Step 4/4: Creating default user schema in Thunder${NC} "
138-
139- # Source Thunder authentication utility
140- source " ${SCRIPT_DIR} /../utils/thunder-auth.sh"
141-
142- # Step 4.1 & 4.2: Authenticate with Thunder
143- if ! thunder_authenticate " $THUNDER_HOST " " $THUNDER_PORT " ; then
144- exit 1
145- fi
146-
147- # Step 4.3: Create organization unit
148- if ! thunder_create_org_unit " $THUNDER_HOST " " $THUNDER_PORT " " $BEARER_TOKEN " " silver" " Silver Mail" " Organization Unit for Silver Mail" ; then
149- exit 1
150- fi
151-
152- # Step 4.4: Create user schema
153- echo " - Creating user schema..."
154- SCHEMA_RESPONSE=$( curl -s -w " \n%{http_code}" -X POST \
155- " https://${THUNDER_HOST} :${THUNDER_PORT} /user-schemas" \
156- -H " Content-Type: application/json" \
157- -H " Accept: application/json" \
158- -H " Authorization: Bearer ${BEARER_TOKEN} " \
159- -d " {
160- \" name\" : \" emailuser\" ,
161- \" ouId\" : \" ${ORG_UNIT_ID} \" ,
162- \" schema\" : {
163- \" username\" : { \" type\" : \" string\" , \" unique\" : true },
164- \" password\" : { \" type\" : \" string\" },
165- \" email\" : { \" type\" : \" string\" , \" unique\" : true }
166- }
167- }" )
168-
169- SCHEMA_BODY=$( echo " $SCHEMA_RESPONSE " | head -n -1)
170- SCHEMA_STATUS=$( echo " $SCHEMA_RESPONSE " | tail -n1)
171-
172- if [ " $SCHEMA_STATUS " -eq 201 ] || [ " $SCHEMA_STATUS " -eq 200 ]; then
173- echo -e " ${GREEN} ✓ User schema 'emailuser' created successfully (HTTP $SCHEMA_STATUS )${NC} "
174- else
175- echo -e " ${RED} ✗ Failed to create user schema (HTTP $SCHEMA_STATUS )${NC} "
176- echo " Response: $SCHEMA_BODY "
177- exit 1
178- fi
179-
180126# ================================
181127# Public DKIM Key Instructions
182128# ================================
0 commit comments