Este proyecto contiene una aplicación Spring Boot que se puede desplegar fácilmente utilizando Docker Compose. El entorno está diseñado para ser alojado en un servidor privado con Ubuntu Server.
Antes de comenzar, asegúrate de tener los siguientes requisitos instalados en tu servidor Ubuntu:
- Git
- Docker
- Docker Compose
sudo apt update sudo apt install -y docker.io docker-compose sudo systemctl enable docker sudo systemctl start docker docker --version docker-compose --versionClona este repositorio en tu servidor:
git clone https://github.com/Chris-THC/FTP-Project.git cd proyecto-springboot-docker.
├── docker-compose.yml
├── Dockerfile
├── src/
├── pom.xml
└── README.mdDockerfile: Contiene las instrucciones para construir la imagen de Spring Boot.docker-compose.yml: Orquesta el contenedor de Spring Boot y otros servicios (como base de datos, si aplica).src/: Código fuente de la aplicación.pom.xml: Archivo de configuración de Maven.
Desde la raíz del proyecto, ejecuta:
- Inicia la aplicación usando Docker Compose:
docker-compose up --build
- Termina el proceso en la consola:
Ctrl + C
- Termina el proceso en docker:
docker-compose down
Esto construirá la imagen de Spring Boot y levantará los servicios definidos en docker-compose.yml.
docker psDeberías ver un contenedor en ejecución con el nombre definido en tu docker-compose.yml.
La aplicación estará disponible en el puerto configurado (por defecto, http://localhost:8080).
Si estás accediendo desde una máquina distinta, asegúrate de que el puerto esté abierto en el firewall del servidor:
sudo ufw allow 8080# Ver logs del contenedor
docker-compose logs -f
# Detener contenedores
docker-compose down
# Volver a levantar sin cache
docker-compose build --no-cache
docker-compose up -d- Usa un archivo
.envpara manejar variables sensibles como contraseñas y secretos. - Considera usar HTTPS con NGINX como proxy inverso.
- Desactiva el acceso root por SSH y usa autenticación por llaves.
Si deseas mejorar el proyecto, ¡eres bienvenido a hacer un fork y enviar un pull request!
Este proyecto está bajo la licencia MIT.