# Inicio rápido

> Levanta InfraWard en local con Docker Compose y da de alta tu primer servidor en unos diez minutos.

Esta página deja InfraWard funcionando en `http://localhost:8080` con la configuración por defecto: PostgreSQL, Redis y OpenBao corren en contenedores junto a InfraWard. Sirve para evaluar el producto. Para un servidor al que vayan a acceder otras personas, sigue [Instalar con Docker Compose](/es/docs/installation.md).

> **Antes de empezar**
>
> Necesitas Docker Engine con el plugin de Compose (`docker compose version` debe mostrar la v2 o posterior), `git`, `openssl`, unos 5 GB libres en disco y una app de autenticación en el móvil (Google Authenticator, Aegis, 1Password o similar). Los administradores tienen que configurar la verificación en dos pasos al entrar por primera vez.

1. Descarga los ficheros de despliegue.

   ```bash
   git clone --depth 1 https://github.com/InfraWard/infraward.git
   cd infraward/deploy/example
   cp .env.example .env
   ```

2. Edita `.env` y rellena los dos valores que no tienen valor por defecto.

   ```ini title=".env"
   ADMIN_PASSWORD=una-contraseña-de-12-caracteres-o-más
   POSTGRES_PASSWORD=otra-contraseña-larga-y-aleatoria
   ```

   `ADMIN_EMAIL` vale `admin@example.com` por defecto. Cámbialo si prefieres entrar con tu propia dirección.

3. Prepara los directorios de datos, las claves y OpenBao.

   ```bash
   ./init.sh
   ```

   El script tarda alrededor de medio minuto y termina con `OpenBao listo (...)` y `Siguiente paso: docker compose up -d`.

4. Arranca el stack.

   ```bash
   docker compose up -d
   ```

   El primer arranque descarga las imágenes y aplica las migraciones de la base de datos. Cuando `docker compose ps` muestre `api` como `healthy`, abre [http://localhost:8080](http://localhost:8080).

5. Entra con `ADMIN_EMAIL` y `ADMIN_PASSWORD`, escanea el código QR con la app de autenticación, escribe el código de 6 cifras y guarda en un sitio seguro los diez códigos de recuperación. La página de [configuración inicial](/es/docs/initial-setup.md) muestra cada pantalla.

6. Da de alta un servidor. En esta prueba local, da de alta la propia máquina Linux que ejecuta Docker: el comando de alta descarga el script desde `localhost` (mira el aviso de abajo). Ve a **Inventario → Añadir servidor**, escribe la IP de esa máquina en la red local (no `127.0.0.1`: la dirección tiene que llegar a su servidor SSH desde dentro de un contenedor) y pulsa **Generar comando de alta**. Ejecuta el comando que aparece en esa misma máquina:

   ```bash
   curl -fsSL --max-time 120 http://localhost:8080/api/enroll/<token> | sudo bash
   ```

   La página avanza sola por **Conectando** y **Escaneando**. Unos minutos después, el servidor, sus paquetes y sus vulnerabilidades aparecen en el inventario.

> **Solo en localhost**
>
> El comando de alta descarga el script de `INFRAWARD_PUBLIC_URL`, que por defecto es `http://localhost:8080`. Eso solo funciona si ejecutas el comando en la misma máquina que InfraWard. Para dar de alta otras máquinas, pon en `INFRAWARD_PUBLIC_URL` una dirección a la que lleguen y sirve InfraWard por HTTPS, como explica [HTTPS y proxy inverso](/es/docs/reverse-proxy.md). Sin HTTPS, los navegadores rechazan la cookie de sesión fuera de `localhost`.

## Limpiar

Para parar el stack y conservar los datos, ejecuta `docker compose down`. Para borrarlo todo, inventario, claves y datos de OpenBao incluidos:

```bash
docker compose down
sudo rm -rf data secrets
```

## Siguientes pasos

- [Requisitos](/es/docs/requirements.md) de un servidor de producción.
- [Añadir servidores](/es/docs/enrollment.md) explica los modos de acceso y qué cambia el script de alta en cada host.
- [Conceptos y arquitectura](/es/docs/architecture.md) describe los servicios que acabas de arrancar.

---

Página HTML: https://infraward.net/es/docs/quickstart/
