October 7, 2025Oct 7 Mail Archiver is a web-based solution for archiving, searching, and exporting emails. All emails and attachments are stored in a Postgresql database.On Github: https://github.com/s1t5/mail-archiverOn Docker: https://hub.docker.com/r/s1t5/mailarchiverThe developer of Mail Archiver is s1t5. I am not him, but will try to support best effort. Edit: he also joined and participates in this topic :-)Some setup hints, what worked for me:First install postgresql17 from the Community App Store.(Instance) Name: postgresql17-mailarchiver - for easy of installation, I prefer to use a separate database instance for each app.Path to appdata: /mnt/user/appdata/postgresql17-mailarchiver - to match the instance name.Database name: MailArchiver - the recommended default.Database user: mailuser - the recommended default.Database password: something long, but only with these characters: [A-Z] [a-z] [0-9] - this prevents connection issues.Then install the Mail Archiver app.Pay particular attention to the database connection string. 'Host' should be the local IP address when you are using the default bridge network, or the hostname (postgresql17-mailarchiver) when using a custom Docker network.Admin password: at first use something simple, later change it through the WebUI to something harder.Order the apps in your Docker list.Make sure Postgresql is above MailArchiver, so it gets started first.Add a 20 second wait time, so the database is up and running before MailArchiver starts.Right now, MailArchiver does not handle a missing database connection gracefully. This helps.If you first installed the Postgresql17 container, then later decide you want to change any of the parameters (database, username, password): you have to remove the Docker app AND the appdata folder, then reinstall postgresql17. If you try to change those parameters without cleaning up first, the changes will not be applied. Edited November 5, 2025Nov 5 by Emphyrio Added setup hints & ordering
October 18, 2025Oct 18 I installed the Mail Archiver, but unfortunately, I only get to the login page. I've tried logging in with the default login credentials and also with modified ones. Unfortunately, it doesn't work.Is there a separate admin login page?
October 18, 2025Oct 18 Author Not that I'm aware of, I just enter the Web UI and that's it. The default login is admin / secure123! . Which you should definitely change of course.Is there something in your logs? Edited October 18, 2025Oct 18 by Emphyrio
October 19, 2025Oct 19 Now it works. I had to specify the IP address instead of postgres in the database connection.
October 19, 2025Oct 19 Author 2 hours ago, cepxad-deqwi3-pizrot said:Now it works. I had to specify the IP address instead of postgres in the database connection.Thanks for you feedback, I will change the example in the app template. Edit: also created a feature request for showing an error message on the login screen in case the database connection failed. Edited October 19, 2025Oct 19 by Emphyrio
October 19, 2025Oct 19 Hi, I have the same problem with the login. Everything seems to set up correctly, but I just can't get past the login screen.SetupDocker: s1t5/mailarchiver:latestPostgreSQL 17Fresh install on UnraidEnvironment variables:Authentication__Username=admin Authentication__Password=password # (tried various simple passwords) ConnectionStrings__DefaultConnection=Host=192.168.1.40;Port=5435;Database=mailarchiverdb;... TimeZone__DisplayTimeZoneId=Europe/RomeWhat's happeningThe container starts fine, migrations run successfully, and the admin user gets created in the database:SELECT "Username", "Email", "IsAdmin", "IsActive" FROM mail_archiver."Users"; Username: admin Email: admin@local IsAdmin: true IsActive: trueBut when I try to login with username admin and the password I set in Authentication__Password, it always fails with "Invalid username or password".What I've Tried- Used the exact password from the env variable - Tried super simple passwords like "password", "admin123" - Deleted the user and let the app recreate it - Dropped the entire database and started fresh - Enabled trace logging to see what's going on The logs show the user is found in the database, but password verification just fails: ``` Context started tracking 'User' entity with key '{Id: 1}' ResourceManagerStringLocalizer searched for 'InvalidUserPassword' Failed login attempt for username: admin ```Questions 1. What password hashing algorithm does mail-archiver use? 2. Should the `Authentication__Password` env var match what I type in the login form, or is it only used during initial user creation? 3. Is there a way to manually reset the password via database or CLI? I've spent quite a bit of time debugging this and I'm a bit stuck. Any pointers would be greatly appreciated! Thanks! 🙏
October 19, 2025Oct 19 29 minutes ago, Ironman79 said:Hi, I have the same problem with the login.Everything seems to set up correctly, but I just can't get past the login screen.SetupDocker: s1t5/mailarchiver:latestPostgreSQL 17Fresh install on UnraidEnvironment variables:Authentication__Username=admin Authentication__Password=password # (tried various simple passwords) ConnectionStrings__DefaultConnection=Host=192.168.1.40;Port=5435;Database=mailarchiverdb;... TimeZone__DisplayTimeZoneId=Europe/RomeWhat's happeningThe container starts fine, migrations run successfully, and the admin user gets created in the database:SELECT "Username", "Email", "IsAdmin", "IsActive" FROM mail_archiver."Users"; Username: admin Email: admin@local IsAdmin: true IsActive: trueBut when I try to login with username admin and the password I set in Authentication__Password, it always fails with "Invalid username or password".What I've Tried- Used the exact password from the env variable- Tried super simple passwords like "password", "admin123"- Deleted the user and let the app recreate it- Dropped the entire database and started fresh- Enabled trace logging to see what's going onThe logs show the user is found in the database, but password verification just fails:``` Context started tracking 'User' entity with key '{Id: 1}' ResourceManagerStringLocalizer searched for 'InvalidUserPassword' Failed login attempt for username: admin ```Questions1. What password hashing algorithm does mail-archiver use?2. Should the `Authentication__Password` env var match what I type in the login form, or is it only used during initial user creation?3. Is there a way to manually reset the password via database or CLI?I've spent quite a bit of time debugging this and I'm a bit stuck. Any pointers would be greatly appreciated!Thanks! 🙏Finally, I was able to login. I had to manually delete the user admin, set a simple password in the container's variables, and then let the docker recreate it. Once logged in, I changed the pw to a stronger one. Edited October 19, 2025Oct 19 by Ironman79
November 5, 2025Nov 5 @Emphyrio Thank you for this! I was looking for something like this for years. I have it up and running now for 1 hour. Great tutorial! 👍
July 9Jul 9 Guten Tag,das mit der Admin Anmeldemaske hat bei mir geklappt Leider komme ich nicht weiter und zwar kann ich kein Mail Konto anlegen habe ein t-online Konto, ein GMX Konto und ein Gmail Konto ausprobiert bei allen der Fehler: "Verbindung zum E-Mail-Server konnte nicht hergestellt werden. Bitte überprüfen Sie Ihre Einstellungen und stellen Sie sicher, dass der Server erreichbar ist." Woran kann das liegen weis nicht mehr weiter...Beste Grüße
July 10Jul 10 Hallo ich habe es heute mit dem neuen Update von gestern nochmal ausprobiert und weis nicht woran es liegen kann, da die Eingaben zur Mail zu 100% stimmen und ich ja auch verschiedene Accounts ausprobiert hab. Außerdem läuft der Docker ja an sich nur kann kein Mailkonto anlegen...Beste Grüße
July 10Jul 10 Author I would recommend checking out the container logs. Perhaps there is a more telling error message there.Edit: only thing I noticed is you did not set a proper timezone yet. You could try to change Etc/UTC to your actual timezone. Edited July 10Jul 10 by Emphyrio
Tuesday at 09:58 AM5 days If you're using Compose Manager Plus, deploying MailArchiver is very straightforward. You can install Compose Manager Plus from Community Apps or follow the support thread here: https://forums.unraid.net/topic/197334-plugin-compose-manager-plusOnce installed:Create a New Stack.Give it a name (for example, mailarchiver).Use the compose file below.Click Compose Up.That's it. Compose Manager Plus will create both the MailArchiver container and its PostgreSQL database in a single step, making it much easier than creating each container manually through the Docker template UI.services: mailarchive-app: image: s1t5/mailarchiver:latest restart: unless-stopped environment: # Database Connection ConnectionStrings__DefaultConnection: "Host=postgres;Database=MailArchiver;Username=mailuser;Password=masterkey;" # Web Login Authentication__Username: admin Authentication__Password: secure123! # Timezone TimeZone__DisplayTimeZoneId: "Etc/UTC" ports: - "5000:5000" volumes: - /mnt/user/appdata/mailarchiver/keys:/app/DataProtection-Keys depends_on: postgres: condition: service_healthy networks: - mailarchive postgres: image: postgres:17-alpine restart: unless-stopped environment: POSTGRES_DB: MailArchiver POSTGRES_USER: mailuser POSTGRES_PASSWORD: masterkey volumes: - /mnt/user/appdata/mailarchiver/postgres:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U mailuser -d MailArchiver"] interval: 10s timeout: 5s retries: 5 start_period: 20s networks: - mailarchive networks: mailarchive: driver: bridge After the stack starts, open:http://<your-unraid-ip>:5000Default credentials:Username: adminPassword: secure123!You should change both the database password and the admin password before exposing the application outside your network.
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.