Postix is a simple administration tool tailored for your vmail server (Dovecot, Postfix, MySQL).
  • HTML 47.5%
  • CSS 25.8%
  • C# 24.3%
  • JavaScript 1.3%
  • Dockerfile 1.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
twerner 88e4cb1d1f
All checks were successful
Build and Deploy WebClient / version (push) Successful in 2s
Build and Deploy WebClient / build-and-push (push) Successful in 38s
Remove ServiceClient project from solution file
2026-07-02 18:47:20 +02:00
.forgejo/workflows Add versioning job to build.yaml for Docker image management 2026-07-02 14:47:14 +02:00
.github/ISSUE_TEMPLATE chore: remove CI/CD and tooling configuration files 2026-02-20 18:30:03 +01:00
assets feature/refactor-architecture (#1) 2026-02-20 17:19:33 +00:00
src Remove ServiceClient project from solution file 2026-07-02 18:47:20 +02:00
.dockerignore Add .dockerignore to exclude unnecessary files from Docker context 2026-07-02 15:01:20 +02:00
.env.example Add Tailscale sidecar for remote vmail DB access in production 2026-07-02 16:22:07 +00:00
.gitignore merge main into dev 2026-07-02 14:19:08 +02:00
.repomixignore feature/refactor-architecture (#1) 2026-02-20 17:19:33 +00:00
AGENTS.md Add Tailscale sidecar for remote vmail DB access in production 2026-07-02 16:22:07 +00:00
docker-compose.yml Add Tailscale sidecar for remote vmail DB access in production 2026-07-02 16:22:07 +00:00
GEMINI.md feature/refactor-architecture (#1) 2026-02-20 17:19:33 +00:00
LICENSE added license 2024-02-07 16:29:36 +01:00
README.md docs(readme): restructure README with improved sections and build instructions 2026-02-26 20:22:21 +01:00
repomix.config.json feature/refactor-architecture (#1) 2026-02-20 17:19:33 +00:00

codecov

Logo

Postix

Postix is a simple administration tool tailored for your vmail server (Dovecot, Postfix, MySQL).
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Project Structure
  3. Getting Started
  4. Build & Run
  5. Technology Stack
  6. Roadmap
  7. Contributing
  8. License
  9. Contact

About The Project

Postix is a web interface for managing your vmail server (Dovecot, Postfix, MySQL). You can add, edit, and delete domains, accounts, and aliases.

The application consists of a REST API, a Blazor front-end and two databases. One database is a PostgreSQL which acts as the Postix application database, while the other is the vmail database which holds the mail server configurations.

(back to top)

Project Structure

src/
├── Postix.sln
├── DataClasses/               # Logic-less POCOs
├── DomainManagement.Contract/ # Domain interfaces
├── DomainManagement/          # Domain logic
├── AccountManagement.Contract/
├── AccountManagement/
├── AliasManagement.Contract/
├── AliasManagement/
├── VmailDataStoring.Contract/ # Persistence interfaces
├── VmailDataStoring/          # EF Core repositories
├── Workflows.Contract/        # Workflow interfaces
├── Workflows/                 # Business process orchestration
├── DiMappings/                # Dependency injection
├── ServiceClient/             # REST API (ASP.NET Core)
└── WebClient/                 # Blazor UI

(back to top)

Getting Started

  1. Clone the repo

    git clone https://github.com/to-wer/Postix.git
    
  2. Create appsettings.Development.json with local configuration

  3. Start databases with Docker Compose:

    docker-compose up -d
    
  4. Build the solution:

    cd src
    dotnet build Postix.sln
    

(back to top)

Build & Run

REST API (ServiceClient)

dotnet run --project src/ServiceClient/ServiceClient.csproj

Blazor UI (WebClient)

dotnet run --project src/WebClient/WebClient.csproj

Publish WebClient (Docker)

docker build -t postix-webclient -f src/WebClient/Dockerfile src/

(back to top)

Technology Stack

  • .NET 10.0
  • C# 13
  • ASP.NET Core
  • Blazor
  • Entity Framework Core
  • Tabler.io
  • PostgreSQL
  • MySQL

(back to top)

Roadmap

  • Entra-ID Authentication

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Torsten Werner - @TorstenWerner10 - [email protected]

Project Link: https://github.com/to-wer/Postix

(back to top)