Maildir verschieben (vmail)
Der "neue" Weg¶
Warnung
Neuere Docker-Versionen scheinen sich über bestehende Volumes zu beschweren. Man kann dies vorübergehend beheben, indem man das bestehende Volume entfernt und mailcow mit der Override-Datei startet. Aber es scheint nach einem Neustart problematisch zu sein (muss bestätigt werden).
Ein einfacher, schmutziger, aber stabiler Workaround ist es, mailcow zu stoppen, /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data
zu entfernen und einen neuen Link zu Ihrem entfernten Dateisystem zu erstellen, zum Beispiel:
mv /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data_backup
ln -s /mnt/volume-xy/vmail_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data
Starten Sie anschließend mailcow.
Der "alte" Weg¶
Wenn man einen anderen Ordner für das vmail-Volume verwenden möchte, kann man eine docker-compose.override.yml
Datei erstellen und den folgenden Inhalt hinzufügen:
volumes:
vmail-vol-1:
driver_opts:
type: none
device: /data/mailcow/vmail
o: bind
Verschieben eines bestehenden vmail-Ordners:¶
- Finden Sie den aktuellen vmail-Ordner anhand seines "Mountpoint"-Attributs:
docker volume inspect mailcowdockerized_vmail-vol-1
[
{
"CreatedAt": "2019-06-16T22:08:34+02:00",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "mailcowdockerized",
"com.docker.compose.version": "1.23.2",
"com.docker.compose.volume": "vmail-vol-1"
},
"Mountpoint": "/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data",
"Name": "mailcowdockerized_vmail-vol-1",
"Options": null,
"Scope": "local"
}
]
- Kopieren Sie den Inhalt des
Mountpoint
-Ordners an den neuen Speicherort (z.B./data/mailcow/vmail
) mitcp -a
,rsync -a
oder einem ähnlichen, nicht strikten Kopierbefehl - Stoppen Sie mailcow durch Ausführen des kommenden Befehls aus Ihrem mailcow-Stammverzeichnis (z.B.
/opt/mailcow-dockerized
):
docker compose down
docker-compose down
- Erstellen Sie die Datei
docker-compose.override.yml
, bearbeiten Sie den Gerätepfad entsprechend - Löschen Sie den aktuellen vmail-Ordner:
docker volume rm mailcowdockerized_vmail-vol-1
- Starten Sie mailcow durch Ausführen des folgenden Befehls aus Ihrem mailcow-Stammverzeichnis (z.B.
/opt/mailcow-dockerized
):
docker compose up -d
docker-compose up -d