Deja de administrar Docker manualmente: utiliza Dokploy
Un servidor asequible puede hacer una copia de seguridad automática de las fotos de su teléfono, reemplazar Google Drive, alojar sus sitios web, ejecutar su propia VPN y alimentar cientos de otras aplicaciones autoalojadas, todo mientras mantiene sus datos privados y reduce las suscripciones mensuales. Se trata de Dokploy, un panel de control gratuito que le permite iniciar y administrar todas sus aplicaciones autoalojadas desde un solo lugar con casi 400 plantillas preconfiguradas que puede implementar en un solo clic. En este, comenzaremos con un VPS nuevo, lo protegeremos, instalaremos Dokploy y lo conectaremos a un dominio personalizado con HTTPS.
luego, implementaremos el software de tres maneras diferentes: una plantilla incorporada, un repositorio público de GitHub y un archivo Docker Compose. Al final, tendrá el control total de su servidor, lo que le dará la libertad de reemplazar las suscripciones de pago, probar nuevas aplicaciones y mantener sus datos en privado. entonces, vamos a empezar. Ahora, para este tutorial, puedes usar cualquier servidor de Ubuntu, pero voy a usar Contabo porque ofrecen algunos de los mejores recursos de servidor por el precio, lo que los convierte en un buen ajuste para un proyecto de autoalojamiento como este.

El VPS Que Estoy Usando Aqu
Contabo también está patrocinando este y proporcionó el VPS que estoy usando aquí. Si quieres comprobarlos, esta es la misma página en la que aterrizarás a través de mi enlace en la descripción. Ese enlace es un enlace de afiliado, lo que significa que puedo ganar una comisión si te registras a través de él sin costo adicional para ti. Como puede ver, este servidor privado virtual tiene seis núcleos de CPU, 12 GB de RAM y 200 GB de espacio en disco por solo 6 <0xE2><0x82><0xAC> al mes.
estoy realmente ubicado en los Estados Unidos, así que permítanme cambiar esto a USD. $7.20 al mes., como dije, una muy buena relación calidad-precio. puedes elegir cualquiera de estos lugares alrededor del mundo. en realidad voy a seguir con la Unión Europea porque eso está incluido en el costo del servidor.

En Lo Que Respecta Al Almacenamiento Puede
Y en lo que respecta al almacenamiento, puede duplicar la cantidad de espacio en disco por solo unos pocos dólares más por mes. en realidad voy a hacer eso por mi servidor hoy. De forma predeterminada, se selecciona la imagen de un solo clic del servidor Dokploy. Y esta es una buena opción para aquellos de ustedes que quieren configurarse con Dokploy rápidamente.
está preinstalado en su servidor, pero para el tutorial de hoy, en realidad vamos a usar una configuración de Ubuntu 24.04. Y la razón es porque creo que es muy importante entender cómo funciona todo detrás de escena., como dije, vamos a instalar a Docker. vamos a instalar Dokploy y repasar algunas tareas de administración del sistema. bien, pasando por aquí.
Usted tiene la opción de algunas copias de seguridad automáticas. vamos a ir hasta la parte inferior y darnos una contraseña para nuestro servidor y luego hacer clic en el siguiente. sigue adelante y llena esta información y luego reúnete conmigo en tu panel de clientes donde verás la dirección IP de tu servidor privado virtual. Lo que queremos hacer es copiar eso y luego si estás en Mac o Linux, abrir una ventana de terminal y si estás en Windows, abrir un símbolo de comando.
Lo Que Vamos a Hacer Es Iniciar
Lo que vamos a hacer es iniciar sesión en el servidor a través de SSH., se verá algo como esto. SSH root, que es el usuario predeterminado en la dirección IP. la primera vez verás un mensaje como este. seguro que quieres seguir conectándote?
y luego sigue adelante y escribe la contraseña que acabas de crear para tu servidor. Y ahora estamos conectados al servidor privado virtual. Ahora, podría ser tentador querer sumergirse directamente en las cosas y comenzar a instalar Dokploy, pero hay algunas cosas que queremos cuidar como no queremos utilizar al usuario root. hay probablemente algunas actualizaciones que tenemos que instalar y queremos habilitar algunas características de seguridad.

Empecemos Con Eso
empezar, empecemos con eso. ahora, si eres nuevo en todo este asunto del servidor privado virtual, Contabo tiene las mejores prácticas para proteger tu artículo de ayuda de VPS, definitivamente recomiendo comprobarlo. Además de eso, tengo un guión que se encarga de muchas de las cosas que acabo de mencionar y más. y eso es lo que vamos a usar en este.
El guión está en mi GitHub, así que no dude en comprobarlo. está aquí mismo en setup-docker.sh. Y aquí hay un rápido vistazo de lo que parece detrás de escena. Lo que queremos hacer es conseguir este script en nuestro servidor.
Y la forma en que podemos hacerlo es con este comando aquí. Ahora, esta es una publicación de blog escrita que acompaña a este donde tengo todos los comandos que vamos a ejecutar., en lugar de escribir esto, puedes venir aquí, copia esto en tu portapapeles. luego, de vuelta en su terminal, seguiremos adelante y lo pegaremos. Y eso va a tirar de ese script en nuestro servidor y ejecutarlo.
Lo Primero Es Crear Un Nuevo Usuario
lo primero es crear un nuevo usuario. voy a elegir a Tony, darles una contraseña y confirmarla. y luego puedes seguir adelante y saltarte todas estas cosas aquí con solo presionar Enter. y luego dejaremos que este guión haga lo suyo.
bien, así que el guión acaba de terminar. El último paso fue la instalación de Docker. eso debería ser bueno para ir. requería un reinicio.

As Que Lo Hizo Autom Ticamente
así que lo hizo automáticamente. Y te da instrucciones aquí. queremos volver a conectar con nuestro nuevo usuario., vamos a copiar y pegar eso. y ahora estamos de vuelta.
ahora, solo para confirmar que Docker se instaló correctamente, sigamos adelante y ejecutemos el comando Docker Hello World aquí mismo, y la bandera –rm eliminará ese contenedor justo después de probarlo. Así que presiona Enter, y básicamente si ves este mensaje de Hello from Docker aquí, eso significa que Docker está instalado y listo para usar. Pasemos al siguiente paso, que es configurar el firewall. Ahora, el script que acabamos de ejecutar permite un firewall y solo permite que el puerto 22 esté abierto, que es el puerto SSH como puede ver aquí.
Eso nos permite iniciar sesión en el servidor a través de SSH, pero también necesitamos abrir algunos puertos más., de vuelta en mi publicación de blog, siga adelante y copie y pegue estos puertos adicionales que queremos habilitar. Como puede ver aquí, además del puerto 22, estamos permitiendo el tráfico entrante en el puerto 80 y 443, que son los puertos HTTP y HTTPS, respectivamente. Y vamos a necesitar estos abiertos más tarde para un par de aplicaciones de demostración que vamos a implementar con Dokploy. Específicamente, Kutt, que es un acortador de URL, e Immich, que es una aplicación de copia de seguridad de fotos autoalojada.
VPN WireGuard Que Vamos a Configurar M S
Y luego este otro, 51820, es para la VPN WireGuard que vamos a configurar más adelante. Estos están habilitados en los protocolos IPv4 e IPv6. Ahora, además del firewall que se ejecuta en nuestro servidor privado virtual real, queremos una capa adicional de seguridad de firewall y eso se hará a nivel de red. en su panel de control de clientes de Contabo, lo que queremos hacer es reducirse a la pestaña de servicios de red y firewall aquí y creemos un nuevo firewall.
solo lo nombraremos como un firewall Dokploy y luego crearemos. y luego, básicamente, lo que queremos hacer es configurar esas mismas reglas de firewall en el nivel de red., podemos venir aquí bajo reglas de entrada. vamos a añadir una nueva regla de firewall. Y haremos uno para el protocolo SSH TCP y el puerto 22.

Cualquier Lo Que Permitir a Que Cualquier
Para las fuentes, puede elegir cualquier, lo que permitiría que cualquier dispositivo de cualquier red se conecte a su servidor a través de SSH, pero eso no es una buena práctica de seguridad. quiero limitar eso solo a mi dirección IP aquí., para hacer eso, puede ir a un sitio web como ifconfig.me. Esta es mi dirección IP pública. entonces, voy a tomar eso y pegarlo aquí.
así, de esa manera solo este dispositivo puede conectarse a mi servidor. entonces, añadiremos esa regla. el siguiente será HTTP. Y para este, queremos permitir que cualquier dispositivo se conecte a las aplicaciones alojadas detrás de ese puerto.
De manera similar, HTTPS, el mismo trato, cualquier fuente. también añadiremos uno para WireGuard. Y para este, el tipo de tráfico va a ser el protocolo personalizado UDP, puerto 51820. entonces las fuentes también serán cualquiera.
Uno Ltimo Que Necesitamos Para Dokploy Solo Para
y luego uno último que necesitamos para Dokploy solo para la configuración. esto va a ser temporal. también va a ser un puerto TCP personalizado 3000. y eso va a ser de nuestra dirección IP.
Una vez más, esto es, como dije, uno temporal. vamos a volver aquí y eliminarlo, pero solo lo necesitamos para la configuración de Dokploy., después de todo eso, su regla de firewall debería verse algo como esto. El último paso aquí es hacer clic en la pestaña VPS activo. Y lo que queremos hacer es asignar el firewall a nuestro servidor privado virtual., para el firewall Dokploy, aquí está nuestro servidor privado virtual.

En Este Punto Podemos Proceder Con
En este punto, podemos proceder con la instalación de Dokploy. Volvamos a nuestra ventana de terminal y ejecutaremos este comando para retirar el script de instalación de Dokploy de su sitio web oficial y luego ejecutarlo. escribe tu contraseña, y eso va a seguir adelante y hacer lo suyo. Como puede ver, Docker ya ha sido instalado.
Esto suele tomar como un minuto o dos. así que, te alcanzaré cuando eso termine. Bien, Dokploy está instalado y es accesible en esta URL. vamos a esa URL en una nueva pestaña aquí.
Como puede ver, esta es la página de configuración de Dokploy. Ahora, realmente no queremos configurar esto bajo la dirección IP. es mejor usar un dominio o un subdominio. para mí, estoy usando Cloudflare para el registro de mi nombre de dominio para jarlanta.com, que es lo que vamos a utilizar en este tutorial.
No Importa D Nde Haya Registrado Su Nombre
no importa dónde haya registrado su nombre de dominio. El proceso va a ser relativamente simple. busque la configuración de DNS para su nombre de dominio. Y lo que queremos hacer es añadir un registro A para un subdominio llamado dokploy.jarlanta.com.
En mi caso, va a apuntar a la dirección IP de mi servidor privado virtual. Y si está utilizando Cloudflare, desactive este proxy para activar por ahora. mientras ya estamos en la configuración de DNS, sigamos adelante y también creemos los subdominios para las aplicaciones de prueba que vamos a implementar más adelante. crearemos un subdominio para nuestro acortador de URL en go.yourdomainname.com, uno para nuestro panel de control VPN en vpn.yourdomainname.com y otro para nuestra biblioteca de fotos en photos.yourdomainname.com., en este punto, su registro DNS debería verse algo como esto.

Minutos Para Que Los Cambios Surtan Efecto
Y puede tomar unos minutos para que los cambios surtan efecto. Pero una vez que lo haga, podemos dejar de usar la dirección IP de Dokploy y pasar a nuestro subdominio. asegúrate de incluir ese colon 3000 solo para la configuración. Y la misma página se carga aquí.
vamos a seguir adelante y configurar el servidor. y haremos clic en Registrar. este es tu tablero de control de Dokploy. Ahora, vamos a entrar en algunas cosas aquí, pero lo primero que queremos hacer es habilitar HTTPS ya que todavía no estamos seguros en este punto., en Configuración, vaya a Servidor Web y luego escriba su nombre de dominio Dokploy y su dirección de correo electrónico.
Alterne HTTPS y para el proveedor de certificados, elija Encriptar y guarde. Ahora, es posible que tenga que esperar unos minutos para que se emita el certificado SSL, pero debería poder ir a https://yourdomainname.com sin el puerto. veamos si eso funciona para nosotros. vemos nuestro HTTPS aquí.
Eso Significa Que Podemos Dejar De Usar Este
Eso significa que podemos dejar de usar este puerto temporal. hay dos cosas que tenemos que hacer. hay una de vuelta en la ventana de su terminal. queremos ejecutar este comando que elimina el puerto 3000 publicado de nuestro contenedor Docker.
también queremos volver a nuestro firewall de Contabo y eliminar la regla para el puerto 3000, que es esta aquí. así que simplemente haremos clic en eliminar y confirmar eso. En este punto, nuestra instalación de Dokploy está completa. En este punto, el resto del tutorial te mostrará cómo implementar esas tres aplicaciones de prueba.

Y Hacer Eso
y vamos a hacer cada uno de una manera diferente., vamos a seguir adelante y hacer eso. lo primero que voy a hacer es crear un proyecto. Y lo llamaremos algo simple como aplicaciones auto-alojadas. Y ahora que estamos en nuestro proyecto de aplicaciones auto-alojadas, podemos crear nuestra primera aplicación.
se llama Crear servicio. En este caso, nos reduciremos a una plantilla. Y como puede ver aquí, hay un montón de plantillas preconfiguradas que puede instalar literalmente con un solo clic en su servidor. o sé que AdGuard es muy popular.
tienen n8n en esto. hay Ghost y WordPress, Nextcloud, y hay un montón más., pero para esta primera aplicación, vamos a instalar Kutt, que es un acortador de URL. por lo tanto, busque eso y haga clic en Crear. ahora vemos a Kutt aquí, así que haz clic en eso.
Aqu Abajo Que Est Preconfigurado Para Ti
básicamente, con una plantilla, obtienes un archivo de composición aquí abajo que está preconfigurado para ti. hay un par de cambios que queremos hacer aquí., en la pestaña Entorno, estas son todas las variables que lee el archivo Docker Compose., por ejemplo, su dominio predeterminado se define aquí en su archivo de entorno. Entonces, en lugar del dominio predeterminado, queremos reemplazarlo con nuestro subdominio go.yourdomainname.com. Y luego, para el proxy de confianza, queremos hacer eso verdadero en lugar de falso.
Y eso solo permite un mejor seguimiento con nuestro acortador de URL, que te mostraré en un segundo., guardemos esos cambios. y luego, bajo Dominios, queremos hacer algo similar. Así que vamos a editar eso y reemplazar el host con nuestro subdominio. Y luego, aquí en la parte inferior, queremos habilitar HTTPS y elegir Let’s Encrypt como nuestro proveedor de certificados y hacer clic en Actualizar.

Asegurarse De Que Todo Se Vea Bien
Si lo desea, puede validar el DNS para asegurarse de que todo se vea bien. eso se ve bien para nosotros. Y finalmente, en la pestaña General, implementemos esta aplicación y haga clic en Confirmar. Está bien, eso se ve bien.
En este punto, podemos abrir una nueva pestaña y ir a nuestro dominio. vamos a hacer una cuenta para esto. y aquí está tu panel de administración de Kutt. solo para darte una idea de cómo funciona esto, básicamente queremos pasar de un nombre de dominio corto con un nombre de dominio corto a un nombre de dominio largo., por ejemplo, cada vez que alguien vaya a go.jarlanta.com/dokploy, serán redirigidos a esta URL aquí., vamos a probar eso.
vamos a crear ese enlace corto, copiar esto, y luego en una nueva pestaña, vamos a pegar eso. Y esa redirección funciona muy bien. Para nuestra próxima aplicación, vamos a implementar una VPN autoalojada. Para esto, vamos a usar WG-Easy, que si no has oído hablar de eso, como se dice aquí, es la forma más fácil de ejecutar una VPN de WireGuard., de vuelta en nuestro tablero de Dokploy.
Al Igual Que Antes Queremos Venir Aqu Y
Al igual que antes, queremos venir aquí y hacer clic en Crear servicio. esta vez, elijamos Compose. Y nombraremos nuestra aplicación WG-Easy y luego haremos clic en Crear. entonces vamos a hacer clic en eso.
y aunque puede iniciar sesión en GitHub para implementar, lo que vamos a hacer es venir aquí a la pestaña Git y hacer referencia a una URL de repositorio directamente, que va a buscar un archivo Docker Compose de forma predeterminada. Por lo tanto, podríamos hacer referencia técnica a este archivo Docker Compose YAML aquí en el repositorio oficial de WG-Easy, pero a través de mis pruebas, me di cuenta de que no estaba funcionando de manera confiable para una configuración de Dokploy. Entonces, lo que hice fue crear una copia de este archivo en mi propio repositorio de GitHub aquí e hice solo un par de cambios para asegurarme de que funcionara bien en Dokploy. vamos a hacer referencia a este archivo YAML., para hacer eso, copiaremos la URL del repositorio aquí.

Rate De Que Dice HTTPS Y Lo
Asegúrate de que dice HTTPS, y lo copiaremos. vuelve a Dokploy y luego pega eso para la URL. El nombre de la sucursal es principal. y luego, finalmente, haga clic en Guardar.
ahora, al igual que lo hicimos antes, iremos a la pestaña Dominios aquí. esta vez, haremos clic en Agregar dominio. Y luego tendrá que hacer clic en este botón de actualización aquí para ver el repositorio, y eso le permitirá seleccionar WG-Easy en el menú desplegable. Para el anfitrión, vamos a utilizar vpn.yourdomainname.com.
Viniendo aquí, el puerto de contenedor para este es 51821. y si estás prestando atención, el otro puerto que estábamos usando era 51820. El puerto 51820 es para el tráfico VPN real. Este es solo para la interfaz web.
De Dominio Que Deber a Decir En Realidad
Y de nuevo, vamos a acceder a eso a través de la URL o un nombre de dominio que debería decir., en realidad no tenemos que exponer este puerto. Finalmente, al igual que antes, habilite HTTPS y elija Let’s Encrypt para el proveedor de certificados y, a continuación, haga clic en Crear. Para una buena medida, validemos el DNS. eso se ve bien.
De vuelta en la pestaña General, haremos clic en Implementar. Dale un minuto o dos y luego abre una nueva pestaña y ve a tu subdominio, vpn.yourdomainname.com y caminaremos a través de la configuración de WG-Easy., haz clic en Continuar. Crear un nombre de usuario y contraseña y luego haga clic en Crear cuenta. no tenemos una configuración existente.

Su Anfitri N Tambi N Ser Vpn
Su anfitrión también será vpn.yourdomainname.com y mantendrá el puerto 51820. Haga clic en continuar y luego iniciaremos sesión. lo primero que quiero hacer es crear un nuevo cliente. Cada dispositivo va a tener su propia configuración., voy a hacer un perfil para esta computadora en la que estoy, mi MacBook Pro, y crear eso.
ahora, vamos a descargar eso en mi computadora local. Si quieres hacerlo en tu teléfono, puedes enviarlo a tu teléfono. tengo la aplicación oficial de WireGuard en mi MacBook, que obtuve de la Mac App Store. voy a abrir eso e importar el túnel desde el archivo.
Y luego voy a elegir ese archivo de configuración y haré clic en Importar. Y luego permitiremos que WireGuard agregue configuraciones de VPN si está en una Mac como yo. Y antes de activar esto, quiero comprobar nuestra IP dirección antes y después de activarla. este tiempo usemos Cloudflare para verificar nuestra dirección IP porque tiene geolocalización.
Antes Tenemos La Misma Direcci N IP Y
Antes, tenemos la misma dirección IP, y ahí está mi ubicación en los Estados Unidos. ahora activemos ese perfil. Bien, el perfil está activo. vamos a actualizar esta página.
Y ahora vemos la dirección IP de mi VPS y mi ubicación ahora está en algún lugar de Alemania, lo que confirma que el tráfico de Internet de mi dispositivo se está enrutando a través de mi VPS. y luego podemos ver que eso sucede en tiempo real en nuestro panel de administración de WireGuard aquí donde podemos ver a nuestro cliente de MacBook Pro con el tráfico de carga y descarga. La última aplicación que vamos a implementar es una solución de gestión de fotos y auto-alojada llamada Immich. Como puedes ver aquí, es muy popular.

Personalmente He Estado Usando Esto Durante M
Personalmente he estado usando esto durante más de un año y puede reemplazar por completo, ya sabes, tus Google Fotos o tus fotos de iCloud., déjame mostrarte cómo puedes configurar esto. vamos aquí donde dice 326 etiquetas. podría ser diferente para ti. queremos elegir la última versión etiquetada.
En ese momento, es 3.03. Y luego, para navegar por el repositorio en esta ubicación, haremos clic aquí. Y al igual que antes, estábamos buscando el archivo Docker Compose YAML que, en este caso, está bajo el directorio Docker. lo que queremos hacer es abrir esto y copiarlo.
entonces, de vuelta en Dokploy, esta vez haremos Create Service. Lo mismo que antes: Componer. lo llamaremos Immich, elegiremos Docker Compose como tipo Compose y luego haremos clic en Crear. entonces vamos a abrir eso.
La Derecha Aqu Donde Dice Raw Y Luego
esta vez, vamos a ir hasta la derecha aquí donde dice Raw y luego lo pegaremos. entonces, ¿qué está pasando aquí? Básicamente, esto va a desplegar cuatro contenedores. uno para el servidor de Immich, uno para aprendizaje automático, uno para Redis y otro para una base de datos.
Como puede ver aquí, esto es hacer referencia a las variables de entorno., vamos a encargarnos de eso. luego, vaya a la pestaña Entorno y, a continuación, vuelva a GitHub, subamos un nivel y luego busquemos el archivo.env.example. de vuelta en Dokploy, haremos clic en el globo ocular y luego lo pegaremos. luego, sigue adelante y establece tu zona horaria y elige una contraseña segura para tu base de datos.

Bien Eso Se Ve Bien
bien, eso se ve bien. así que, lo salvaremos. Y en realidad, de vuelta bajo General, hay otra cosa que queríamos cambiar en el archivo Raw Compose. En realidad no tenemos que exponer el puerto 2283., vamos a deshacernos de eso.
y luego volveremos aquí y haremos clic en Guardar. Luego, una última vez, ven a la pestaña Dominios, agrega un dominio y haremos clic en el botón buscar como lo hicimos antes. Y esto se asociará con el servidor Immich, que es la interfaz de usuario web. Para el anfitrión, vamos a utilizar nuestro subdominio de fotos.
El puerto de contenedores es 2283 que acabamos de sacar. está bien porque eso va a ser manejado internamente. no necesitamos exponer eso al mundo exterior. y luego, al igual que antes, habilite HTTPS y obtenga un certificado Let’s Encrypt y haga clic en Crear.
Bien Valida Ese DNS
bien, valida ese DNS. eso se ve bien. vuelve a la pestaña General y haz clic en Implementar. Está bien, parece que nuestro despliegue está hecho.
abramos una nueva pestaña y vayamos a tu subdominio de fotos. y eso es genial. Bienvenido a Immich., vamos a pasar rápidamente por el asistente de configuración. Primero, crea una cuenta.

Entonces Nos Inscribiremos Y Nos Inscribiremos
entonces nos inscribiremos y nos inscribiremos. bien, moviéndose a lo largo. Para el tema, la oscuridad está bien. Idioma, privacidad del servidor, privacidad del usuario, almacenamiento plantilla, copias de seguridad.
no te olvides de la regla de copia de seguridad 3-2-1. asegúrate de tener tres copias de tus datos, dos copias locales y una copia fuera del sitio. Luego, por supuesto, tienen aplicaciones móviles para iOS y Android que le permiten hacer una copia de seguridad automática de las fotos de su teléfono., haz clic en Hecho. lo que voy a hacer aquí es arrastrar algunas imágenes desde mi escritorio.
A Hacer Aqu
Por supuesto, como dije, podrías conectarlo a tu teléfono o puedes agregar medios de otras fuentes como lo voy a hacer aquí. y eso solo va a tomar un minuto o dos para subir. y ahí lo tienes. Este es solo un ejemplo simple de una de mis aplicaciones favoritas de código abierto, pero lo guardaremos para un futuro.
Dokploy es solo una forma de convertir un VPS en su propia plataforma de implementación de aplicaciones. en el siguiente, te mostraré Coolify, otra opción popular que resuelve un problema similar, pero que tiene un enfoque diferente. te veo por allí.

Leave a Reply