All checks were successful
GitOps Automatic Deployment / GitOps Automatic Deployment (push) Successful in 5s
54 lines
2.2 KiB
Markdown
54 lines
2.2 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
|
|
Run the following commands to pull down the mailcow deployment files and install them with docker. Go get a cup of coffee as the `docker compose pull` command may take a while to run.
|
|
|
|
!!! note "Potential `Docker Compose` Issues"
|
|
If you run the `docker-compose pull` command and it fails for some reason, change the command to `docker compose pull` instead. This is just the difference between the plugin version of compose versus the standalone version. Both will have the same result.
|
|
|
|
```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}"
|
|
```
|
|
|
|
### Login to Mailcow
|
|
At this point, the Mailcow server has been deployed so you can log into it at the following urls:
|
|
|
|
**Administrators**:
|
|
You can now log in as an administrator using the default credentials `admin` and the password `moohoo` at:
|
|
`https://${MAILCOW_HOSTNAME}/admin`
|
|
|
|
**Regular Mailbox Users**:
|
|
Continue logging in at the usual URL:
|
|
`https://${MAILCOW_HOSTNAME}` (*FQDN only*)
|