Vincent Batts
4090a65622
but the unifi deb still has to be manually dpkg -i after first run Signed-off-by: Vincent Batts <vbatts@hashbangbash.com> |
||
---|---|---|
mkosi.cache | ||
LICENSE | ||
Makefile | ||
mkosi.build | ||
mkosi.default | ||
mkosi.nspawn | ||
README.md |
ubnt-box
This is an image/container build for ubiquity UniFi controller
build
This uses mkosi which is packaged for some distros, or easy-enough to install from source.
git clone git://github.com/vbatts/ubnt-box
cd ./ubnt-box
sudo mkosi
Usage
systemd-nspawn -bni $(pwd)/image.raw -M ubnt-box
This boots the container up, but gives you a login prompt with no root passwd set.
The container is on private network with a veth to the host.
This expects systemd-networkd.service
on the host to be configured and running.
Also, this may conflict with the firewalld.service
, so disable that or tamper at your own will.
To get a shell inside this container, do:
machinectl shell ubnt-box
Connected to machine ubnt-box. Press ^] three times within 1s to exit session.
sh-4.4# curl ifconfig.co/json
{"ip":"91.223.82.156","ip_decimal":1541362332,"country":"Netherlands","city":"Unknown","hostname":"hosted-by.iws.co"}sh-4.4#
From here you can run passwd
if you'd like, to set a password for root.
Start on boot
The resulting image.raw
and image.nspawn
files can be installed and enabled like services on a host.
sudo mv ./image.raw /var/lib/machines/ubnt-box.raw
sudo mkdir -p /etc/systemd/nspawn
sudo mv ./image.nspawn /etc/systemd/nspawn/ubnt-box.raw.nspawn
sudo sudo systemctl start systemd-nspawn@ubnt-box.raw
sudo sudo systemctl status systemd-nspawn@ubnt-box.raw
Likewise you can enable it to start on-boot with:
sudo sudo systemctl enable systemd-nspawn@ubnt-box.raw
(this requires systemd-machined
so systemctl enable --now machines.target
on the host.)