Skip to main content

Instalacion

Paso 1 - Actualizar el servidor

sudo apt update
sudo apt upgrade -y

Paso 2 - Instalar dependencias

sudo apt install -y curl wget gnupg unzip jq

Paso 3 - Crear un usuario para Headscale

No me gusta ejecutar servicios como root.

sudo useradd \
    --system \
    --create-home \
    --home-dir /var/lib/headscale \
    --shell /usr/sbin/nologin \
    headscale

Paso 4 - Crear directorios

sudo mkdir -p /etc/headscale
sudo mkdir -p /var/lib/headscale
sudo mkdir -p /var/run/headscale

sudo chown -R headscale:headscale /etc/headscale
sudo chown -R headscale:headscale /var/lib/headscale
sudo chown -R headscale:headscale /var/run/headscale

Paso 5 - Crear usuario en PostgreSQL

Entramos a PostgreSQL:

sudo -u postgres psql

Creamos el usuario:

CREATE USER headscale WITH PASSWORD 'ElegiUnaPasswordSegura';

Paso 6 - Crear la base

CREATE DATABASE headscale
    OWNER headscale
    ENCODING 'UTF8'
    TEMPLATE template0;

Paso 7 - Conectarse

\c headscale

Paso 8 - Probar el acceso

Desde el servidor:

psql \
    -h 127.0.0.1 \
    -p 7543 \
    -U headscale \
    -d headscale

Debería pedir la contraseña y entrar sin problemas.

Paso 9 - Descargar Headscale

Primero creemos un directorio temporal.

mkdir -p ~/downloads
cd ~/downloads

Descargar la última versión

En lugar de usar apt, descargaremos el binario oficial desde GitHub.

Primero obtenemos la última versión:

curl -s https://api.github.com/repos/juanfont/headscale/releases/latest | jq -r .tag_name


Debería devolver algo similar a:

v0.xx.x


Luego descargamos el binario correspondiente a Linux AMD64.

Por ejemplo (reemplazando la versión):

wget https://github.com/juanfont/headscale/releases/download/v0.xx.x/headscale_0.xx.x_linux_amd64

Verificar el binario

chmod +x headscale_*
./headscale_* version

Deberías ver algo como:

Headscale v0.xx.x

Paso 9 - Instalar HeadScale

sudo mv headscale_* /usr/local/bin/headscale
sudo chmod 755 /usr/local/bin/headscale

Comprobar:

headscale version