August 14, 2025Aug 14 Hi. I've been working on upgrading my Dovecot docker to the latest version 2.4.0. There were a lot of config changes I had to make to make 2.4.0 happy. I've got though all the config file errors and now the container is throwing:doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: default_login_user doesn't exist: dovenullI've been using this container for years as local archive storage for email worth keeping. I have a file named "etcp" in my config directory that is in the passwd format and it has the referenced dovenull user, but it seems that the container is no longer using it. I don't recall having to do anything specific with that "etcp" file in the past, but it's been so long since I set it up, that I've forgotten that detail.I think that I should be getting that "etcp" file moved into the docker's space as it's passwd file. But I'm not geting how to accomplish that. I tried setting up a mapping from //etc/passwd to my "etcp" file (which wasn't in my config before this upgrade, and things worked), but I get permission errors on the log file in var/log, so that doesn't appear to have been the right thing to try.Has anyone got through the dovecot docker upgrade. Can you suggest what I need to try next? I'm not strong on docker so perhaps I'm missing something in docker configuraiton.Any help is appreciated. Thank you. Edited August 16, 2025Aug 16 by MrChip show progress
August 15, 2025Aug 15 Author So I've made progress. They changed the docker quite a bit at v2.4, and I had to change the port mappings and the path mappings to align with the new container set-up. Getting the configuration path mapping corrected got me past the "user doesn't exist" error. I next had to solve a login issue where my dovecot user wasn't getting authenticated. I resolved that issue , again by finding the changes made in configuration settings with respect to password file location and password encryption settings.I think I'm almost there. my current problem is a permission error showing up in the log:Fatal: setresgid(100(users),100(users),8(mail)) failed with euid=1000(vmail): Operation not permittedThis may be a conflicting UID issue. The container seems to be using UID 1000 for a process it runs, but my dovecot user also is UID 1000 (and GID 100), so there may be some collision there. I'm not sure the easiest way to confirm or handle that - all the existing mail files and folders are owned by UID 1000,
August 15, 2025Aug 15 Author 11 hours ago, JorgeB said:Look for the support link for that container:Thanks, that was helpful. It revealed where they had made changes to the container that I had to account for in my config files.
August 16, 2025Aug 16 Author Solution I've solved my remaining problems. The error on setresgid was because te user data I had been using was now forcing the container to try to change its guid. I had specified a setting for a specific mail group id, but in the container environment, that setting doesn't work because the container process runs without sufficient privileges. I also had to change the user gid for my user account on dovecot, again to avoid forcing a gid change the process didn't have the permissions to do. After that, my thunderbird client was able to login.I had some trouble getting the thunderbird client to list all the folders. I wound up going through a process to import my previous Maildir folder tree into the new container tree, and then resubscribe all the folders in thunderbird. Now I can see the full tree through the thunderbird client.I hope this blurb may help someone else who might hit the same issues on upgrading their Dovecot docker container.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.