commit 3b1eac27c616af1eb81ba40f9a7d26084e84008a Author: jmorales01 Date: Fri Aug 23 02:13:20 2024 -0500 feat: mailserver poste.io diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b6b0ccf --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +mail/ +.vscode/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..079e037 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Usa la imagen oficial de Fedora como base +FROM fedora:latest + +# Establece el autor/mantenedor +LABEL maintainer="joseluismoralesvega24@gmail.com" + +# Instala Neofetch y otras herramientas +RUN dnf -y update && \ + dnf -y install neofetch dovecot vim curl wget git sudo && \ + dnf clean all + +# Crea un nuevo usuario y configura un entorno de trabajo +RUN useradd -ms /bin/bash miusuario +WORKDIR /home/miusuario + +# Cambia a este usuario para futuras operaciones +USER miusuario + +# Establece el comando predeterminado al iniciar el contenedor +CMD ["neofetch"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..8f76e32 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,37 @@ +services: + poste: + image: analogic/poste.io + container_name: poste + restart: always + ports: + - "25:25" # SMTP + - "80:80" # HTTP + - "443:443" # HTTPS + - "110:110" # POP3 + - "143:143" # IMAP + - "993:993" # IMAPS + - "995:995" # POP3S + - "4190:4190" # Sieve + volumes: + - ./mail:/data + environment: + - "HTTPS=ON" # Habilitar HTTPS + - "SIEVE=ON" # Habilitar Sieve + + fedora: + build: + context: . + dockerfile: Dockerfile + container_name: mi-fedora + stdin_open: true + tty: true + volumes: + - ./datos:/home/miusuario/datos + networks: + - fedora_net + restart: unless-stopped + command: /bin/bash + +networks: + fedora_net: + driver: bridge \ No newline at end of file diff --git a/public/bandeja.png b/public/bandeja.png new file mode 100644 index 0000000..9a7af58 Binary files /dev/null and b/public/bandeja.png differ diff --git a/public/dashboard.png b/public/dashboard.png new file mode 100644 index 0000000..45bc8df Binary files /dev/null and b/public/dashboard.png differ diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..8650e47 --- /dev/null +++ b/readme.md @@ -0,0 +1,86 @@ +# Proyecto de Servidor de Correo con Docker + +Este proyecto configura un servidor de correo local utilizando `poste.io` en un contenedor Docker, junto con un contenedor de Fedora personalizado para propósitos adicionales. El proyecto está diseñado para funcionar en un entorno local y es ideal para pruebas y desarrollos internos. + +## Descripción del Proyecto + +El proyecto contiene dos servicios principales definidos en un archivo `docker-compose.yml`: + +1. **poste.io**: Un servidor de correo completo que incluye funcionalidades como SMTP, IMAP, POP3, Sieve, y soporte HTTPS. +2. **Fedora**: Un contenedor de Fedora personalizado que puede ser utilizado para diversos propósitos de desarrollo y pruebas. + +## Requisitos Previos + +Antes de comenzar, asegúrate de tener instalados los siguientes requisitos: + +- [Docker](https://docs.docker.com/get-docker/) +- [Docker Compose](https://docs.docker.com/compose/install/) + +## Instrucciones de Ejecución + +### 1. Clonar el Repositorio + +Clona este repositorio en tu máquina local: + +```bash +git clone https://github.com/tu-usuario/nombre-del-repositorio.git +cd nombre-del-repositorio +``` + +### 2. Configurar el Archivo hosts + +Añade la siguiente línea al archivo `hosts` de tu sistema para poder acceder al servidor de correo mediante un nombre de dominio local: +La IP, tiene que ser la ip de tu dispositivo local que la puedes optener con el comando `ipconfig` en tu CMD. + +```bash +192.168.18.4 mail.localdomain +# Ejecuta este comando directo en tu CMD (Windows) +echo 192.168.18.4 mail.localdomain >> C:\Windows\System32\drivers\etc\hosts +``` +> **Note:** Asegúrate de que `192.168.18.4` sea la IP local de tu máquina que ejecutará el contenedor, puedes revisarlo con el comando `ipconfig` en tu CMD. + + +### 3. Construir y Ejecutar los Contenedores + +Construye y lanza los contenedores utilizando Docker Compose: +```bash +docker-compose up -d +``` + +### 4. Acceso a la Interfaz de Administración de `poste.io` +Abre un navegador web y ve a: [**https://mail.localdomain**](https://mail.localdomain/) + + +## Estructura del Proyecto 🗂️ + +```text +/path/to/project/ +│ +├── Dockerfile # Dockerfile para construir la imagen Fedora +├── docker-compose.yml # Configuración de Docker Compose +├── mail/ # Datos persistentes de poste.io +└── datos/ # Datos compartidos del contenedor Fedora +``` + + +## Donaciones 💰 + +Si te gusta mi trabajo y quieres apoyarme, ¡considera hacer una donación! Tu apoyo es muy apreciado. 🙏 + +[![PayPal](https://img.shields.io/badge/PayPal-Donate-blue?style=for-the-badge&logo=paypal)](https://paypal.me/jmoralesv24?country.x=PE&locale.x=es_XC) + +## License 📄 + +This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. + +--- + + +## ¡Gracias por visitar mi repositorio 🌟🧑‍💻 + + +--- +
+ + +
\ No newline at end of file