Makiatto
Makiatto is a lightweight CDN that lets you deploy and distribute content across multiple servers with minimal infrastructure overhead. It creates a secure WireGuard mesh network between your machines and provides automatic content synchronisation, GeoDNS routing, and coordinate-based geographic distribution through simple CLI commands.
Features
- One-command deployment: Initialise nodes with a single CLI command
- GeoDNS with coordinate-based routing: Automatically direct users to their nearest server
- No single point of failure: Decentralised architecture with no control plane
- Automatic SSL certificates: Built-in Let's Encrypt integration
- Simple content management: Easy file uploads and website deployments
Who is this for?
- Developers who want their own CDN infrastructure instead of using commercial providers
- Privacy-conscious users who prefer self-hosted solutions
- Small teams serving static sites that need global performance without vendor lock-in
- Hobbyists who enjoy building their own infrastructure
Quick Start
-
Install the CLI
-
Create your CDN nodes
Set up nodes in different geographic regions. Each node will automatically join the mesh network and sync content. We recommend using at least 3 nodes as you'll need a minimum of 3 nameservers for proper DNS redundancy.
-
Configure your project
Create a
makiatto.tomlfile in your project to define your domain and content paths.[[]] = "zuccherocat.cafe" = "./dist" -
Deploy your content
Sync your static files and domain config to all nodes in the mesh.
-
Configure your domain nameservers
Set up your domain to use Makiatto's custom nameservers for GeoDNS routing. Follow the guide to add glue records and configure your domain registrar.
Your content should now be distributed globally with automatic geolocation DNS routing! For more detailed instructions, see the documentation.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.