Skip to content

🌟 Revolutionary email-powered blogging platform. Transform your inbox into a publishing powerhouse! Send emails to create beautiful blog posts instantly. Self-hosted, zero dependencies, lightning-fast Go backend with Vue.js frontend. PWA ready, Docker support, Kubernetes deployment included. πŸ“§βœ¨

License

Notifications You must be signed in to change notification settings

meysam81/tarzan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 Tarzan - Revolutionary Email-Powered Blogging Platform

CI/CD Pipeline Go Report Card Vulnerability Scan

Latest Release Docker Image Docker Pulls Docker Image Container Security

License GitHub Sponsors Contributors Community Chat

Go Version Vue.js TailwindCSS SQLite | Redis

oxlint Pre-commit 12-Factor App PWA Ready

Email Powered Self Hosted Air Gap Ready RSS & Sitemap

Demo Sponsor

Transform your inbox into a publishing powerhouse with revolutionary email-powered blogging.

Tarzan revolutionizes content creation by turning every email you send into a beautifully rendered blog post. Built with cutting-edge technology and an unwavering commitment to simplicity, Tarzan empowers creators to publish content effortlessly while maintaining complete control over their data and infrastructure.

✨ Why Choose Tarzan?

🎯 Effortless Publishing

Simply send an email to your configured domain, and watch as Tarzan transforms it into a polished blog post. No complex interfaces, no learning curvesβ€”just pure, intuitive content creation.

πŸ”’ Complete Ownership & Privacy

Your content, your rules. Tarzan is completely self-hostable with no vendor lock-in, ensuring your valuable content remains under your complete control.

⚑ Lightning-Fast Performance

Built with Go and powered by native SQLite, Tarzan delivers exceptional speed and efficiency, making your blog blazingly fast for both you and your readers.

🎨 Stunning Visual Design

Experience exceptional styling and UI with beautiful colors and responsive design that adapts seamlessly across all devices and screen sizes.

πŸš€ Key Features

πŸ“¦ Deployment Excellence

  • Single Binary Deployment: Entire application packaged in one compiled binary with all batteries included
  • No Dynamic Dependencies: Perfect for air-gapped environments and secure deployments
  • 12-Factor App Compliance: Highly configurable and cloud-native ready
  • Docker Support: Containerized with native Docker Compose support - deploy with one command
  • PWA Ready: Install as a Progressive Web App on any desktop or mobile device

πŸ›  Technical Superiority

  • Go Backend: Ultra-fast, minimal dependencies, exceptional performance
  • Vue.js Frontend: Modern, component-based UI compiled with Vite into minified static assets
  • SQLite Native: Local data storage with configurable database location
  • TailwindCSS: Future-proof styling with extensive customization capabilities
  • RSS & Sitemap: Built-in support for content syndication and SEO
  • Oxlint Integration: Blazingly fast ESLint alternative for superior code quality and performance
  • Pre-commit Hooks: Comprehensive automated checks ensuring consistent code formatting, security, and maintainability

πŸ” Security & Authentication

  • Basic Authentication: Secure webhook endpoints with configurable credentials
  • Inbound Email Processing: Seamless integration with Postmark's inbound email system
  • SEO Optimized: Configurable SEO settings (create your own robots.txt)

🌟 Open Source Excellence

  • Apache 2.0 License: OSI-approved permissive licensing
  • Professional CI/CD: State-of-the-art pipeline with cosign-signed releases
  • Zero Vulnerabilities: Kubescape security scans on every commit ensure container images & compiled binaries remain vulnerability-free
  • Exceptional Code Organization: DRY, KISS principles with dependency injection
  • Long-term Maintainability: Static typing, separation of concerns, modular architecture

πŸš€ Quick Start

Docker Compose (Recommended)

Get Tarzan running in seconds with our one-command deployment:

curl -o .env https://raw.githubusercontent.com/meysam81/tarzan/main/.env.example
curl -o docker-compose.yml https://raw.githubusercontent.com/meysam81/tarzan/main/compose.yml
# modify the .env as desired
docker compose up -d

Your blog will be accessible at http://localhost:8000

Docker

docker run -d \
  --name tarzan \
  -p 8000:8000 \
  -v tarzan-data:/data \
  ghcr.io/meysam81/tarzan:latest

Binary Download

Download the latest release for your platform:

# Linux/macOS
curl -L https://github.com/meysam81/tarzan/releases/latest/download/tarzan_linux_amd64.tar.gz | tar xz
./tarzan

# Windows
# Download from GitHub releases page

Kubernetes Deployment (Enterprise Ready)

Tarzan includes official Kubernetes deployment manifests that are security-hardened for production environments:

# tarzan/kustomization.yml
resources:
  - https://github.com/meysam81/tarzan//deploy/k8s?ref=v1.0.0&timeout=2m

namespace: default

And then apply this resource:

kubectl apply -k ./tarzan/

The Kubernetes deployment includes:

  • Security-hardened containers: Non-root user, read-only filesystem, dropped capabilities
  • Health checks: Configurable liveness and readiness probes
  • Resource management: Optimized for efficient cluster resource usage
  • Persistent storage: Configurable PVC for data persistence
  • Production-ready: Rolling updates with zero-downtime deployment strategy

βš™οΈ Configuration

Tarzan follows 12-factor app principles for maximum flexibility:

# Basic configuration
export TARZAN_PORT=8000
export TARZAN_BASE__URL=https://yourdomain.com
export TARZAN_AUTH_USERNAME=your-username
export TARZAN_AUTH_PASSWORD=your-secure-password

# Advanced options
export TARZAN_DIR_DB=/path/to/database.db
export TARZAN_DIR_STORAGE=/path/to/attachments

πŸ“§ Email Integration

Configure your domain's MX record to point to Postmark's inbound servers:

  1. Set MX Record: Point your domain to inbound.postmarkapp.com
  2. Configure Webhook: Set your Tarzan instance as the webhook endpoint
  3. Start Publishing: Send emails to your domain and watch them become blog posts

For detailed setup instructions, visit our Email Integration Guide

🎨 Customization

Tarzan's beautiful interface is built with TailwindCSS, making customization straightforward:

  • Modify color schemes and typography
  • Adjust responsive breakpoints
  • Customize component layouts
  • Add your brand identity

🀝 Community & Support

Get Help

  • Community Chat: Join our Zulip Server for real-time support
  • Issues: Report bugs or request features on GitHub

Support Development

Love Tarzan? Consider supporting continued development:

Sponsor

Your support helps maintain this project and develop new features that benefit the entire community.

πŸ“ˆ Performance & Reliability

  • Sub-millisecond Response Times: Go's efficiency meets SQLite's speed
  • Minimal Resource Usage: Runs efficiently on modest hardware
  • Air-Gap Compatible: No external dependencies
  • Automated Testing: Comprehensive CI/CD with release automation
  • Production Ready: Battle-tested in real-world deployments

πŸ”„ Migration & Vendor Freedom

Tarzan believes in data portability and vendor freedom:

  • Export your content in multiple formats
  • SQLite database ensures easy data access
  • No proprietary formats or lock-in mechanisms
  • Migrate to/from other platforms effortlessly

πŸ“± Modern Web Standards

  • Progressive Web App: Install and use like a native application
  • Responsive Design: Perfect experience across all device types
  • Accessibility: WCAG compliant with screen reader support
  • Modern JavaScript: ES6+ with optimal browser compatibility

πŸ—οΈ Architecture

Tarzan's architecture prioritizes maintainability and extensibility:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Vue.js SPA    β”‚    β”‚   Go HTTP Server β”‚    β”‚  SQLite Databaseβ”‚
β”‚  (TailwindCSS)  │◄──►│                  │◄──►│   (Local File)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                       β”‚                       β”‚
         β”‚                       β–Ό                       β”‚
         β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚
         └─────────────►│  Static Assets   β”‚β—„β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚  (Embedded)      β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“„ License

Tarzan is proudly open source under the Apache License 2.0. This OSI-approved license ensures maximum freedom for both personal and commercial use while maintaining attribution to the original creators.

🎯 What's Next?

  • Plugin System: Extensible architecture for community contributions
  • Multi-language Support: Internationalization for global audiences
  • Advanced Theming: Visual theme marketplace and customization tools
  • Enhanced Analytics: Detailed insights into content performance

Ready to revolutionize your blogging experience?

πŸš€ Start Your Journey | πŸ“– Read the Docs | πŸ’¬ Join Community

Built with ❀️ by @meysam81 and the open source community

About

🌟 Revolutionary email-powered blogging platform. Transform your inbox into a publishing powerhouse! Send emails to create beautiful blog posts instantly. Self-hosted, zero dependencies, lightning-fast Go backend with Vue.js frontend. PWA ready, Docker support, Kubernetes deployment included. πŸ“§βœ¨

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors 2

  •  
  •