Self-hosted cloud platform for DIY projects, based on Docker containers.
-
Install Docker (guide).
-
Follow the "Linux post-installation steps for Docker Engine"
-
Grant Docker permissions to publish on port 443:
sudo setcap CAP_NET_BIND_SERVICE=+eip $(which docker) -
Create a file at
/etc/systemd/system/kiwi.servicewith the following content, making sure to replace<user>with your user name and<sha>with a valid Kiwi Docker image SHA[Unit] Description=Kiwi After=docker.service Requires=docker.service [Service] User=<user> Group=<user> TimeoutStartSec=0 Restart=always ExecStartPre=-/usr/bin/docker stop kiwi ExecStartPre=-/usr/bin/docker rm kiwi ExecStart=/usr/bin/docker run --rm --name kiwi \ --volume /home/<user>/.kiwi:/config \ --volume /var/run/docker.sock:/var/run/docker.sock \ --network host \ --add-host status.kiwi-local.com:127.0.0.1 \ --stop-timeout 15 \ ghcr.io/eraz1997/kiwi@sha256:<sha> ExecStop=/usr/bin/docker exec kiwi stop [Install] WantedBy=default.target -
Activate and run the service
sudo systemctl daemon-reload sudo systemctl enable kiwi.service sudo systemctl start kiwi.service -
Based on your operating system, make sure port 443 is reachable from the Internet at your public IP address.
-
Configure a domain and a wildcard
Arecord pointing to your public IP address. Kiwi won't work without a proper initial DNS setup. Do not worry about Dynamic DNS, it's part of the features Kiwi offers.
-
Replace the Docker image
<sha>with a newer value inside the/lib/systemd/user/kiwi.servicefile -
Reload and restart the service
sudo systemctl daemon-reload sudo systemctl restart kiwi.service
Refer to the user manual.
Refer to the development guidelines.