Workspace Starter bundles five services whose value comes from somebody else running them: mail that lands in other people's inboxes, files you can share with a link, documents several people edit at once, and video calls that work on any device. Each has a self-hosted counterpart, but wiring them together is an ops job, not a coding one, and mail on your own IP is the hard part. A DIY stack costs about the same as the seat once you pay for a server, and you become the person who fixes it at midnight. A one-person stack can be scripted, but only for someone who wants the practice.
Before you buildFree Gmail already covers one person's mail, calendar and 15 GB of Drive. Workspace Starter pays off only when you need mail on your own domain.
Build me a one-machine self-hosted stack to replace Google Workspace Business Starter for me alone, on my own domain. Requirements: - A `docker-compose.yml` and a `Makefile` for one Debian 12 VPS with 4 GB of memory running: Stalwart (`stalwartlabs/stalwart`) for mail, calendar and contacts; Nextcloud (`nextcloud:stable-apache`) with PostgreSQL and Redis for files; Collabora Online (`collabora/code`) wired into Nextcloud for documents and spreadsheets; and Caddy for HTTPS on mail., cloud. and office. subdomains. - Config: DOMAIN and ADMIN_EMAIL in .env. `make init` generates every password and secret into .env and renders the Stalwart and Nextcloud configuration from templates in ./templates. - `make dns` prints the exact records to create: A, MX, SPF, DKIM (public key read from Stalwart), DMARC starting at p=none, the autoconfig SRV records for IMAP, SMTP, CalDAV and CardDAV, and the PTR record to request from the VPS provider. - `make check` verifies that the records resolve (`dig`), TLS certificates are valid on each subdomain, an IMAP login and SMTP submission work, CalDAV answers a PROPFIND with 207 and `occ status` reports healthy. It exits non-zero and names the failing check. - Backups: `make backup` runs restic over the volumes and a `pg_dump` to an S3-compatible bucket from .env; `make restore-test` restores the latest snapshot into a temp folder and checks it. - Updates: `make update` takes a backup, pulls images, restarts one service at a time and runs `make check`. - Mail hygiene: strict TLS, outbound rate limits, and a README plan to warm up a new IP over two weeks, with a mail-tester score of 9/10 or better before real use. - No telemetry; nothing leaves the machine except mail, backups and certificate requests. - Out of scope: video meetings (use Jitsi or any Meet link), AI features, push beyond IMAP IDLE, several users, and moving existing Gmail (document the `imapsync` command instead). - README: monthly cost, a warning that many VPS providers block outbound port 25, and a plain note that mail is the one service here you will notice when it breaks.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Google Workspace Business Starter.
Add a migration script to the stack in this folder. Requirements: - `make migrate-gmail` runs `imapsync` in a container from `imapsync/imapsync`, using an app password from .env, to copy Gmail into Stalwart. - Turn Gmail labels into folders, skip "[Gmail]/All Mail" to avoid duplicates, and write a log of folders, message counts and failures per run. - Support a dry run (`--dry`) and re-running safely: already-copied messages are skipped. - Update the README with the Gmail settings the user must change first.
Add a delivery report to the stack in this folder. Requirements: - A weekly job that parses the Stalwart logs and DMARC aggregate reports from a dedicated mailbox and writes a plain-text summary: messages sent, deferrals and bounces by recipient domain, and DMARC pass rates. - Email the summary to ADMIN_EMAIL from the stack itself, and put a warning at the top if any bounce rate is above 5%. - Keep the last 12 reports under ./reports. - Update the README.
Extend the stack in this folder to a second user. Requirements: - `make add-user NAME=...` creates the mail account in Stalwart and the matching Nextcloud account with the same address and a generated password stored in .env-users (mode 600). - Create one shared calendar and one shared address book, readable and writable by both users. - Add the new user to the backup scope and extend `make check` to log in as them. - Update the README with the phone setup steps for CalDAV and CardDAV.
One bill buys mail on your own domain that people receive, shared files, calendar invites that everyone's calendar understands and Meet on every phone. It's the default for small companies because clients, accountants and agencies already work with Google files.
Estimate · A VPS with 4 GB of memory typically runs $10 to $20 a month, plus a domain and a backup bucket, so a single person saves little against $8.40. The build is token usage on your agent plan, and time for fixing delivery problems.
Checked 2026-10-19 against Google Workspace Business Starter's docs: 1, 2, 3, 4
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Business Starter | $8.40/user | $7/user | 30 GB pooled storage per user, custom-domain Gmail, Meet with 100 participants for up to 24 hours, Chat, Calendar, Docs, Sheets, Slides, Forms, Sites, Keep, basic Gemini in Gmail, 2-step verification. |
| Business Standard | — | $14/user | 2 TB pooled storage per user, Meet with recording and 150 participants, appointment booking pages, eSignature, more Gemini access. |
| Business Plus | — | $22/user | 5 TB per user, Meet with 500 participants and attendance tracking, Vault, eDiscovery, advanced endpoint management. |
| Enterprise | custom | — | Everything above plus S/MIME, data loss prevention, context-aware access and data regions. |
Not answered here? Tell us and we'll add it.
Ask a question ›No free plan; a 14-day trial is offered, and new customers get an introductory discount for the first 3 months.
Not really. One bill buys mail on your own domain that people receive, shared files, calendar invites that everyone's calendar understands and Meet on every phone. It's the default for small companies because clients, accountants and agencies already work with Google files. The prompt on this page builds the closest honest substitute.
About $8.40 a month on the Business Starter (flexible plan) plan per seat, $100.80 a year (checked 2026-10-19).
Mail from your domain that big providers reliably accept; Documents and spreadsheets that several people edit at the same time; Meet video calls on any device and calendar integration with them; Phone apps with push and offline access for mail, calendar, files and docs; An admin console with 2-step verification, user recovery and sharing controls. If any of those matter to you, keep paying.
Yes: Nextcloud (open source), ONLYOFFICE Docs (open source), Stalwart Mail Server (open source).