No description https://bulwarkmail.org/
  • TypeScript 87.1%
  • CSS 10.6%
  • HTML 1.3%
  • Shell 0.6%
  • JavaScript 0.4%
Find a file
2026-06-05 19:03:19 +02:00
docs docs: document new features and update language count to 18 2026-06-05 19:03:19 +02:00
public refactor: redesign landing page and refresh docs 2026-05-15 19:07:25 +02:00
src docs: document new features and update language count to 18 2026-06-05 19:03:19 +02:00
.gitignore Initial commit from Create Next App 2026-03-09 23:03:19 +01:00
deploy.sh feat: add privacy docs and Umami analytics 2026-04-28 18:33:10 +02:00
eslint.config.mjs Initial commit from Create Next App 2026-03-09 23:03:19 +01:00
instrumentation.ts docs: update website and docs to v1.4.11 with plugins, i18n, and new features 2026-04-03 03:36:08 +02:00
LICENSE Add AGPL-3.0 license 2026-04-20 14:53:31 +02:00
next.config.ts refactor: redesign landing page and refresh docs 2026-05-15 19:07:25 +02:00
package-lock.json feat: update names 2026-03-14 00:07:19 +01:00
package.json refactor: redesign landing page and refresh docs 2026-05-15 19:07:25 +02:00
postcss.config.mjs Initial commit from Create Next App 2026-03-09 23:03:19 +01:00
README.md feat: Enhance plugin system documentation and architecture 2026-04-27 11:26:15 +02:00
test-output.html feat: update names 2026-03-14 00:07:19 +01:00
tsconfig.json Initial commit from Create Next App 2026-03-09 23:03:19 +01:00

Bulwark

Bulwark Website

The official website and documentation for Bulwark Webmail.
Built with Next.js and Tailwind CSS.


Overview

This repository contains the source code for the Bulwark project website, including:

  • Landing page - Product showcase with features, screenshots, tech stack, deployment guides, and FAQ
  • Documentation - Full docs covering installation, configuration, features, development, and deployment

Quick Start

Development

git clone https://github.com/bulwarkmail/website.git
cd website
npm install
npm run dev

Open http://localhost:3000 to view the site.

Production Build

npm run build
npm start

Project Structure

src/
├── app/                  # Next.js App Router pages
│   ├── page.tsx          # Landing page
│   ├── docs/             # Documentation pages
│   ├── install/          # Install redirect
│   └── api/              # API routes (docs search)
├── components/           # React components
│   ├── docs/             # Documentation components
│   └── *.tsx             # Landing page sections
└── lib/                  # Utilities (markdown processing, etc.)
docs/                     # Documentation content (Markdown)
├── getting-started/      # Introduction, installation, configuration
│   └── configuration/    # Stalwart setup, authentication, env reference
├── features/             # Email, calendar, contacts, files, PWA
│   └── email/            # Composing, search
├── development/          # Architecture, contributing
├── deployment/           # Docker, manual, reverse proxy
│   └── docker/           # Compose, reverse-proxy
├── guides/               # Customization, keyboard shortcuts, embedded SSO,
│                         # plugins, account-security, multi-account, smime,
│                         # marketplace, admin
└── branding/             # Brand guidelines
public/                   # Static assets
├── branding/             # Logos, favicons
└── screenshots/          # Product screenshots

Tech Stack

Framework Next.js 16 with App Router
Language TypeScript
Styling Tailwind CSS v4
Markdown unified / remark / rehype pipeline
Icons Lucide React
Animation Framer Motion

Documentation

Documentation is written in Markdown under the docs/ directory. Files use gray-matter frontmatter for metadata:

---
title: Page Title
description: A brief description.
order: 1
---

# Content here

The documentation system supports:

  • GitHub Flavored Markdown
  • Syntax-highlighted code blocks with copy button
  • Auto-generated sidebar navigation
  • Full-text search

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-change)
  3. Commit your changes (git commit -m 'Add my change')
  4. Push to the branch (git push origin feature/my-change)
  5. Open a Pull Request