{"id":29328730,"url":"https://github.com/brayandiazc/dev-setup-ubuntu-es","last_synced_at":"2025-07-07T22:35:26.892Z","repository":{"id":302928581,"uuid":"1005895183","full_name":"brayandiazc/dev-setup-ubuntu-es","owner":"brayandiazc","description":"Instaladores automatizados para configurar un entorno completo de desarrollo en Ubuntu o WSL","archived":false,"fork":false,"pushed_at":"2025-07-04T19:46:16.000Z","size":92,"stargazers_count":7,"open_issues_count":0,"forks_count":7,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-04T20:35:54.936Z","etag":null,"topics":["docker","git","java","kubernetes","linux","nodejs","postgresql","python","ruby","sh","ssh","terraform","ubuntu","wsl","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brayandiazc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"brayandiazc"}},"created_at":"2025-06-21T03:24:12.000Z","updated_at":"2025-07-04T19:46:19.000Z","dependencies_parsed_at":"2025-07-04T20:36:00.654Z","dependency_job_id":"5e8a3f17-3a62-4944-b963-43630b7c69df","html_url":"https://github.com/brayandiazc/dev-setup-ubuntu-es","commit_stats":null,"previous_names":["brayandiazc/dev-setup-ubuntu-es"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/brayandiazc/dev-setup-ubuntu-es","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brayandiazc%2Fdev-setup-ubuntu-es","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brayandiazc%2Fdev-setup-ubuntu-es/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brayandiazc%2Fdev-setup-ubuntu-es/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brayandiazc%2Fdev-setup-ubuntu-es/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brayandiazc","download_url":"https://codeload.github.com/brayandiazc/dev-setup-ubuntu-es/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brayandiazc%2Fdev-setup-ubuntu-es/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264154911,"owners_count":23565255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","git","java","kubernetes","linux","nodejs","postgresql","python","ruby","sh","ssh","terraform","ubuntu","wsl","zsh"],"created_at":"2025-07-07T22:35:23.572Z","updated_at":"2025-07-07T22:35:26.881Z","avatar_url":"https://github.com/brayandiazc.png","language":"Shell","funding_links":["https://github.com/sponsors/brayandiazc"],"categories":[],"sub_categories":[],"readme":"# ⚙️ dev-setup-ubuntu-es\n\nInstaladores automatizados para configurar un entorno completo de desarrollo en Ubuntu o WSL, usando herramientas modernas y gestionadas por versión: `zsh`, `git`, `ssh`, `ruby`, `node`, `python`, `postgresql`, `docker`, `kubernetes`, `terraform`.\n\nProyecto modular y ordenado que permite instalar y configurar cada tecnología paso a paso con scripts independientes, seguros y comentados.\n\n## 🖼️ Vista Previa (estructura del proyecto)\n\n```bash\n.\n├── README.md\n└── scripts\n    ├── 01-instalacion-base.sh\n    ├── 02-instalar-zsh.sh\n    ├── 03-configurar-zsh.sh\n    ├── 04-instalar-git.sh\n    ├── 05-instalar-ssh.sh\n    ├── 06-instalar-ruby.sh\n    ├── 07-instalar-node.sh\n    ├── 08-instalar-python.sh\n    ├── 09-instalar-postgresql.sh\n    ├── 10-instalar-docker.sh\n    ├── 11-instalar-kubernetes.sh\n    └── 12-instalar-terraform.sh\n```\n\n## ⚙️ Requisitos\n\n- Ubuntu 20.04+ / WSL\n- Conexión a internet\n- Permisos de superusuario (`sudo`)\n- Terminal con `bash` o `zsh`\n- `tree` (opcional, para visualizar estructura)\n\n## 🚀 Instalación paso a paso\n\n```bash\ngit clone https://github.com/brayandiazc/dev-setup-ubuntu-es.git\ncd dev-setup-ubuntu-es\nchmod +x scripts/*.sh  # Otorga permisos de ejecución a todos los scripts\n```\n\n- Ejecuta el script base (instala librerías esenciales):\n\n```bash\n./scripts/01-instalacion-base.sh\n```\n\n- Luego puedes ejecutar, uno por uno, los scripts que necesites:\n\n```bash\n./scripts/02-instalar-zsh.sh\n```\n\n### 💡 Cierra la terminal, vuelve a abrirla y luego ejecuta\n\n```bash\n./scripts/03-configurar-zsh.sh\n./scripts/04-instalar-git.sh\n./scripts/05-instalar-ssh.sh\n./scripts/06-instalar-ruby.sh\n./scripts/07-instalar-node.sh\n./scripts/08-instalar-python.sh\n./scripts/09-instalar-postgresql.sh\n./scripts/10-instalar-docker.sh\n./scripts/11-instalar-kubernetes.sh\n./scripts/12-instalar-terraform.sh\n```\n\n## 🔎 Scripts incluidos\n\n| Nº  | Script                   | Descripción                                                     | Documentación                              |\n| --- | ------------------------ | --------------------------------------------------------------- | ------------------------------------------ |\n| 01  | `instalacion-base.sh`    | Actualiza el sistema y prepara el entorno base                  | -                                          |\n| 02  | `instalar-zsh.sh`        | Instala `zsh` como shell predeterminada                         | [Zsh](https://zsh.sourceforge.io/)         |\n| 03  | `configurar-zsh.sh`      | Instala Oh My Zsh + plugins (tras reiniciar terminal)           | [Oh My Zsh](https://ohmyz.sh/)             |\n| 04  | `instalar-git.sh`        | Instala Git y configura usuario, correo, y plantilla de commit  | [Git](https://git-scm.com/)                |\n| 05  | `instalar-ssh.sh`        | Genera claves SSH para autenticación con GitHub                 | [SSH](https://www.openssh.com/)            |\n| 06  | `instalar-ruby.sh`       | Instala Ruby usando `rbenv` con versión seleccionable           | [rbenv](https://github.com/rbenv/rbenv)    |\n| 07  | `instalar-node.sh`       | Instala Node.js usando `nodenv` con versión estable por defecto | [nodenv](https://github.com/nodenv/nodenv) |\n| 08  | `instalar-python.sh`     | Instala Python con `pyenv` y paquetes esenciales                | [pyenv](https://github.com/pyenv/pyenv)    |\n| 09  | `instalar-postgresql.sh` | Instala PostgreSQL desde el repositorio oficial (v16/v17)       | [PostgreSQL](https://www.postgresql.org/)  |\n| 10  | `instalar-docker.sh`     | Instala Docker y Docker Compose                                 | [Docker](https://docs.docker.com/)         |\n| 11  | `instalar-kubernetes.sh` | Instala kubectl y minikube para desarrollo local                | [Kubernetes](https://kubernetes.io/)       |\n| 12  | `instalar-terraform.sh`  | Instala Terraform desde repositorio oficial de HashiCorp        | [Terraform](https://www.terraform.io/)     |\n\n## 📋 Funcionalidades detalladas por script\n\n### 🔧 **01-instalacion-base.sh**\n\n- Actualiza el sistema completo (apt update, upgrade, full-upgrade)\n- Limpia paquetes y dependencias no utilizadas\n- Instala soporte para sistemas de archivos (exFAT, HFS+, NTFS)\n- Añade herramientas para reconocimiento de smartphones\n- Instala utilidades de compresión (zip, rar, 7z)\n- Instala librerías esenciales para desarrollo (build-essential, curl, wget, etc.)\n\n### 🐚 **02-instalar-zsh.sh**\n\n- Instala Zsh desde repositorios oficiales\n- Instala Oh My Zsh en modo no interactivo\n- Verifica la instalación y muestra la versión\n- No cambia automáticamente el shell (requiere acción manual)\n\n### ⚙️ **03-configurar-zsh.sh**\n\n- Instala plugins adicionales: `zsh-syntax-highlighting` y `zsh-autosuggestions`\n- Configura plugins en `.zshrc` (git, docker, node, python, pyenv, rbenv, etc.)\n- Instala fuentes Powerline para mejor visualización\n- Crea archivo `.zprofile` si no existe\n- Aplica cambios en la sesión actual\n\n### 📝 **04-instalar-git.sh**\n\n- Instala Git desde PPA oficial para obtener la última versión\n- Configura colores en la salida de Git\n- Solicita y configura nombre de usuario y correo electrónico\n- Establece 'main' como rama principal por defecto\n- Opcional: descarga y configura plantilla de mensajes de commit\n- Muestra la configuración final\n\n### 🔐 **05-instalar-ssh.sh**\n\n- Verifica si ya existe una clave SSH y permite sobrescribir\n- Genera nueva clave RSA de 4096 bits con comentario personalizable\n- Inicia el agente SSH y añade la clave privada\n- Copia la clave pública al portapapeles automáticamente\n- Proporciona instrucciones para añadir la clave a GitHub\n- Prueba la conexión SSH con GitHub\n\n### 💎 **06-instalar-ruby.sh**\n\n- Instala dependencias necesarias para compilar Ruby\n- Instala `rbenv` para gestión de versiones\n- Configura `rbenv` en todos los archivos de entorno (.bashrc, .zshrc, .profile, .zprofile)\n- Instala `ruby-build` plugin\n- Permite seleccionar versión específica de Ruby\n- Instala Bundler y actualiza RubyGems\n- Proporciona instrucciones para actualizar rbenv\n\n### 🟢 **07-instalar-node.sh**\n\n- Instala dependencias necesarias para compilar Node.js\n- Instala `nodenv` para gestión de versiones\n- Configura `nodenv` en todos los archivos de entorno\n- Instala `node-build` plugin\n- Permite seleccionar versión específica de Node.js\n- Verifica la instalación con `node -v` y `npm -v`\n- Proporciona instrucciones para actualizar nodenv\n\n### 🐍 **08-instalar-python.sh**\n\n- Instala dependencias necesarias para compilar Python\n- Instala `pyenv` para gestión de versiones\n- Configura `pyenv` en todos los archivos de entorno\n- Permite seleccionar versión específica de Python\n- Instala pip y herramientas esenciales (setuptools, wheel)\n- Actualiza pip al último nivel\n- Proporciona instrucciones para actualizar pyenv\n\n### 🐘 **09-instalar-postgresql.sh**\n\n- Permite seleccionar versión específica de PostgreSQL (por defecto v17)\n- Añade repositorio oficial de PostgreSQL\n- Instala la versión seleccionada\n- Habilita y arranca el servicio de PostgreSQL\n- Crea usuario local con permisos de superusuario\n- Establece contraseña para el usuario\n- Prueba la conexión local\n- Proporciona recomendaciones adicionales\n\n### 🐳 **10-instalar-docker.sh**\n\n- Detecta automáticamente si está en WSL con Docker Desktop\n- Elimina versiones antiguas de Docker si existen\n- Instala dependencias necesarias\n- Añade clave GPG oficial de Docker\n- Configura repositorio APT de Docker\n- Instala Docker Engine, CLI y Docker Compose plugin\n- Añade usuario al grupo docker\n- Verifica la instalación\n\n### ☸️ **11-instalar-kubernetes.sh**\n\n- Descarga e instala `kubectl` versión específica (v1.30.1)\n- Descarga e instala `minikube` para desarrollo local\n- Da permisos de ejecución a ambos binarios\n- Mueve los binarios a `/usr/local/bin`\n- Verifica las instalaciones\n- Proporciona comando para iniciar clúster local\n\n### 🌍 **12-instalar-terraform.sh**\n\n- Actualiza el sistema\n- Instala dependencias necesarias\n- Añade clave GPG oficial de HashiCorp\n- Configura repositorio oficial de HashiCorp\n- Instala Terraform desde repositorio oficial\n- Verifica la instalación\n\n## 🧪 Recomendación de uso\n\nUsa los scripts en orden secuencial solo si estás configurando un sistema desde cero.\nTambién puedes ejecutar solo los que necesites de forma independiente.\n\n### 🔄 Orden recomendado para instalación completa:\n\n1. **Base**: `01-instalacion-base.sh`\n2. **Shell**: `02-instalar-zsh.sh` → Reiniciar terminal → `03-configurar-zsh.sh`\n3. **Control de versiones**: `04-instalar-git.sh` → `05-instalar-ssh.sh`\n4. **Lenguajes**: `06-instalar-ruby.sh` → `07-instalar-node.sh` → `08-instalar-python.sh`\n5. **Base de datos**: `09-instalar-postgresql.sh`\n6. **Contenedores**: `10-instalar-docker.sh`\n7. **Orquestación**: `11-instalar-kubernetes.sh`\n8. **Infraestructura**: `12-instalar-terraform.sh`\n\n## 🔗 Enlaces útiles\n\n### Documentación oficial de herramientas:\n\n- [Zsh](https://zsh.sourceforge.io/) - Shell avanzado\n- [Oh My Zsh](https://ohmyz.sh/) - Framework para Zsh\n- [Git](https://git-scm.com/) - Control de versiones\n- [rbenv](https://github.com/rbenv/rbenv) - Gestor de versiones de Ruby\n- [nodenv](https://github.com/nodenv/nodenv) - Gestor de versiones de Node.js\n- [pyenv](https://github.com/pyenv/pyenv) - Gestor de versiones de Python\n- [PostgreSQL](https://www.postgresql.org/) - Base de datos relacional\n- [Docker](https://docs.docker.com/) - Contenedores\n- [Kubernetes](https://kubernetes.io/) - Orquestación de contenedores\n- [Terraform](https://www.terraform.io/) - Infraestructura como código\n\n### Recursos adicionales:\n\n- [GitHub SSH Keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) - Configurar SSH con GitHub\n- [Docker Desktop WSL](https://docs.docker.com/desktop/windows/wsl/) - Docker en WSL\n- [Minikube](https://minikube.sigs.k8s.io/) - Kubernetes local\n\n## 🖇️ Contribuye\n\n```bash\n# Fork → Crea rama → Cambios → Commit → Pull Request\n```\n\nLee [CONTRIBUTING.md](.github/CONTRIBUTING.md) para más detalles.\n\n## 📄 Licencia\n\nMIT — ver [LICENSE](LICENSE.md)\n\n---\n\n⌨️ con ❤️ por [Brayan Diaz C](https://github.com/brayandiazc)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrayandiazc%2Fdev-setup-ubuntu-es","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrayandiazc%2Fdev-setup-ubuntu-es","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrayandiazc%2Fdev-setup-ubuntu-es/lists"}