https://github.com/cmason3/unifi
UniFi Network Controller as a Container
https://github.com/cmason3/unifi
containers podman raspberry-pi unifi unifi-controller
Last synced: 10 months ago
JSON representation
UniFi Network Controller as a Container
- Host: GitHub
- URL: https://github.com/cmason3/unifi
- Owner: cmason3
- Created: 2023-11-24T18:31:53.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-01T17:53:28.000Z (11 months ago)
- Last Synced: 2025-03-01T18:33:00.881Z (11 months ago)
- Topics: containers, podman, raspberry-pi, unifi, unifi-controller
- Language: Dockerfile
- Homepage:
- Size: 31.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
UniFi Network Controller
Raspberry Pi 5 and Podman
Latest Tested Version: 9.0.114
```
sudo groupadd -g 99 -r unifi
sudo useradd -u 99 -g 99 -r -l unifi
```
```
sudo mkdir -p /var/lib/unifi
sudo chown -R unifi:unifi /var/lib/unifi
sudo mkdir -p /var/log/unifi
sudo chown -R unifi:unifi /var/log/unifi
```
```
sudo podman system prune -a -f
sudo podman build --no-cache --pull -t unifi:latest --format docker \
-f https://raw.githubusercontent.com/cmason3/unifi/main/Dockerfile
sudo podman create --name unifi --tz=local --network host \
-v /var/lib/unifi:/var/lib/unifi:Z \
-v /var/log/unifi:/var/log/unifi:Z \
unifi:latest
sudo podman generate systemd -n --restart-policy=always unifi \
| sudo tee /etc/systemd/system/unifi.service 1>/dev/null
sudo systemctl daemon-reload
sudo systemctl enable --now unifi
```
If you want to use a Let's Encrypt TLS Certificate for your UniFi Network Controller then you can use the following commands to import the certificate into UniFi, although you will need to remember to renew it every 90 days (you can put this into a script and call it from the certbot cronjob using "--deploy-hook /etc/certbot-renew.sh"):
```
sudo openssl pkcs12 -export -in "/etc/letsencrypt/live/${DOMAIN}/fullchain.pem" -inkey "/etc/letsencrypt/live/${DOMAIN}/privkey.pem" \
-out "/var/lib/unifi/pkcs12.tmp" -passout pass:"aircontrolenterprise" -name "unifi"
sudo chown unifi:unifi /var/lib/unifi/pkcs12.tmp
sudo cp /var/lib/unifi/keystore /var/lib/unifi/keystore.bak
sudo podman exec -it unifi keytool -delete -alias "unifi" -keystore "/var/lib/unifi/keystore" -deststorepass "aircontrolenterprise"
sudo podman exec -it unifi keytool -importkeystore -srckeystore "/var/lib/unifi/pkcs12.tmp" -srcstoretype PKCS12 -srcstorepass "aircontrolenterprise" \
-destkeystore "/var/lib/unifi/keystore" -deststorepass "aircontrolenterprise" -destkeypass "aircontrolenterprise" -alias "unifi" -trustcacerts
sudo systemctl restart unifi
```