haven is a free, open source social networking project written in Ruby and released under MIT. It has 803 GitHub stars, 48 forks and 18 open issues, and was last pushed 9 hours ago. On this registry it ranks #36 of 44 tracked projects in Social Networking, with 5 head-to-head comparisons available.

What is haven?

Haven is a self-hostable, MIT-licensed private blogging application built with Ruby on Rails, made for people who want to write for a known circle of friends and family rather than publish to the open web.

What it is

Haven is a blogging application written in Ruby on Rails. It lives in the self-hosted and decentralized-web corner of the Ruby ecosystem, and its central design decision is that there is no self-signup: the blog owner creates accounts for the people they want to share with. Reading happens through private RSS feeds and a built-in RSS reader that follows other blogs and other Havens, so a small group can keep up with each other without a social network in the middle.

The concrete problem it addresses is the public-registration blog. On a conventional blogging platform, anyone can register, comment, and scrape, which means spam, trackers, and ad infrastructure come along with the publishing tool. Haven removes that surface entirely: with no self-signup, there is no place for unauthorized users to impact the blog. It also targets low-bandwidth reading, with image downscaling, no JavaScript frameworks, and no ads or trackers, so pages stay light for readers on slow connections.

Key capabilities

  • Built-in web interface for managing users, customizing the blog, and writing and editing posts with markdown and live preview.
  • Private RSS feeds that let friends follow the blog without a public account.
  • Built-in RSS reader for following other blogs and other Havens.
  • Media support for images, videos, and audio, with automatic image downscaling to reduce page load times.
  • Customization through custom CSS or fonts.
  • No self-signup for users, which removes the spam and unauthorized-access vector.
  • Containerized deployment through the included Dockerfile and docker-compose.yml.

Who uses it and how

  • Small private groups: a writer creates accounts for friends and family and shares posts through private RSS, with no public signup path.
  • Raspberry Pi and low-power self-hosters, who run it on hardware they own and keep the data on that hardware.
  • AWS users, who clone the repo, enter the deploymentscripts folder, and run ruby deploy-aws.rb " " to deploy to an EC2 instance with a Route 53 domain and an HTTPS certificate; the script prints login information and can take around 20 minutes.
  • Readers in low-bandwidth environments, who benefit from downscaled images, no JavaScript frameworks, and no ads or trackers.

Getting started

The simplest self-hosted route is Docker: install docker and docker-compose, clone the repository, run cd haven, then docker compose up, after which Haven listens on port 3000. Managed one-click hosting is also offered through PikaPods and Caliber Node, and fully managed hosting is available directly from the author.

How it compares

The README names WordPress and Ghost as the better choices for a company blog, positioning Haven instead as a private-sharing tool whose MIT licence and self-hosting make the operator the owner of the content and the account list. It is not a competitor to those platforms on features; it competes on the absence of public registration, ads, and trackers.

When to use it — and when not to

A self-hoster must operate the deployment themselves, which means Docker and Docker Compose, or an AWS account with EC2 and Route 53 scripts, plus a domain and an HTTPS certificate request. Anyone who needs a public, commercially oriented blog with open registration should not pick it; the README points that audience to WordPress or Ghost. The Heroku path is explicitly limited: it is meant for exploration and experimentation, uploaded images usually disappear within 24 hours, the reader does not update automatically until the reader page is visited, and it will probably cost around $16 per month now that Heroku eliminated its free tier.

project readme (upstream, from github) — read inline

Haven

Haven is a private blog application built with Ruby on Rails. Write what you want, create accounts for people you want to share with, keep up with each other using built-in RSS.

Try out a live demo at https://havenweb.org/demo.html

The following are some motivating philosophies:

  • Open-source. MIT License
  • Privacy-first. This is for sharing with friends and family, not commercial endevors. If you want a blog for your company, you probably want to use WordPress or Ghost instead.
  • Easy to use. Built-in web interface for managing users, customizing the blog, and writing/editing posts with markdown and live-preview.
  • Low-bandwidth friendly. Images get downscaled to reduce page load times. No javascript frameworks. No ads or trackers.
  • Customizable. Add custom CSS or fonts.
  • No spam. There is no self-signup for users so there is no place for unauthorized users to impact your life.
  • Media support for images, videos, and audio.
  • Private RSS feeds for your friends to follow you.
  • Build-in RSS reader to follow your favorite blogs and other Havens.

Deployment

PikaPods

Run on PikaPods

PikaPods is a great platform for hosting open source apps. They currently offer a $5 credit for new members and it costs as little as $2.40/month to host your Haven on PikaPods. You don't even need to give them a credit card to get the $5 credit and try out Haven for a couple of months.

Caliber Node

Run Haven on Caliber Node "One-click self-hosted apps, managed for you — with real logs, SFTP, and your data exportable." Running Haven on Caliber Node costs $4 per month, they provide a $5 sign-up credit for new members--no credit card needed for the credit.

Paid Hosting

Fully managed hosting of your personal Haven is also available from me, check out: https://havenweb.org/order.html

AWS

  • Register an account with AWS, the included scripts deploy to an AWS EC2 instance
  • Buy a domain with AWS route 53, this is the domain that will point to the blog
  • Setup your AWS credentials: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html
  • Clone this project onto your computer (tested with Mac OS Mojave and Ubuntu 18.04)
  • Go to the deploymentscripts folder
  • Execute ruby deploy-aws.rb ""
    • Put your email address in quotes, this email is used for registering your HTTPS certificate
  • Wait. Deployment can take 20 minutes.
  • The script will show you your login information, enjoy your blog
  • Note: if anything goes wrong, you can run ruby cleanup-aws.rb to tear down everything the script created
  • If you get this error: cannot load such file -- aws-sdk-ec2 (LoadError), then type gem install aws-sdk and try again

Heroku

Deploy

The Heroku install is meant for exploration and experimentation as images uploaded to your Haven will usually disapear within 24 hours and the reader will not automatically update until you visit the reader page. The Heroku install requires a Heroku account and should fall under Heroku's free-tier. Update: Heroku is eliminating their free tier, Haven on Heroku will probably cost ~$16/month.

Docker

  1. Install docker and docker-compose
    If you don't know how to install docker and docker-compose, you can find info in introduction to docker , overview of installing docker compose and get docker desktop.

  2. Clone the repository: git clone https://github.com/havenweb/haven.git

  3. Run cd haven

  4. Run docker compose up

  5. Haven will be listening on port 3000

Feel free to use the included Dockerfile and docker-compose.yml. You will want to modify the env vars in docker-compose.yml to specify a different HAVEN_USER_EMAIL and HAVEN_USER_PASS. These will be used to create you initial user (and password) on startup. The docker-compose.yml file will build the docker image from source. If you want to use a standalone docker-compose.yml that pulls a pre-built image, use the file in the deploymentscrips/ directory.

Docker images are published to the GitHub Container Registry

Raspberry Pi and Other Linux Systems

I strongly suggest you use to the docker installation method above.

Frequently asked questions

Is haven free to use?

haven is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does haven do?

Self-hostable private blogging

What is haven written in?

haven is primarily written in Ruby. Its source is publicly available at https://github.com/havenweb/haven, and it has 803 GitHub stars.