Este repositorio contiene una colección de proyectos Docker, cada uno mostrando una aplicación o servicio diferente usando contenedores y orquestación con Docker Compose.
- Docker instalado en el sistema (Linux o MacOS).
- Permisos de usuario para ejecutar Docker.
-
Clona el repositorio:
git clone https://github.com/juanrdzbaeza/DockerProjects.git cd DockerProjects -
Instala Docker y dependencias usando los scripts incluidos:
-
Linux:
./start-engine-linux.sh
Este script instala Docker y configura el usuario para usarlo sin sudo.
-
MacOS:
./start-engine-macos.sh
Este script instala Homebrew, QEMU, Docker, Colima y dependencias necesarias.
-
-
Accede al subproyecto que desees:
cd <subproyecto>
Por ejemplo:
cd Passboltocd portainer -
Levanta el servicio con Docker Compose:
docker compose -f docker-compose.yml up -d
(El nombre del archivo puede variar según el subproyecto)
DockerProjects/
├── README.md
├── start-engine-linux.sh
├── start-engine-macos.sh
├── license
├── gitlab-docker-server/
│ └── docker-compose.yml
├── linuxserver-gimp/
│ └── docker-compose.yml
├── minipaint/
│ └── docker-compose.yml
├── owncloud-docker-server/
│ └── docker-compose.yml
├── portainer/
│ └── docker-compose.yml
└── Passbolt/
├── docker-compose-ce.yaml
├── .env
├── first-user.sh
├── individual-user.sh
├── seconds-users.sh
├── generate-login-url.sh
└── README.md
start-engine-linux.sh: Automatiza la instalación de Docker en sistemas Linux compatibles (Debian, Ubuntu, Fedora, RHEL). Añade el usuario al grupo docker y habilita el servicio.start-engine-macos.sh: Instala Homebrew, dependencias, QEMU, Docker y Colima en MacOS. Permite gestionar contenedores y máquinas virtuales.
- Passbolt: Gestor de contraseñas para equipos, con scripts para automatizar usuarios y recuperación de cuentas.
- Portainer: Interfaz web para gestionar contenedores Docker.
- OwnCloud: Almacenamiento y sincronización de archivos.
- Minipaint, GIMP, Gitlab: Otros servicios y aplicaciones dockerizadas.
Cada subproyecto tiene su propio archivo docker-compose.yml y puede incluir scripts adicionales para facilitar la gestión.
- No publiques archivos
.envcon contraseñas reales. - Cambia las contraseñas de ejemplo antes de poner en producción.
- Usa variables de entorno para datos sensibles siempre que sea posible.
Este proyecto está licenciado bajo la MIT License.