Social Mail Server is a simple mail and file server.
Social Media features such as Like, comment and subscribe are planned in future release.
Social Mail Server is a self hosted web/mail server. You can choose to host anyway you like it. No more privacy nightmares and big forms to sign up and lots of terms and conditions. Just communicate with your audience simply through email.
- Create vars.env files with the variables from the following table.
- Run following
docker pull neurospeech/social-mail-web-server:latest
docker volume socialmaildata
docker run --name=socialmail --env-file vars.env -p 25:25 -p 443:443 -p 80:80 -v socialmaildata:/data --restart=always -d neurospeech/social-mail-web-server:latest
docker image prune -f
docker volume prune -f
docker builder prune -a -f
- You will need NodeJS + ClamAV + PostgresSQl.
- After you have installed all of the above, run following steps.
a.
mkdir social-mail
b.cd social-mail
c.npm init
Press enter for all defaults. d.npm install -s @social-mail/social-mail-web-server
. e.node --enable-source-maps ./node_modules/@social-mail/social-mail-web-server/index.js
Social Mail Server will adds few tricks to send/receive social messages through emails. The best part is, you will be able to communicate with everyone even if they are not on same mail server. You can basically communicate/socialize with your friends and family without having to go through big tech.
Environment Variable | Required | Defaults | |
---|---|---|---|
SOCIAL_MAIL_HOST | Yes | ||
SOCIAL_MAIL_ALT_HOSTS | |||
SOCIAL_MAIL_NAME | Social Mail | PWA Name | |
SOCIAL_MAIL_ADMIN_PASSWORD | Yes | social-admin | This will be set only first time |
SOCIAL_MAIL_SECRET_KEY | Yes | Used to encrypt secrets | |
SOCIAL_MAIL_AV | ClamAV | Anti Virus Scanner | |
SOCIAL_MAIL_AV_PORT | ClamAVDef | Anti Virus Scanner Port | |
SOCIAL_MAIL_AV_DEBUG | false | true to enable debug mode | |
SOCIAL_MAIL_SMTP_PORT | 25 | 0 to disable | |
SOCIAL_MAIL_SSL_MODE | lets-encrypt | none,lets-encrypt,self-signed | |
SOCIAL_MAIL_SSL_PORT | 443 | SSL Port, 0 to disable | |
SOCIAL_MAIL_SSL_HOSTS | Additional SSL Hosts, all must point to same IP address. | ||
SOCIAL_MAIL_SSL_LE_EMAIL | [Yes] | Email for Lets Encrypt | |
SOCIAL_MAIL_SSL_LE | staging | Change to production | |
SOCIAL_MAIL_SSL_ACME_EP | Zero SSL End Point for ACME | ||
SOCIAL_MAIL_SSL_ACME_EAB_KID | Key ID | ||
SOCIAL_MAIL_SSL_ACME_EAB_HMAC | HMAC | ||
SOCIAL_MAIL_SSL_PATH | /data/cert | Certificates folder | |
SOCIAL_MAIL_TMP_PATH | /tmp | Temporary files | |
SOCIAL_MAIL_TMP_SIZE | 7gb | Temporary Storage Size | |
SOCIAL_MAIL_STORAGE | Yes | s3 | s3,volume,azure,db |
SOCIAL_MAIL_STORAGE_PATH | Volume Path | ||
SOCIAL_MAIL_AZURE_BLOB_CONN_STRING | [Yes] | Blob Connection String | |
SOCIAL_MAIL_AZURE_BLOB_CONTAINER | [Yes] | Blob Container (Must Exist) | |
SOCIAL_MAIL_S3_END_POINT | Yes | ||
SOCIAL_MAIL_S3_BUCKET | Yes | ||
SOCIAL_MAIL_S3_ACCESS_KEY | |||
SOCIAL_MAIL_S3_SECRET | |||
SOCIAL_MAIL_DB_SERVER | postgres | postgres | |
SOCIAL_MAIL_DB_HOST | localhost | ||
SOCIAL_MAIL_DB_PORT | 5432 | ||
SOCIAL_MAIL_DB_DATABASE | SocialMails | ||
SOCIAL_MAIL_DB_USER | postgres | ||
SOCIAL_MAIL_DB_PASSWORD | postgres | ||
SOCIAL_MAIL_DB_SSL | true | Set false for local/testing | |
SOCIAL_MAIL_AUTH_COOKIE | sm-a1 | Name of HTTP Cookie | |
SOCIAL_MAIL_AUTH_COOKIE_SECURE | true | Enable HTTPS only Cookie | |
SOCIAL_MAIL_BACKUP | s3, azure | ||
SOCIAL_MAIL_BACKUP_S3_BUCKET |
- Self Hosted Cluster with Lets Encrypt
- Not needed, difficult to setup ACME certificates.
- pm2 doesn't offer anything more than what inbuilt cluster is offering.