# Instalarlo en tus servidores

> Instala Orkan en tu propia infraestructura con un paquete .deb o .rpm, o con la imagen Docker. Solo bajo contrato.

Orkan también se puede instalar en **tus propios servidores**. Es una opción B2B **bajo contrato**: los paquetes y la imagen se entregan al firmar, por lo que esta página no dice dónde descargarlos. Para pedirlo, escribe a [contact@gnevoo.es](mailto:contact@gnevoo.es). Si no necesitas controlar la infraestructura, la [nube dedicada](https://wiki.itsorkan.com/administrar/nube-dedicada/) es más sencilla.

> **Para quién es**
>
> Para quién es
> 
> Esta página es para quien administra servidores Linux. Si solo vas a usar Orkan, no la necesitas.

## Qué se instala

`orkan-server` es un único programa que sirve la interfaz web y la API, recibe los datos de otras apps (los «enlaces para recibir datos») y ejecuta las automatizaciones.

| Puerto | Para qué | Por defecto escucha en |
| --- | --- | --- |
| `8787` | Interfaz web y API | `127.0.0.1` |
| `8788` | Enlaces para recibir datos | `127.0.0.1` |
| `9090` | Operación: `/health/live`, `/health/ready` y métricas. **Sin autenticación**: no lo expongas | `127.0.0.1` |

## Con paquetes `.deb` o `.rpm`

Hay paquetes para **x86\_64 y arm64**.

```bash
sudo apt install ./orkan-server_<versión>_amd64.deb      # Debian y Ubuntu
sudo dnf install ./orkan-server-<versión>-1.x86_64.rpm   # Fedora, RHEL y derivados
```

La instalación crea el usuario de sistema `orkan`, deja la configuración en `/etc/orkan/` y los datos en `/var/lib/orkan/`, e instala una unidad **systemd endurecida** que se **habilita pero no se arranca**.

Antes del primer arranque:

```bash
sudoedit /etc/orkan/orkan.toml    # revisa listen, public_url y data_dir
sudoedit /etc/orkan/orkan.env     # secretos y valores por entorno, si los necesitas
sudo -u orkan /usr/bin/orkan-server --config /etc/orkan/orkan.toml config check
sudo systemctl start orkan-server
sudo journalctl -u orkan-server -f
```

`config check` valida la configuración antes de arrancar nada.

### Ponerlo en internet

El servicio escucha solo en `127.0.0.1`. Para exponerlo, pon delante un **proxy inverso con TLS** y ajusta en `orkan.toml`:

-   `public_url`: la dirección pública, con `https://`.
-   `trusted_proxies`: las redes de tu proxy, para que Orkan lea bien la IP real de cada visita.

Si escucha fuera de loopback sin TLS, **el servidor no arranca**.

## Con Docker

La imagen es `linux/amd64` y `linux/arm64`, no lleva shell y se ejecuta con el usuario `65532`.

-   Puertos: `8787` (web y API) y `9090` (operación); los enlaces para recibir datos en `8788`.
-   Datos: monta un volumen en `/var/lib/orkan`.
-   Comprobaciones de salud (sin `curl` dentro): `/health/live` y `/health/ready` en el puerto `9090`.
-   El sistema de ficheros puede ser de solo lectura: solo escribe el volumen.

## Base de datos

Por defecto usa **SQLite** dentro de `/var/lib/orkan`. Para **Postgres**, configura `ORKAN__DATABASE__KIND=postgres` y `ORKAN__DATABASE__URL` (la URL lleva la contraseña: guárdala como secreto, nunca en la imagen).

## Primer propietario

La primera vez que abres la dirección, Orkan te enseña «Prepara tu Orkan». Para crear la cuenta principal necesitas la **clave de instalación**:

1.  Se imprime **una sola vez** en el registro del servidor al arrancar por primera vez (`journalctl -u orkan-server`).
2.  **Caduca a los 15 minutos.** Para emitir otra: `sudo -u orkan /usr/bin/orkan-server --config /etc/orkan/orkan.toml setup-token`.
3.  Escribe el nombre de tu Orkan, el de tu organización, tu nombre, tu correo, una contraseña de al menos 12 caracteres y la clave de instalación. Pulsa **Crear cuenta**.

Tu cuenta queda como **propietaria**. El resto lo explica [personas y roles](https://wiki.itsorkan.com/usar/personas-y-roles/).

## Copias de seguridad

Con SQLite, el propio programa crea y comprueba copias, incluso con el servidor en marcha:

```bash
sudo -u orkan /usr/bin/orkan-server --config /etc/orkan/orkan.toml backup create --out copia.tar.zst
sudo -u orkan /usr/bin/orkan-server --config /etc/orkan/orkan.toml backup verify copia.tar.zst
```

Con Postgres, la copia es un `pg_dump` tuyo; `backup` no funciona.

> **Guarda las claves de cifrado aparte**
>
> Guarda las claves de cifrado aparte
> 
> La copia **no incluye** las claves de cifrado (en `/var/lib/orkan/keys`). Sin ellas **no podrás descifrar las cuentas conectadas** al restaurar. Guárdalas **por separado** y con el mismo cuidado que la base de datos. Además, la copia **no está cifrada**: guárdala en un sitio protegido.

Restaurar (`backup restore`) exige parar antes el servidor. Mira también [actualizaciones](https://wiki.itsorkan.com/administrar/actualizaciones/).

## Licencia

Tu Orkan necesita una licencia que fija cuántas personas y ordenadores admite. Mira [licencia](https://wiki.itsorkan.com/administrar/licencia/).

## Qué todavía no hay

-   **Actualizador automático:** las actualizaciones se instalan a mano. Mira [actualizaciones](https://wiki.itsorkan.com/administrar/actualizaciones/).
-   **Windows:** existe un instalador MSI, pero no se ha probado instalado y no lo recomendamos todavía.
-   **Cliente OAuth de Google, Microsoft y Salesforce:** hay que configurarlo en el propio Orkan para poder conectar esas cuentas. Mira [cuentas conectadas](https://wiki.itsorkan.com/usar/cuentas-conectadas/#google-microsoft-y-salesforce).
