Installera UniFi Controller i Docker

WiFi
Ett enkelt sätt att alltid ha din UniFi controller tillgänglig är att installera den i samma dator som du kör Home Assistant (med Ubuntu och Docker)!

Visningar:

584

Betyg:

5
(8)

Svårighetsgrad:

Enkelt

Tidsåtgång:

10-15min

För den här guiden behöver du

  • Minst en produkt ifrån Ubiquiti Networks
  • En dator med Ubuntu och Docker

Inledning

Ubiquiti Networks gör riktigt trevliga nätverksprodukter. Jag använder själv deras accesspunkt ”UniFi AP AC Lite”, med grym prestanda för småpengar.

Eftersom deras accesspunkter är gjorda för större installationer med flera enheter så behöver de en controller (ett datorprogram som hanterar alla inställningar) som väver samman alla enheter.
Att ha controllern installerad på ”arbetsdatorn” känns inte helt optimalt, inte minst med tanke på datorbyten och ominstallationer. Ett mycket smidigare alternativ är att installera den på en dator som alltid är igång.
Har du dessutom för avsikt att, precis som jag, använda UniFi för att detektera närvaro till Home Assistant så är du tvungen till att ha controllern igång 24/7.

Om du följt min guide Installera Hass.io på Intel NUC så har du förmodligen en dator som är igång just 24/7 – varför inte utnyttja den även som UniFi Controller?

Skapa användarkonto för controllern

Varför ska du ha ett särskilt användarkonto för controllern? Har du någon gång hört begreppet JEA? Det är en förkortning av Just Enough Admin vilket innebär att man aldrig ska ha högre behörighet än vad som krävs. Om du kör controllern i ubuntus rootkonto så kan en enkel mjukvarubugg ställa till oreda i hela datorn! Därför:

Logga in i Ubuntu och kör följande kommando (du kan byta ut ”unifiuser” emot vad du vill):

sudo adduser unifiuser

Du kommer nu få en bekräftelse, se till att memorera UID (user id) och GID (group id). I mitt exempel så är UID 1002 och GID 1003:

Adding new group `unifiuser' (1003) ...
Adding new user `unifiuser' (1002) with group `unifiuser' ...
Creating home directory `/home/unifiuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for unifiuser
Enter the new value, or press ENTER for the default
        Full Name []: UniFi Controller
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y

Ladda hem containern

Börja med att skapa en katalog där controllerdatabasen kommer att ligga:

sudo mkdir -p /var/unifiuser/unifi
sudo chown unifiuser:unifiuser /var/unifiuser/unifi

Jag använder en container skapad av Jacob Alberty, du laddar hem den genom kommandot:

sudo docker pull jacobalberty/unifi:stable

Installera och kör containern

Nu är det dags att skapa containern, och samtidigt konfigurera den. Observera att du måste ändra UID och GID, och uppdatera användarnamnet i sökvägen ifall du inte körde på samma som jag. Använd detta kommando:

sudo docker run -d \
    --restart=unless-stopped \
    --net=host \
    --name=unifi \
    -e TZ='Europe/Stockholm' \
    -e RUNAS_UID0=false \
    -e UNIFI_UID=1003 \
    -e UNIFI_GID=1002 \
    -v /var/unifiuser/unifi:/unifi \
    jacobalberty/unifi:stable

Containern startas nu och du kan strax komma åt din UniFi controller på
http://[IP-ADRESS]:8080 (byt ut [IP-ADRESS] emot IP-adressen för din ubuntudator)
Skulle strömmen försvinna eller om containern crashar så startas den automatiskt om, såvida den var igång innan.

Uppgradera UniFi controllern

Lite då och då kan det vara bra att uppgradera till en senare version, det gör du enkelt med dessa kommandon:

sudo docker pull jacobalberty/unifi:stable
sudo docker stop unifi
sudo docker rename unifi unifi.save
sudo docker run -d \
    --restart=unless-stopped \
    --net=host \
    --name=unifi \
    -e TZ='Europe/Stockholm' \
    -e RUNAS_UID0=false \
    -e UNIFI_UID=1003 \
    -e UNIFI_GID=1002 \
    -v /var/unifiuser/unifi:/unifi \
    jacobalberty/unifi:stable

Ifall allt fungerar och du inte behöver ha kvar den gamla versionen kör du detta kommando för att radera den:

sudo docker rm unifi.save

Hur bra var den här guiden?

Klicka på en stjärna för att betygsätta

Betyg 5 / 5. Antal röster 8

Bli först med att betygsätta denna guide!

Eftersom du tyckte den här guiden var bra...

Följ oss på sociala medier, så missar du inte nästa guide!

Jag beklagar att du inte var nöjd med guiden!

Hjälp mig att göra bättre guider i framtiden.

Vad saknades / vad var fel?

Lämna ett svar