From f89ab61790aad3a4fd6ac31754e3cfc172b578a4 Mon Sep 17 00:00:00 2001 From: Rafa Date: Sun, 28 Jun 2026 15:05:53 -0400 Subject: [PATCH] =?UTF-8?q?Wiki=20inicial:=20Home,=20Setup=20inicial,=20A?= =?UTF-8?q?=C3=B1adir=20un=20servicio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Añadir-un-servicio.md | 24 ++++++++++++++++++++ Home.md | 41 ++++++++++++++++++++++++++++++++- Setup-inicial.md | 53 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 Añadir-un-servicio.md create mode 100644 Setup-inicial.md diff --git a/Añadir-un-servicio.md b/Añadir-un-servicio.md new file mode 100644 index 0000000..342f076 --- /dev/null +++ b/Añadir-un-servicio.md @@ -0,0 +1,24 @@ +# Cómo añadir un nuevo servicio + +## Pasos + +1. **Coolify** → New Resource → Service → elegir plantilla +2. En Settings del servicio, poner el dominio como `https://subdominio.com:PUERTO` + - El puerto es el interno del contenedor, no el público + - Usar siempre `https://` para que Traefik genere SSL automático +3. Save → Deploy +4. **DNS:** añadir registro A `subdominio` → `188.40.120.157` + - En Cloudflare: nube **gris** (DNS only), no naranja + - Traefik obtiene el certificado Let's Encrypt automáticamente + +## Red importante + +- Todos los contenedores gestionados por Coolify están en redes Docker aisladas +- Traefik (`coolify-proxy`) se conecta automáticamente a esas redes +- No exponer puertos directamente al exterior salvo SSH (22), HTTP (80), HTTPS (443) + +## Troubleshooting + +- **"no available server"** en HTTPS → el dominio en Coolify está en `http://` en vez de `https://` +- **SSL no renueva** → comprobar que el DNS está en nube gris (sin proxy Cloudflare) +- **Login loop en la app** → mismo problema, `http://` vs `https://` en la config de la app diff --git a/Home.md b/Home.md index 5d08b7b..fc694c5 100644 --- a/Home.md +++ b/Home.md @@ -1 +1,40 @@ -Welcome to the Wiki. \ No newline at end of file +# Wiki — Servidor Hetzner + +## Infraestructura + +| Componente | Detalle | +|---|---| +| **IP pública** | 188.40.120.157 | +| **Hardware** | Intel i7-7700, 64 GB DDR4, 2× NVMe 512 GB RAID1 | +| **OS** | Ubuntu 24.04.4 LTS | +| **Datacenter** | FSN1 (Falkenstein, Alemania) | +| **Precio** | €59.14/mes | +| **Panel** | Coolify 4.1.2 → http://188.40.120.157:8000 | +| **Proxy** | Traefik (gestionado por Coolify, SSL automático) | + +## Acceso SSH + +```bash +ssh rafa@188.40.120.157 +``` + +## Servicios activos + +| Servicio | Dominio | Estado | +|---|---|---| +| Gitea | gitea.feadulta.com | activo | + +## Servicios planificados + +| Servicio | Dominio | +|---|---| +| WordPress feadulta | feadulta.com | +| WordPress YT Summaries | — | +| Relaticle CRM | crm.aqtalent.com | +| Web aqtalent | aqtalent.com | +| Web personal | rafacalvo.nyc | + +## Páginas de esta wiki + +- [[Setup-inicial]] — instalación del servidor (2026-06-28) +- [[Añadir-un-servicio]] — guía para desplegar en Coolify diff --git a/Setup-inicial.md b/Setup-inicial.md new file mode 100644 index 0000000..81b598c --- /dev/null +++ b/Setup-inicial.md @@ -0,0 +1,53 @@ +# Setup inicial del servidor (2026-06-28) + +## 1. Instalación del SO + +Servidor recibido en Rescue System de Hetzner. Instalado Ubuntu 24.04 vía `installimage`: + +``` +DRIVE1 /dev/nvme0n1 +DRIVE2 /dev/nvme1n1 +SWRAID 1 +SWRAIDLEVEL 1 +HOSTNAME srv1 +PART swap swap 8G +PART /boot ext3 1G +PART / ext4 all +IMAGE Ubuntu-2404-noble-amd64-base.tar.zst +``` + +## 2. Configuración base + +```bash +apt-get install curl git ufw fail2ban unattended-upgrades +``` + +- **UFW:** puertos 22, 80, 443 +- **fail2ban:** activo por defecto +- **Usuario:** `rafa` con sudo sin password, clave SSH `claude-code@feadulta` + +## 3. Docker CE + +Instalado desde repositorio oficial de Docker: +- Docker 29.6.1 +- Docker Compose v5.2.0 + +## 4. Coolify + +```bash +curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash +``` + +- Versión 4.1.2 +- Panel en http://188.40.120.157:8000 +- Instala Traefik como reverse proxy con SSL Let's Encrypt automático + +## 5. Gitea + +Desplegado desde Coolify → New Resource → Service → Gitea with PostgreSQL. + +- Dominio: `https://gitea.feadulta.com:3000` +- SSH clone: puerto 22222 +- Base de datos: PostgreSQL 16 + +**Nota:** al configurar el dominio en Coolify, usar siempre `https://` para que Traefik genere el router TLS correcto.