1.9 KiB
mailcow-dockerized
Installation
-
Open mailcow.conf and change stuff, do not use special chars in passwords. This will be fixed soon.
-
Run ./build-all.sh
-
Set a rspamd controller password (see section "rspamd")
Done.
The default username for mailcow is admin
with password moohoo
.
Usage
build-*.files
(Re)build a container:
./build-$name.sh
❗ Any previous container with the same name will be stopped and removed. No persistent data is deleted at any time. If an image exists, you will be asked wether or not to repull/rebuild it.
Logs
You can use docker logs $name for almost all containers. Only rmilter does not log to stdout. You can check rspamd logs for rmilter reponses.
When a process dies, the container dies, too. Except for Postfix' container.
MySQL
Connect to MySQL database:
./build-mysql.sh --client
Init schema (will also be installed when running ./build-mysql.sh
without parameters):
./build-mysql.sh --init-schema
Reset mailcow admin to admin:moohoo
:
./build-mysql.sh --reset-admin
Redis
Connect to redis database:
./build-mysql.sh --client
rspamd
Use rspamadm:
docker exec -it rspamd-mailcow rspamadm --help
Use rspamc:
docker exec -it rspamd-mailcow rspamc --help
Set rspamd controller password:
# Generate hash
docker exec -it rspamd-mailcow rspamadm pw
Replace given hash in data/conf/rspamd/override.d/worker-controller.inc:
enable_password = "myhash";
Restart rspamd:
docker restart rspamd-mailcow
Remove persistent data
MySQL:
docker stop mysql-mailcow
docker rm mysql-mailcow
rm -rf data/db/mysql/*
./build-mysql.sh
Redis:
# If you feel hardcore:
docker stop redis-mailcow
docker rm redus-mailcow
rm -rf data/db/redis/*
./build-redis.sh
## It is almost always enough to just flush all keys:
./build-redis client
# FLUSHALL [ENTER]