Watch
1
0
Fork
You've already forked synapse
0
mirror of https://codeberg.org/smartyellow/synapse.git synced 2026-08-07 16:39:06 +00:00
Complete Nextcloud & Stalwart deployment stack, prioritising simplicity and user experience
  • Shell 60.8%
  • YAML 34.5%
  • JSON 4.4%
  • SQL 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-05 16:52:01 +02:00
caddy Add NET_ADMIN capability to Caddy service 2026-08-05 09:54:33 +02:00
dev_rustfs Rename all docker-compose.yml to compose.yml 2026-07-26 20:15:05 +02:00
document_server Rename all docker-compose.yml to compose.yml 2026-07-26 20:15:05 +02:00
nextcloud Set required BACKUP_NAME for volume backup 2026-08-05 16:52:01 +02:00
nextcloud_hpb Pass missing env variables 2026-07-27 21:21:59 +02:00
nextcloud_push Make Nextcloud data mount read-only where possible 2026-07-27 18:21:46 +02:00
postgres Rename all docker-compose.yml to compose.yml 2026-07-26 20:15:05 +02:00
stalwart Delete bootstrap.json 2026-07-27 20:32:31 +02:00
valkey Rename all docker-compose.yml to compose.yml 2026-07-26 20:15:05 +02:00
.editorconfig Add services 2026-07-08 16:31:18 +02:00
.env.example Implement network segmentation and safe trusted_proxies (fix #15, fix #17) 2026-07-28 10:30:33 +02:00
.gitattributes Add JSON to linguist-detectable files 2026-07-19 15:52:43 +02:00
.gitignore Dev compose 2026-07-26 20:17:01 +02:00
check.py Rename all docker-compose.yml to compose.yml 2026-07-26 20:15:05 +02:00
compose.dev.yml Implement network segmentation and safe trusted_proxies (fix #15, fix #17) 2026-07-28 10:30:33 +02:00
compose.yml Add data backup service, update DB backup service 2026-08-05 16:42:30 +02:00
CONTRIBUTING.md Move contributing guidelines to CONTRIBUTING.md 2026-07-27 20:39:56 +02:00
ensure_env.sh Pass missing env variables 2026-07-27 21:21:59 +02:00
ensure_env_dev.sh Dev compose 2026-07-26 20:17:01 +02:00
LICENSE.txt Add contact info and license 2026-07-26 18:01:31 +02:00
README.md Move contributing guidelines to CONTRIBUTING.md 2026-07-27 20:39:56 +02:00
upgrade.sh Dev compose 2026-07-26 20:17:01 +02:00

Synapse

Alternative Nextcloud deployment stack!

But why?

  • There should be an open alternative to Microsoft 365 and Google Workspace.
  • Usability and experience is a top priority. People, by nature, are generally highly reluctant to switch to something unfamiliar, so the alternative should present as few surprises as possible. Even when this means tweaking the default for every single configuration value.
  • Configuration is best done using plain text, not using a web interface. Deploying the stack should require as little configuration as possible.
  • It should be possible to self-host it, and be trivial to move it to another machine -- actually, plain Docker should do the trick. This allows for both easy deployment and high customizability. It also provides a better experience when having to manage more than one instance.

The Nextcloud ecosystem provides an excellent alternative to Microsoft 365 and Google Workspace, and it is only getting better. Synapse is an attempt to make it easier to self-host Nextcloud.

What's included? 🥞

Synapse is a work in progress. The following components are included:

  • Nextcloud
    • Files
    • Document suite provided by Euro-Office, which means great compatibility with Microsoft document formats!
    • Mail client, contacts, calendar and tasks
    • Chat & video conferencing
      • High-performance backend
  • Stalwart
    • Automated provisioning in Nextcloud Mail
  • Proxy: Caddy
  • Database: PostgreSQL
  • Cache: Valkey

Requirements

  • OS: Linux or macOS. Synapse is used, developed and known to work on Debian 13 and macOS 26.
  • Docker
  • Docker Compose 5.3.0 or higher (with support for init containers)

Deployment

Copy .env.example to .env and set the variables accordingly. Run ensure_env.sh to validate your settings and generate secure values for any missing secrets, then start the containers.

./ensure_env.sh
docker compose --profile=document_server,backup up -d

To upgrade, first pull the latest version of the repository, then run upgrade.sh to pull and restart the containers.

About

Contributions, small or large, are welcome! Be sure to read the development guidelines. If you have any questions or feedback, we would love to hear from you.

Synapse is developed at Smart Yellow and licensed under the AGPLv3.