___ __ ____ _____
/ | / /____ _ ____ _ ___ / __ \/ ___/
/ /| | / // __ `// __ `// _ \ / / / /\__ \
/ ___ | / // /_/ // /_/ // __// /_/ /___/ /
/_/ |_|/_/ \__, / \__,_/ \___/ \____//____/
/____/
AlgaeOS brings together modular services via Docker—designed for quick setup, scalability, and cross-platform development. This guide walks you through pulling the latest service code, initializing the stack, and tips to avoid common pitfalls. ASCII diagrams visualize the house-of-cards structure powered by your orchestration magic.
- Cross-Platform Initialization Scripts: Powershell (
init.ps1), Bash (init.sh), and Windows Batch (init.cmd) - Service-Oriented Docker Compose: MQTT via Mosquitto, dashboards, control systems, and simulation
- Seamless Git Integration: Pulls modular service repos on demand
+--------------------------------------------------+
| AlgaeOS |
+--------------------------------------------------+
| | | |
| | | |
v v v v
Mosquitto Control Dashboard Virtual PBR Sim
(MQTT) System (Frontend) (Simulator)
| | | |
+-----------+---------+-----------+
|
Docker Network (Bridge): algaeos
All services talk through a shared Docker bridge network.
DockerandGitinstalled and in your systemPATH.- One of: Bash (Linux/macOS), PowerShell (Windows), CMD (Windows)
chmod +x init.sh # important
./init.sh.\init.ps1init.cmd- Checks for Docker and Git. Fails early if missing.
- Clones the
dockerizebranch from the following repos - Clear error messaging on failures—no cryptic crashes.
- Next steps printed out to run:
docker compose up --build
Tip: Custom steps are always welcome—scripts are simple Bash/PowerShell so adapt as needed.
Once all repos are cloned, in your project root:
docker compose up --buildAll services are built and launched, ready to interact through the algaeos network.
- Mosquitto: MQTT broker.
- Config file at
./volumes/mosquitto/config/mosquitto.conf - Default configuration provided. (You can customize before startup.)
- Config file at
- Dashboard: Web frontend accessible at http://localhost:3000/
- Control System: Backend, connects to MQTT
- Virtual PBR Sim: Simulator, connects to MQTT
Each service is fully containerized but can be modified by editing pulled code under
services/.
- Edit
mosquitto.conffor broker settings before launch. - Add environment variables to
docker-compose.ymlto tweak service behavior. - Mount additional volumes for persistent data.
- Missing Docker/Git: Clear errors and exit—no partial setup.
- Failed Clone: Stops immediately, so you don't build with half-baked code.
- Port Conflicts: Make sure nothing else is using ports
1883,3000,8000, or5000before startup.
+--------------------+
| Something broke? |
+--------------------+
|
v
+---------------------+
| Docker & Git |
| installed? |
+---------------------+
|
+------+------+
| |
v v
Yes No
| |
| +-----+-----+
| | |
| v v
| +---------+ +------------+
| | Fix PATH| | Install |
| | | | tool(s) |
| +---------+ +------------+
| |
+------+------+
|
v
+-----------------------+
| Any errors during |
| cloning? |
+-----------------------+
|
+------+------+
| |
v v
Yes No
| |
| +-----+-----+
| | |
v v v
+------+ +-----------+ +---------------------+
|Check | | Clean | | Run |
|intern| | target dir| | `docker compose up |
|et | | | | --build` |
+------+ +-----------+ +---------------------+
|
+------+------+
| |
v v
Success? No
| |
| +-----+-----+
| | |
v v v
+-------+ +--------+ +---------+
| All | | Re-read| | Check |
| good! | | logs | | ports/ |
+-------+ | | | configs |
+--------+ +---------+
- Add Centralized log handler service for efficient monitoring and debugging.
- Clone fresh for each experiment—branches may be updated.
- Want new services? Add to
reposarray in init scripts and todocker-compose.yml. - Remember, customize
mosquitto.confin./volumes/mosquitto/config/as needed.
This project is licensed under the PolyForm Noncommercial License 1.0.0.
You may use, study, and modify the code for personal, educational, or noncommercial purposes.
Full license text: PolyForm Noncommercial License 1.0.0
AlgaeOS is free for individuals, students, and researchers.
Any use by companies, organizations, or profit-making entities requires a commercial license.
Commercial use of AlgaeOS is not permitted under the open license.
If you wish to use AlgaeOS in a commercial product, SaaS offering, or for any profit-generating activity,
you must obtain a separate commercial license.
👉 For commercial licensing inquiries, contact via the contact section on the website
or by email at koushik.ghosh.cse@hotmail.com
Run, break, fix, repeat. Each piece is swappable, debuggable, and primed for your next algae-powered insight.
END OF README