Contenedor de SonarQube optimizado para despliegues en Railway y Docker, con soporte para análisis de código mejorado.
- Basado en SonarQube Community Edition (última versión estable)
- Optimizado para entornos con recursos limitados
- Configurado para despliegue en Railway
- Incluye plugin CNES Report para generar informes avanzados
- Soporte para múltiples lenguajes (Java, JavaScript, Python, etc.)
- Configuración de seguridad y rendimiento optimizada
- Docker y Docker Compose para desarrollo local
- Cuenta en Railway para despliegue en la nube
- Al menos 4GB de RAM disponible para ejecución local
-
Clonar el repositorio:
git clone https://github.com/osvalois/sonarqube-container.git cd sonarqube-container -
Crear archivo
.envcon las variables de entorno necesarias:# Ejemplo de .env SONAR_JDBC_URL=jdbc:postgresql://localhost:5432/sonar SONAR_JDBC_USERNAME=sonar SONAR_JDBC_PASSWORD=sonar -
Iniciar SonarQube con Docker Compose:
docker-compose up -d
-
Acceder a SonarQube en http://localhost:9000 (usuario: admin, contraseña: admin)
-
Asegúrate de tener una cuenta en Railway y el CLI instalado.
-
Conecta tu repositorio de GitHub a Railway.
-
Railway detectará automáticamente la configuración en
railway.toml. -
Configura las variables de entorno en Railway:
SONAR_JDBC_URL: URL de conexión a la base de datos PostgreSQLSONAR_JDBC_USERNAME: Usuario de la base de datosSONAR_JDBC_PASSWORD: Contraseña de la base de datos
-
Inicia el despliegue en Railway.
Si encuentras errores de permisos al ejecutar SonarQube en Railway, verifica:
- La variable
RUN_AS_ROOTdebe estar configurada comotrue. - No intentar modificar directamente archivos de configuración, en su lugar usar propiedades del sistema Java.
Para evitar problemas con Elasticsearch en entornos contenedorizados:
- Configurar la variable
SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true. - Asegurar que
vm.max_map_countesté configurado correctamente en el host.
Dockerfile: Configuración principal del contenedorDockerfile.railway: Configuración específica para Railwaystart-railway.sh: Script de inicio para Railwayentrypoint.sh: Punto de entrada del contenedorinstall-plugins.sh: Script para instalar plugins adicionalesrailway.toml: Configuración para Railwaydocker-compose.yml: Configuración para desarrollo local
MIT