H

Haven

774 stars·Privacy Protection·SHA-256 checksum verified

A private, open-source blog for sharing with friends and family. No ads, no trackers, invite-only.

Smart Download

Visit Project Homepage

No installer available yet — head to the source repository

A private, open-source blog platform for sharing with invited friends and family, no ads or trackers.

Core Features

  • Privacy-first, invite-only registration
  • Markdown editor with live preview
  • Built-in RSS reader
  • Automatic image downscaling for faster loads
  • Customizable CSS and fonts

What It Can't Do

  • •Heroku deployment is not recommended for production; images disappear after 24 hours, and free tier is gone,AWS deployment takes ~20 minutes; use cleanup script if something fails,Ensure admin credentials are set via secure environment variables

Use Cases

  • Private family/friend blog to share updates
  • Small team internal knowledge base

Detailed Introduction

Haven is a Ruby on Rails-based private blog application focused on privacy, ease of use, and low bandwidth. It offers Markdown editing with live preview, built-in RSS reader, media support (images, video, audio), and customizable CSS. Users can only be invited, eliminating spam. It supports self-hosting via Docker, PikaPods, AWS, Heroku, or Raspberry Pi, and provides private RSS feeds for friends.

Troubleshooting & FAQ (2)

How-to
How to build multi-arch Docker images (including ARM64) in GitHub Actions?

Add QEMU and Buildx steps to your workflow, then specify platforms in the build-push action. Use this template:

build-image:
  runs-on: ubuntu-latest
  steps:
    - name: Checkout
      uses: actions/checkout@v4
    - name: Set up QEMU
      uses: docker/setup-qemu-action@v3
    - name: Set up Docker Buildx
      uses: docker/setup-buildx-action@v3
    - name: Login to GitHub Container Registry
      uses: docker/login-action@v3
      with:
        registry: ghcr.io
        username: ${{ github.repository_owner }}
        password: ${{ secrets.GITHUB_TOKEN }}
    - name: Build and push image
      uses: docker/build-push-action@v6
      with:
        context: .
        platforms: linux/amd64,linux/arm64
        push: true
        tags: your-tag

Replace your-tag and adjust registry/credentials as needed. Add needs: create-tag if you have a tagging step.

GitHub Issue #108
Troubleshooting
How to fix Haven Docker restart loop with "A server is already running. Check /app/tmp/pids/server.pid" after updating the latest image?

The PostgreSQL database "haven" already exists message is normally harmless. The restart is caused by a stale Puma PID file, while missing images/customizations are usually caused by the storage path changing from /storage to /app/storage.

1. Edit docker-compose.yml and update the Haven volume mount:

volumes:
  - ./storage:/app/storage

Replace any previous ./storage:/storage mount.

2. Recreate the container and remove the stale PID file:

docker compose down
docker compose rm -f haven
docker compose up -d

If the PID error continues, remove it directly while the container is briefly running:

docker exec -it haven-haven-1 rm -f /app/tmp/pids/server.pid
docker compose restart haven

As a temporary workaround, pin the previous working image:

image: ghcr.io/havenweb/haven:e18a854

GitHub Issue #164

Tags

blogprivacyruby-on-railsself-hostedrssmarkdown

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Clone repo and run 'docker compose up' (recommended)

4

Open http://localhost:3000 in browser

5

Set admin email and password via environment variables

Install Guide
  1. Clone repo and run 'docker compose up' (recommended)
  2. Open http://localhost:3000 in browser
  3. Set admin email and password via environment variables
File Integrity

Checksum not available

This project has not published a SHA-256 checksum on its GitHub Release page

SHA256 Checksum

No checksum available

Download directly from GitHub Releases and verify file integrity yourself

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Stop Docker containers or delete the hosted service (e.g., on PikaPods).

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseMIT
Last Updated2026-10-15 06:37:12
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

2 FAQs

Similar Projects