Update README.md

This commit is contained in:
2025-06-12 14:16:02 +00:00
parent 12b65ed547
commit d5111b7fcf

View File

@ -1,7 +1,14 @@
<p align="center"> <p align="center">
<a href="https://tip.jhammah.com"> <a href="https://tip.jhammah.com">
<picture> <picture>
<img src="https://user-images.githubusercontent.com/1128849/210187356-dfb7f1c5-ac2e-43aa-bb23-fc014280ae1f.svg" alt="Caddy" width="500"> <img src="https://jhammah.com/wp-content/uploads/2025/06/Stalwart_logo1.png" alt="Caddy" width="500">
</picture>
</a>
</p>
<p align="center">
<a href="https://tip.jhammah.com">
<picture>
<img src="https://jhammah.com/wp-content/uploads/2025/06/Haproxy-logo.png" alt="Caddy" width="500">
</picture> </picture>
</a> </a>
</p> </p>
@ -21,7 +28,7 @@
<br> <br>
# Menu # Navigation
- [Prerequisite](#prerequisite) - [Prerequisite](#prerequisite)
- [Install](#install) - [Install](#install)
@ -37,11 +44,25 @@
# Prerequisite # Prerequisite
<h4> This is the main Caddy yml file that you'll use to create your containers. Adjust settings as needed. </h4> - **Here are all the things you need to make sure you have before starting this tutorial.**
- **If you have Cloudflare managing your domain, make the the TLS/SSL encryption mode is set to Full (Strict) and NOT Flexible.** - **1. You should already have Caddy installed and fully working.**
- **When adding CNAME entries to your domains, make sure Cloudflare's proxy is disabled for each CNAME record.** - **2. You should already have a Cloudflare account managing your domain.**
- **3. You should already have a Cloudflare API Token.**
- **4. You should already have the CNAME records 'mail.yourdomain.com' & 'webmail.yourdomain.com' created.**
- **5. You should already have your Caddyfile routing 'mail.yourdomain.com' to port 8404.**
- **6. You should already have your Caddyfile routing 'webmail.yourdomain.com' to port 680.**
- **7. You should already have an smtp2go.com account created and setup.**
- **8. You should use an advanced text editor like Notepadd++ or something like it that's designed for coding.**
- **9. You should already have ports 25, 80, 110, 143, 443, 465, 587, 993, & 4190 opened inside your router pointing to your host machine's IP address.**
<br> <br>
@ -49,7 +70,7 @@
# Install # Install
<h4> This tutorial will show you how to install Caddy with with packages automatically with xcaddy as a Docker container. Installing extra packages is optional but it's good to have a few of them. </h4> <h4> This tutorial will show you how to install Stalwart Mail server as well as HAProxy so you can securely host your own email server. </h4>
<br> <br>
@ -59,37 +80,20 @@
## Configuring docker-compose.yml file ## Configuring docker-compose.yml file
* **This is the main Caddy docker-compose.yml file that you Will used to create your container.** * **This is the docker-compose.yml file that you will use to create your container. It will be installing HAProxy and then including Stalwart and Roundcube's yml files, installing them afterwards.**
* **Instead of specifying an image under the caddy services, we're going to specify a Docker file In which we Tell it how to build a custom caddy image for us.**
* **If you DO NOT want to build a custom caddy image and just use the default caddy image, you can delete this section that says:**
```yml
build:
context: .
dockerfile: dockerfile.caddy
```
**and replace it with:**
```yml
image: caddy:latest
```
* **It's always going to restart unless we manually stop it.** * **It's always going to restart unless we manually stop it.**
* **We're telling it that it has env file to reference.** * **We are mapping it to ports 25, 80, 110, 143, 443, 465, 587, 993, & 4190.**
* **We are mapping it to ports 80 and 443.** * **We're also making HAProxy's container depend on Stalwart's container**
* **We are creating five volumes for it.** * **And finally we are creating a custom hao-network for these containers.**
* **And finally we are creating a custom caddy Network.**
<p align="center"> <p align="center">
<a href="https://tip.jhammah.com"> <a href="https://tip.jhammah.com">
<picture> <picture>
<img src="https://jhammah.com/wp-content/uploads/2025/05/caddy_yml_1.png" alt="Docker" width="1280"> <img src="IMAGE GOES HERE IMAGE GOES HERE IMAGE GOES HERE IMAGE GOES HERE IMAGE GOES HERE " alt="Docker" width="1280">
</picture> </picture>
</a> </a>
</p> </p>
@ -107,7 +111,7 @@ image: caddy:latest
<p align="center"> <p align="center">
<a href="https://tip.jhammah.com"> <a href="https://tip.jhammah.com">
<picture> <picture>
<img src="https://jhammah.com/wp-content/uploads/2025/05/caddy_env_1.png" alt="Docker" width="1280"> <img src="IMAGE GOES HERE IMAGE GOES HERE IMAGE GOES HERE IMAGE GOES HERE IMAGE GOES HERE " alt="Docker" width="1280">
</picture> </picture>
</a> </a>
</p> </p>
@ -131,7 +135,7 @@ image: caddy:latest
<p align="center"> <p align="center">
<a href="https://tip.jhammah.com"> <a href="https://tip.jhammah.com">
<picture> <picture>
<img src="https://jhammah.com/wp-content/uploads/2025/05/caddy_dockerfile_1.png" alt="Docker" width="1280"> <img src="IMAGE GOES HERE IMAGE GOES HERE IMAGE GOES HERE IMAGE GOES HERE " alt="Docker" width="1280">
</picture> </picture>
</a> </a>
</p> </p>
@ -157,7 +161,7 @@ image: caddy:latest
<p align="center"> <p align="center">
<a href="https://tip.jhammah.com"> <a href="https://tip.jhammah.com">
<picture> <picture>
<img src="https://jhammah.com/wp-content/uploads/2025/05/caddy_caddyfile_1.png" alt="Docker" width="1280"> <img src="IMAGE GOES HERE IMAGE GOES HERE IMAGE GOES HERE IMAGE GOES HERE " alt="Docker" width="1280">
</picture> </picture>
</a> </a>
</p> </p>