INSTALL GUIDE · AZURE
Blue Folder Mail on Azure
A Linux VM with Docker and a managed disk. Standard, durable, and it keeps your data — the same single-container story as every other cloud.
Prerequisites
- An Azure subscription and a resource group.
- A domain name you can point an A record at (for HTTPS).
- A Resend account; an inbound provider for receiving.
Create the VM and install
- Create a Linux VM A Standard_B1ms / B2s on Ubuntu 22.04 is plenty. Give it a managed OS disk (or add a data disk) for your data.
- Network security group
Add inbound rules allowing 80, 443 and 22. Don't expose 8080.
- Install Docker, then the app
curl -fsSL https://get.docker.com | sh curl -fsSL https://raw.githubusercontent.com/gordonvividtone/bluefolder-mail/main/install.sh | bash
Set INBOUND_SECRET and RESEND_API_KEY. Data persists in the bfm-data volume on the managed disk.
This is the Docker guide on an Azure VM — see it for S3 (Azure Blob via its S3-compatible layer, or any bucket) and update commands.
Storage & sending
- Storage — local disk (managed disk) by default; or STORAGE_BACKEND=s3 with any S3-compatible bucket for sealed blobs. Ciphertext only.
- Sending — verify your domains at resend.com and set RESEND_API_KEY.
Receiving mail — the honest part
Recommended — webhook
Point a provider (Mailgun, SendGrid, Postal, Resend inbound) at https://your-host/_inbound with the secret as the x-inbound-secret header or ?secret=…, forwarding full raw MIME.
Built-in SMTP — not on Azure
HTTPS & the front door
Terminate TLS with Caddy on the VM (automatic Let's Encrypt), or front it with Azure Application Gateway:
mail.example.com {
reverse_proxy localhost:8080
}
Add a login with BASIC_AUTH_USER / BASIC_AUTH_PASS, or keep the port on a private VNet / VPN.