mailcow/docs/install.md

59 lines
1.7 KiB
Markdown
Raw Normal View History

2017-03-02 11:23:23 +01:00
# Install mailcow
2017-03-02 22:27:46 +01:00
You need Docker and Docker Compose.
2017-03-02 11:23:23 +01:00
2017-03-02 22:27:46 +01:00
1\. Learn how to install [Docker](https://docs.docker.com/engine/installation/linux/) and [Docker Compose](https://docs.docker.com/compose/install/).
2017-03-02 11:23:23 +01:00
2017-03-03 03:56:11 +01:00
Most systems can safely install Docker by running `curl -sSL https://get.docker.com/ | sh`
Please use the latest Docker engine available and do not use the engine that ships with your distros repository.
2017-03-02 22:27:46 +01:00
2\. Clone the master branch of the repository
```
git clone https://github.com/andryyy/mailcow-dockerized && cd mailcow-dockerized
```
2017-03-02 21:43:08 +01:00
2017-03-02 22:27:46 +01:00
3\. Generate a configuration file. Use a FQDN (`host.domain.tld`) as hostname when asked.
```
./generate_config.sh
```
2017-03-02 11:23:23 +01:00
2017-03-02 22:27:46 +01:00
4\. Change configuration if you want or need to.
```
nano mailcow.conf
```
2017-03-02 20:11:48 +01:00
If you plan to use a reverse proxy, you can, for example, bind HTTPS to 127.0.0.1 on port 8443 and HTTP to 127.0.0.1 on port 8080.
2017-03-05 13:41:41 +01:00
5\. Run the composer file. It will pull images and build containers.
2017-03-02 22:27:46 +01:00
```
docker-compose up -d
```
2017-03-02 20:11:48 +01:00
Done!
2017-03-02 11:23:23 +01:00
You can now access **https://${MAILCOW_HOSTNAME}** with the default credentials `admin` + password `moohoo`.
The database will be initialized right after a connection to MySQL can be established.
# Update mailcow
2017-03-05 13:41:41 +01:00
There is no update routine. You need to refresh your pulled repository clone and apply your local changes (if any). Actually there are many ways to merge local changes. Here is one to
stash all local changes, pull changes from the remote master branch and apply your stash on top of it:
2017-03-02 11:23:23 +01:00
```
2017-03-05 13:51:56 +01:00
# Stash local changes
2017-03-05 13:41:41 +01:00
git stash
2017-03-05 13:51:56 +01:00
# Re-pull master
2017-03-05 13:41:41 +01:00
git pull
2017-03-05 13:51:56 +01:00
# Apply stash and remove it
2017-03-05 13:41:41 +01:00
git stash pop
2017-03-02 11:23:23 +01:00
```
2017-03-05 13:41:41 +01:00
Pull new images (if any) and recreate changed containers:
2017-03-02 11:23:23 +01:00
```
docker-compose pull
docker-compose up -d --remove-orphans
```