POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Despliega tu servidor de archivos de producción gratis en un VPS en pocos pasos

Despliega tu propio servidor de archivos de nivel producción en un VPS gratuito paso a paso

Publicado el 07/09/2025

Despliega tu propio servidor de archivos de nivel producción en un VPS gratuito paso a paso. Con esta guía aprenderás a poner en marcha un backend Spring Boot seguro detrás de nginx con TLS de Lets Encrypt, ejecutarlo como servicio con systemd o dentro de Docker, y comprobar todo con una colección de Postman, optimizando costes con un VPS de capa gratuita.

Qué lograrás al terminar: 1. Desplegar un boilerplate de servidor de archivos en Spring Boot con subidas, streaming, metadatos y borrado 2. Asegurarlo con nginx y certificados TLS automáticos 3. Ejecutarlo de forma nativa con systemd o en contenedor Docker 4. Probar el API con Postman

Para quién es esta guía: Desarrolladores que buscan un servidor de archivos autoalojado, ligero y listo para producción Personas que quieren experimentar con VPS gratuitos Usuarios con nociones básicas de Linux, SSH y Git

Requisitos previos: Plantilla Spring Boot file server y colección de Postman Una cuenta en un proveedor cloud con capa gratuita como Oracle Cloud, AWS o Google Cloud En tu equipo local: ssh, scp, java, mvn o gradle Dominio opcional recomendado para facilitar HTTPS Nota: los límites de los planes gratuitos varían; revisa uso y facturación en tu panel.

Arquitectura rápida que vamos a montar: Aplicación Spring Boot escuchando en el puerto 8000 Ejecución nativa con systemd o dentro de Docker nginx como reverse proxy con TLS de Lets Encrypt Almacenamiento en disco del servidor o en objeto tipo S3 si quieres más durabilidad

Paso 1 Preparar la aplicación en tu equipo: descarga la plantilla, ábrela en tu IDE y ajusta application.properties. Parámetros clave: spring.application.name springboot-file-upload-api; server.port 8000; spring.servlet.multipart.max-file-size 50MB; spring.servlet.multipart.max-request-size 50MB; upload.path ruta de almacenamiento como por ejemplo /opt/fileserver/uploads. Ejecuta localmente y prueba con Postman. Compila el JAR con Maven usando mvnw clean package -DskipTests o con Gradle usando gradlew bootJar. El artefacto quedará como target file-server-0.1.0.jar o similar.

Paso 2 Elige un VPS gratuito: Oracle Cloud Always Free, AWS Free Tier o Google Cloud Free Tier funcionan bien para pruebas y microservicios. En el ejemplo usaremos Ubuntu 22.04.

Paso 3 Conéctate al VPS y prepara el sistema: usa ssh usuario@IP. Actualiza e instala utilidades con sudo apt update && sudo apt upgrade -y; instala nginx, certbot y ufw con sudo apt install -y nginx certbot python3-certbot-nginx ufw curl ca-certificates software-properties-common.

Opción A Despliegue nativo con systemd: instala Java 21 con sudo apt install -y openjdk-21-jdk. Crea la carpeta de trabajo con sudo mkdir -p /opt/fileserver. Sube el JAR con scp target/file-server-0.1.0.jar usuario@IP:/opt/fileserver/app.jar. Crea el servicio systemd en ruta etc systemd system fileserver.service con estos campos principales: Unit Description File Server Spring Boot App; After network.target. Service User ubuntu; WorkingDirectory /opt/fileserver; ExecStart /usr/bin/java -jar /opt/fileserver/app.jar --spring.profiles.active=prod; SuccessExitStatus 143; Restart always; RestartSec 10; Environment JAVA_OPTS=-Xms256m -Xmx512m. Install WantedBy multi-user.target. Activa y arranca con sudo systemctl daemon-reload; sudo systemctl enable fileserver; sudo systemctl start fileserver; visualiza logs con sudo journalctl -u fileserver -f.

Opción B Despliegue con Docker sin instalar Java en el VPS: instala Docker y el plugin compose con sudo apt update; sudo apt install -y docker.io docker-compose-plugin; habilita y arranca con sudo systemctl enable docker; sudo systemctl start docker; opcional añade tu usuario al grupo docker con sudo usermod -aG docker tu_usuario y vuelve a iniciar sesión. Sube el JAR con scp target/file-server-0.1.0.jar usuario@IP:/opt/fileserver/app.jar. Crea el Dockerfile en /opt/fileserver con contenido mínimo: FROM eclipse-temurin:21-jdk-alpine; WORKDIR /app; COPY app.jar app.jar; EXPOSE 8000; ENTRYPOINT java -jar /app/app.jar. Construye y ejecuta el contenedor con cd /opt/fileserver; docker build -t fileserver:latest .; docker run -d --name fileserver -p 8000:8000 -v /opt/fileserver/storage:/data fileserver:latest. Revisa logs con docker logs -f fileserver.

Paso 4 Configura nginx como reverse proxy hacia la app en 127.0.0.1:8000. Ajusta client_max_body_size a 50M o al tamaño deseado. Un esquema básico del servidor: listen 80; server_name fileserver.tudominio.com; location slash con proxy_pass https://127.0.0.1:8000 y cabeceras proxy_set_header Host, X-Real-IP y X-Forwarded-For. Habilita el sitio con enlace en sites-enabled, valida con sudo nginx -t y recarga con sudo systemctl reload nginx.

Paso 5 Activa HTTPS con Lets Encrypt usando sudo certbot --nginx -d fileserver.tudominio.com y confirma la renovación automática con systemctl status certbot.timer.

Paso 6 Habilita el firewall UFW permitiendo OpenSSH y el perfil Nginx Full. Comandos: sudo ufw allow OpenSSH; sudo ufw allow Nginx Full; sudo ufw enable; verifica con sudo ufw status.

Consejos de producción: Almacenamiento de objetos S3 o equivalente para mayor durabilidad y menor acoplamiento con el servidor Monitorización con journalctl, docker logs o soluciones de observabilidad Copias de seguridad periódicas y snapshots Ajusta nginx client_max_body_size según tus necesidades Configura límites de JVM y variables de entorno seguras

Sobre Q2BSTUDIO: somos una empresa de desarrollo de software especializada en aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, agentes IA, servicios cloud AWS y Azure, automatización de procesos, servicios de inteligencia de negocio y analítica con Power BI. Si necesitas ayuda para endurecer tu servidor, optimizar costes en la nube o llevar este backend a una arquitectura escalable con balanceo, CDN y almacenamiento en objeto, nuestros servicios cloud AWS y Azure te acompañan de principio a fin. Si lo que buscas es extender este servidor con lógica de negocio, flujos de aprobación y frontends web o móviles, consulta nuestras aplicaciones a medida para acelerar tu time to market.

Palabras clave recomendadas para tu estrategia de posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi, automatización de procesos.

Listo, ya tienes un servidor de archivos de nivel producción corriendo en un VPS gratuito, accesible por HTTPS y verificable con Postman. Si quieres llevarlo al siguiente nivel con pipelines CI CD, observabilidad, hardening y controles de ciberseguridad, cuenta con Q2BSTUDIO para diseñar la arquitectura, implementar prácticas DevSecOps y escalar tu solución con garantías.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio