build-container / build (push) Successful in 6m58s
- cypht/: official Cypht 2.13.0 on a SQLite file, served under /webmail/; workflow builds git.necloud.us/nate/hub-cypht - the hub passes /webmail/ through behind the passkey sign-in and signs in to Cypht for you (CYPHT_PASSWORD) - provider sign-in pages (Google, Microsoft) open in the whole window and return to the Mail tab; other links open in a new tab - Gmail / Outlook.com / Office365 OAuth settings (Microsoft permissions patched to the current ones) - Roundcube removed; README, compose and webmail tests updated Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
19 lines
1.6 KiB
Bash
Executable File
19 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
# Cypht's own start-up creates its SQLite file as root, but the web part runs as www-data: make the file and folder www-data's first.
|
|
set -e
|
|
DB="${DB_NAME:-/var/lib/hm3/cypht.sqlite}"; DIR=$(dirname "$DB")
|
|
mkdir -p "$DIR"; [ -f "$DB" ] || touch "$DB"
|
|
chown www-data:www-data "$DIR" "$DB"
|
|
# ...and again once its set-up has run (it may have added files beside it).
|
|
( i=0; while [ $i -lt 60 ]; do sleep 1; chown www-data:www-data "$DIR" "$DB" 2>/dev/null; chown www-data:www-data "$DB"-* 2>/dev/null; i=$((i+1)); done ) &
|
|
|
|
# OAuth sign-in (Gmail, Outlook.com, Microsoft 365): Cypht needs the address Google / Microsoft send you back to, which is the hub's /webmail/ page.
|
|
HUB="${PUBLIC_URL:-http://localhost:8080}"; HUB="${HUB%/}"
|
|
: "${GMAIL_CLIENT_URI:=$HUB/webmail/?page=home}"; : "${OUTLOOK_CLIENT_URI:=$HUB/webmail/?page=home}"; : "${OFFICE365_CLIENT_URI:=$HUB/webmail/?page=home}"
|
|
# Microsoft's current (v2) endpoints: personal accounts use 'consumers', work or school accounts use your tenant.
|
|
MS=https://login.microsoftonline.com; T="${M365_TENANT:-organizations}"
|
|
: "${OUTLOOK_AUTH_URI:=$MS/consumers/oauth2/v2.0/authorize}"; : "${OUTLOOK_TOKEN_URI:=$MS/consumers/oauth2/v2.0/token}"; : "${OUTLOOK_REFRESH_URI:=$MS/consumers/oauth2/v2.0/token}"
|
|
: "${OFFICE365_AUTH_URI:=$MS/$T/oauth2/v2.0/authorize}"; : "${OFFICE365_TOKEN_URI:=$MS/$T/oauth2/v2.0/token}"; : "${OFFICE365_REFRESH_URI:=$MS/$T/oauth2/v2.0/token}"
|
|
export GMAIL_CLIENT_URI OUTLOOK_CLIENT_URI OFFICE365_CLIENT_URI OUTLOOK_AUTH_URI OUTLOOK_TOKEN_URI OUTLOOK_REFRESH_URI OFFICE365_AUTH_URI OFFICE365_TOKEN_URI OFFICE365_REFRESH_URI
|
|
exec docker-entrypoint.sh "$@"
|