DIYWS is AWS/GCP on your own hardware.
DIYWS provides a remote-monitoring and management interface for Docker, so you can easily host software on your old laptop in the corner.
DIYWS is designed to be lightweight. It consumes ~150 MB of RAM and uses ~0.1% CPU (on a M4 Pro chip).
- Download
compose.yamlfrom the repository. - Add a
.envfile based on.env.template - Run
docker compose up
DIYWS supports multiple nodes, allowing you to manage several devices from a single interface.
Here's how it works:
- Each follower node controls Docker on its own machine.
- The leader node serves the web interface and acts as a follower node.
- The web interface is served on one port, while follower nodes communicate on another port.
- Follower nodes have the IP address of the leader node configured in their
.envfiles. - The leader node maintains a list of follower nodes and their IP addresses.
- The web interface allows users to select which node to manage.
- Follower API routes are under the
/api/followerpath. They are inaccessible on the main port for security reasons.
GitHub Actions are used for CI/CD. On each push to the main branch, a new Docker image is built and pushed to GHCR, provided the build succeeded and the linter passes.