Ir al contenido principal

Cómo agregar un dominio personalizado a tu proyecto en Coolify

Esta guía explica cómo conectar un subdominio propio (ej: app.tudominio.cl) a tu aplicación desplegada en Coolify, reemplazando el acceso por IP y puerto.

Escrito por Diego Rodriguez

Requisitos previos


Paso 1 — Apuntar el subdominio al VPS en cPanel

  1. Ingresa a tu cPanel

  2. Ve a Zone Editor o Editor de Zonas DNS

  3. Busca tu dominio principal o sub-dominio

  4. Agrega un registro tipo A:

    • Nombre: app (o el subdominio que quieras)

    • Valor: IP pública de tu VPS (ej: 216.005.00.07)

    • TTL: 3600

  5. Guarda los cambios

Los cambios DNS pueden tardar entre 5 y 30 minutos en propagarse.


Paso 2 — Cambiar el Dockerfile del frontend a nginx

vite preview no está diseñado para producción y bloquea dominios personalizados en algunos casos o proyectos, Debes reemplazarlo por nginx.

Reemplaza el contenido de frontend/Dockerfile:

# Build stage

FROM node:20-alpine AS build

WORKDIR /app

COPY package.json ./

RUN npm install

COPY . .

ARG VITE_API_URL

ENV VITE_API_URL=$VITE_API_URL

RUN npm run build

# Production stage — serve with nginx

FROM nginx:alpine

COPY --from=build /app/dist /usr/share/nginx/html

COPY nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

Paso 3 — Crear el archivo nginx.conf

Crea el archivo frontend/nginx.conf:

server {

listen 80;

server_name _;

root /usr/share/nginx/html;

index index.html;

location / {

try_files $uri $uri/ /index.html;

}

}

Paso 4 — Actualizar docker-compose.yml

Cambia el mapeo de puertos del frontend. nginx escucha en el puerto 80 internamente:

frontend:

image: ghcr.io/tu-usuario/tu-app-frontend:latest

restart: unless-stopped

ports:

- "4173:80"

depends_on:

- backend

Paso 5 — Subir los cambios a GitHub

git add frontend/Dockerfile frontend/nginx.conf docker-compose.yml
git commit -m "fix: serve frontend with nginx for custom domain support"
git push origin main

GitHub Actions construirá y publicará la nueva imagen automáticamente en GHCR.


Paso 6 — Actualizar variables de entorno en Coolify

Ve a tu proyecto en Coolify → Environment Variables y actualiza:

CORS_ORIGIN=https://app.tudominio.cl

Nota: VITE_API_URL es una variable de build-time. Si quieres que el frontend llame al backend por dominio en lugar de IP, necesitas un subdominio para el backend (ej: api.tudominio.cl), actualizar el workflow de GitHub Actions con ese valor y reconstruir la imagen.


Paso 7 — Configurar el dominio en Coolify

  1. Ve a tu proyecto → servicio → General

  2. En la sección Services, haz clic en Settings del servicio Frontend

  3. En el campo Domains agrega:

    https://app.tudominio.cl
  4. Haz clic en Save

Coolify usará Traefik para redirigir el tráfico del dominio al contenedor frontend automáticamente. Si usas https://, Coolify gestionará el certificado SSL con Let's Encrypt de forma automática.


Paso 8 — Actualizar tag en Coolify y hacer Deploy

  1. Ve a GitHub → tu repositorio → Packages → copia el nuevo SHA de la imagen frontend

  2. En Coolify → Edit Compose File → actualiza el tag:

    image: ghcr.io/tu-usuario/tu-app-frontend:NUEVO_SHA

  3. Guarda y haz clic en Deploy


Verificación

Abre en el navegador:

https://app.tudominio.cl

Deberías ver tu aplicación cargando correctamente con HTTPS y sin errores de host bloqueado.


¿Necesitas Ayuda adicional?

En V2Networks, estamos comprometidos con la estabilidad y seguridad de tu sitio web. Si necesitas asistencia adicional, no dudes en contactarnos a través de nuestro Centro de Soporte

¿Ha quedado contestada tu pregunta?