All checks were successful
GitOps Automatic Deployment / GitOps Automatic Deployment (push) Successful in 5s
37 lines
1.3 KiB
Markdown
37 lines
1.3 KiB
Markdown
## Purpose
|
|
The purpose of this document is to illustrate how to deploy Mailcow in a dockerized format.
|
|
|
|
!!! note "Assumptions"
|
|
It is assumed that you are deploying Mailcow into an existing Ubuntu Server environment. If you are using a different operating system, refer to the [official documentation](https://docs.mailcow.email/getstarted/install/).
|
|
|
|
### Setting Up Docker
|
|
Go ahead and set up docker and docker-compose with the following commands:
|
|
```bash
|
|
sudo su # (1)
|
|
curl -sSL https://get.docker.com/ | CHANNEL=stable sh # (2)
|
|
apt install docker-compose-plugin # (3)
|
|
systemctl enable --now docker # (4)
|
|
```
|
|
|
|
1. Make yourself root.
|
|
2. Install `Docker`
|
|
3. Install `Docker-Compose`
|
|
4. Make docker run automatically when the server is booted.
|
|
|
|
### Download and Deploy Mailcow
|
|
```bash
|
|
cd /opt
|
|
git clone https://github.com/mailcow/mailcow-dockerized
|
|
cd mailcow-dockerized
|
|
./generate_config.sh # (1)
|
|
docker compose pull # (2)
|
|
docker compose up -d
|
|
```
|
|
|
|
1. Generate a configuration file. Use a FQDN (`host.domain.tld`) as hostname when asked.
|
|
2. If you get an error about the ports of the `nginx-mailcow` service in the `docker-compose.yml` stack, change the ports for that service as follows:
|
|
```yaml
|
|
ports:
|
|
- "${HTTPS_BIND:-0.0.0.0}:${HTTPS_PORT:-443}:${HTTPS_PORT:-443}"
|
|
- "${HTTP_BIND:-0.0.0.0}:${HTTP_PORT:-80}:${HTTP_PORT:-80}"
|
|
``` |