Welcome to the Mesh repository! This project aims to create a local-first mesh network for public communication. With this setup, you can connect devices without relying on the internet. It empowers communities by enabling offline communication through peer-to-peer connections.
In today's world, internet connectivity is often taken for granted. However, many regions face connectivity issues or lack internet access altogether. The Mesh project addresses this challenge by creating a decentralized communication network that operates locally. This approach ensures that communities can stay connected, share information, and collaborate effectively.
- Local-First: Operates without internet access.
- Decentralized: No single point of failure.
- Peer-to-Peer: Direct communication between devices.
- Community-Focused: Designed for public infrastructure.
- Supports Raspberry Pi: Utilize affordable hardware for setup.
- Docker Support: Simplifies deployment and management.
- Offline Capabilities: Reliable communication even in remote areas.
This project utilizes a range of technologies to create a robust mesh network:
- Ansible: For configuration management and deployment.
- Docker: To containerize applications and ensure consistent environments.
- Raspberry Pi: Affordable hardware for building mesh nodes.
- WiFi: The primary medium for communication between devices.
To get started with the Mesh project, follow these steps:
-
Clone the Repository: Use the command below to clone the repository to your local machine.
git clone https://github.com/Shyamshukla26/mesh.git cd mesh
-
Download Releases: Visit the Releases section to download the latest release. Follow the instructions provided there to execute the files.
-
Set Up Your Environment: Ensure you have Docker and Ansible installed on your machine. You can follow the official documentation for installation instructions.
-
Configure Your Network: Use the provided Ansible playbooks to set up your mesh network. Adjust configurations as needed to fit your local environment.
Once you have set up your mesh network, you can start using it for various applications. Here are some ideas:
- Community Announcements: Share important news and updates with your local community.
- Collaborative Projects: Work together on projects without needing an internet connection.
- Emergency Communication: Maintain communication during outages or emergencies.
To start a node in your mesh network, use the following command:
docker run -d --network=host your-mesh-image
Make sure to replace your-mesh-image
with the actual image name.
We welcome contributions to the Mesh project! If you'd like to contribute, please follow these steps:
- Fork the Repository: Click the "Fork" button at the top right of the page.
- Create a Branch: Use the command below to create a new branch for your feature or fix.
git checkout -b feature/your-feature-name
- Make Changes: Implement your changes and commit them.
git commit -m "Add your message here"
- Push to Your Fork: Push your changes to your forked repository.
git push origin feature/your-feature-name
- Create a Pull Request: Go to the original repository and click on "New Pull Request."
This project is licensed under the MIT License. See the LICENSE file for more details.
For any questions or feedback, please reach out:
- Email: your.email@example.com
- GitHub: Shyamshukla26
We encourage you to explore the Releases section for the latest updates and improvements. Your contributions and feedback will help us build a better mesh network for everyone!