Fork of https://github.com/MaxwellDPS/synapstnix Goal is to make a config that is a drop in enable a few things to have community platforms on a provisioned device. The goal is to design this configuration to be able deployed in 1 of 2 ways. 1. instance on an existing capsul server 2. trash hardware that was acquired The following services are goals: matrix mastodon pixelfed forgejo flohmarkt nextcloud headscale/netbird/pangolin capsul immich peertube lemmy jitsi etherpad vikunja searx something event planning something for surveys something sso something wiki something email something dns analytics dashboard
Find a file
2026-03-27 01:09:04 -05:00
.github Initial commit: Matrix Synapse NixOS configuration 2025-12-11 19:09:59 -08:00
modules feat: unnested configs from matrix 2026-03-27 01:09:04 -05:00
.envrc feat: added devshell 2026-03-25 14:43:38 -05:00
.gitignore refactor: migrated to dendritic pattern 2026-03-26 18:58:54 -05:00
buildQemuVM.sh Ready for a test deployment. 2026-03-07 09:21:25 -06:00
flake.lock refactor: migrated to dendritic pattern 2026-03-26 18:58:54 -05:00
flake.nix refactor: migrated to dendritic pattern 2026-03-26 18:58:54 -05:00
LICENSE chore: updated license 2026-03-25 14:16:28 -05:00
README.md chore: added more entries to readme 2026-03-25 14:22:32 -05:00

Fork of: https://github.com/MaxwellDPS/synapstnix

Collettivita - Community Platforms NixOS Configuration

A NixOS flake configuration designed to enable community platforms on provisioned devices. This project aims to create a drop-in configuration that can be deployed in flexible ways to support community infrastructure.

Deployment Options

  1. Existing Capsul Server - Instance deployment on an existing capsul server
  2. Hardware Acquisition - Deploy on repurposed or donated hardware

Services

User-Facing Platforms

Service Description Status
Matrix + Element Decentralized messaging and web client Implemented
Mastodon Federated social network Planned
Pixelfed Image sharing platform Planned
Forgejo Self-hosted Git service Planned
Nextcloud File synchronization and sharing Planned
PeerTube Video platform Planned
Lemmy Community discussion aggregator Planned
Immich Photo management Planned
Jitsi Video conferencing Planned
Etherpad Real-time document editing Planned
Vikunja To-do list and project management Planned
Searx Metasearch engine Planned
Flohmarkt Marketplace Planned
Mobilizon Event planning and group management Planned
Jellyfin Media streaming Planned
WriteFreely Federated blogging platform Planned
Funkwhale Federated music/podcast sharing Planned
Castopod Podcast hosting with ActivityPub Planned
Listmonk Newsletter and mailing lists Planned
Vaultwarden Password management Planned
LibreTranslate Self-hosted translation Planned
Uptime Kuma Public status page Planned
Plausible Privacy-friendly web analytics Planned
Paperless-ngx Document management and archival Planned
ntfy Self-hosted push notifications Planned
FreshRSS RSS feed reader Planned
Wallabag Read-it-later/bookmarking Planned
BTCPay Server Payment processing Planned
Woodpecker CI CI/CD for Forgejo Planned
Event Planning TBD TODO: find solution
Surveys TBD TODO: find solution
Wiki TBD TODO: find solution
Voting TBD TODO: find solution
Financial Management TBD TODO: find solution

Infrastructure Services

Service Description Status
Nginx Reverse proxy with rate limiting Implemented
PostgreSQL Database Implemented
Redis Caching and session storage Implemented
Authelia Single Sign-On / OIDC Implemented
Prometheus + Grafana Monitoring and dashboards Implemented
Fail2ban Brute force protection Implemented
Coturn TURN/STUN server for VoIP Implemented
Cloudflared Tunnel for NAT traversal (optional) Implemented
Headscale / Netbird / Pangolin VPN/Network solutions Planned
Capsul Lightweight container service Planned
MinIO S3-compatible object storage Planned
Loki Log aggregation (pairs with Grafana) Planned
i2p node anonymous censorship resistant network Planned
tor introducer anonymous censorship resistant network Planned
Email TBD TODO: find solution
DNS TBD TODO: find solution
Backup TBD TODO: find solution

Getting Started

  1. Prerequisites: Install NixOS and enable flakes on the target host
  2. Configuration: Clone this repository and customize the configuration for your deployment
  3. Deployment: Use nixos-rebuild switch with the appropriate flake output for your deployment scenario

Quick Start

# Clone the repository
git clone <repository-url>
cd collettivita

# Deploy to existing system
nixos-rebuild switch --flake .#

# Or, check configuration without applying
nixos-rebuild dry-run --flake .#

Configuration

Edit the configuration files to enable/disable services based on your needs and available resources.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).