Cómo mover un proyecto de Replit a tu propio servidor
Para mover un proyecto de Replit a tu propio servidor, descarga el código como zip o súbelo a GitHub, recoge tus Secrets y la base de datos por separado, conecta el código al panel Coolify de tu servidor y cambia tu dominio cuando hayas visto que funciona. El código es la parte fácil. La propia guía de Replit dice que la base de datos y la dirección web son lo que más tiempo lleva.
El proyecto antiguo sigue funcionando todo el tiempo. No apagues nada hasta que lo hayas probado todo en el servidor nuevo.
¿Qué viene con el código y qué no?
| Parte | Estado | Qué hacer |
|---|---|---|
| Código fuente | Viene incluido | Zip o GitHub |
.replit, replit.nix | Vienen incluidos, pero solo Replit los lee | Úsalos para conocer el comando de ejecución y los paquetes del sistema |
| Secrets | Se quedan atrás | Introduce los valores en el servidor a mano |
| Base de datos | Se queda atrás | Expórtala con pg_dump y cárgala en el servidor |
| Archivos de App Storage | Se quedan atrás | Descárgalos y cambia el código de almacenamiento |
| Replit Auth | Ligado a las cuentas de Replit | Cambia a otro método de inicio de sesión |
| Conectores | Se quedan atrás | Establece la clave de API de cada servicio como variable |
¿Cómo obtienes el código?
Mediante GitHub: En el Project Editor, abre Git desde Tools. Selecciona Initialize Git Repository si hace falta, conecta un repositorio y luego haz commit y push. Mantenlo privado. Recomendamos esta vía porque también lleva los cambios posteriores.
Como zip: En el menú de tres puntos de la parte superior del árbol de archivos, elige Download as zip. Si falla, crea tú mismo el zip en el Shell, dejando fuera la carpeta .cache, donde Replit guarda valores secretos en caché: zip -r project.zip . -x ".cache/*" "node_modules/*"
Paso a paso
- Pide un servidor en la página de VPS para Next.js. Esta opción incluye Coolify, así que los proyectos de Python y de Node simple se publican desde el mismo panel.
- Busca el comando de inicio en
.replity el puerto en tu código. La propia publicación de Replit también exige escuchar en0.0.0.0, así que esa parte suele estar hecha. Los valores de Flask que hemos probado son el puerto5000ypython -m flask run --host=0.0.0.0 --port=5000. - Un proyecto de Python necesita sus dependencias en
requirements.txtopyproject.toml. Para los paquetes del sistema listados enreplit.nix, usa la variable de compilaciónRAILPACK_DEPLOY_APT_PACKAGES, aunque los nombres de Nix y de APT no siempre coinciden. - Clona el repositorio y abre la carpeta en una herramienta de programación como Claude Code o Cursor. Copia la fila Pégalo en tu herramienta de IA de la pestaña Resumen de tu panel de Seturack y pégala. La herramienta se encarga de la publicación, o puedes hacerlo a mano.
- Introduce los valores de la herramienta Secrets de Replit como variables de entorno en el servidor, incluidos los secretos de publicación, que Replit guarda por separado.
- Copia la base de datos una vez para probar (mira abajo) y prueba la aplicación de principio a fin en su dirección HTTPS.
- Pon la aplicación antigua fuera de línea, copia la base de datos por última vez y apunta el registro A de tu dominio a la dirección IP del servidor. El certificado se emite automáticamente.
Tienes acceso root y, si lo prefieres, puedes gestionarlo todo desde el panel.
¿Cómo mueves la base de datos?
La base de datos de Replit es compatible con PostgreSQL, y las herramientas están listas en su Shell:
- Expórtala en el Shell de Replit:
pg_dump -Fc "$DATABASE_URL" --no-owner --no-privileges -f backup.dump - Ese comando exporta la base de datos de desarrollo, y los datos reales suelen estar en producción. En la herramienta Database, selecciona la base de datos de producción, copia la cadena de conexión desde Settings y úsala en lugar de
"$DATABASE_URL". - Descarga
backup.dump. Mantenlo fuera del repositorio, porque contiene todos tus datos. - Crea PostgreSQL en Coolify y sube el archivo con Import backup en la página Backups de la base de datos.
- Establece la dirección interna de la base de datos como
DATABASE_URLen la aplicación y publica de nuevo.
Lo que se escriba después de ejecutar pg_dump no está en la copia, por eso la copia final se hace después de detener la aplicación antigua.
Archivos e inicio de sesión
Los buckets de App Storage no se mueven, así que descarga los archivos desde la herramienta de almacenamiento de Replit. Si tu código usa el SDK de Replit, esa parte tiene que cambiar. La sustitución más sencilla es escribir los archivos en una carpeta del servidor y montarla con Persistent Storage en Coolify.
Replit Auth hace que tus usuarios inicien sesión con cuentas de Replit. Para dejar de depender de Replit, puede que necesites otro método de inicio de sesión. Tu herramienta de programación puede reescribir esa sección, pero haz antes una copia de tu tabla de usuarios y prueba en la dirección temporal.
Preguntas frecuentes
¿Qué tamaño necesita un proyecto de Replit?
La página de venta recomienda al menos 4 GB de RAM, 2 vCores y 40 GB de disco, según las compilaciones de Next.js: un proyecto con 85 paquetes falló con 2 GB y se compiló con 4 GB. Deja margen extra si la base de datos comparte el servidor y amplía desde tu panel si hace falta.
¿Cuánto costará al mes?
El tamaño mínimo recomendado cuesta unos $6 al mes (IVA incluido), y fuera de Turquía pagas en dólares estadounidenses. La copia de seguridad diaria está incluida en el precio y el tráfico es ilimitado. Tu uso y tu suscripción de Replit continúan hasta que los canceles.
¿Cómo saco mi dominio de Replit?
Quita el dominio en Publishing, Domains en Replit, apunta el registro A a la dirección IP del servidor, y luego añádelo con https en la página Domains de Coolify y publica de nuevo.
¿Puedo seguir desarrollando en Replit?
Sí. Activa la sincronización automática en el panel Git para que los cambios lleguen a GitHub. Con un webhook, el servidor vuelve a compilar en cada push. Sin él, pulsa Redeploy en Coolify. Recuerda que la vista previa de Replit y el servidor en producción usan bases de datos distintas.
¿Puedo dejar la base de datos en Replit?
Puedes intentarlo dándole al servidor su cadena de conexión, pero entonces tu aplicación y tus datos viven separados y tu factura de Replit continúa. Si de verdad estás moviendo la aplicación, es más limpio traer la base de datos al mismo servidor.
Comentarios0
Todavía no hay comentarios
Sea la primera persona en compartir su opinión.
Inicie sesión o regístrese para dejar un comentario.