havenweb / haven

Self-hostable private blogging
https://havenweb.org
MIT License
636 stars 33 forks source link
decentralized decentralized-web haven raspberry-pi self-hosted social-network

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:

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 $1.64/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.

KubeSail

KubeSail is a self-hosting platform that makes it easier to run a server in your home or office that runs websites & apps. You can install Haven on Kubesail with the following Kubesail template: https://kubesail.com/template/jphj/haven

AWS

Raspberry Pi

Note, this requires a little bit more technical knowledge. You should know how to flash an SD card and how to use the tools ssh and scp. You should also be able to configure your own DNS and port forwarding. We're doing this fully headless, not plugging in a display or mouse/keybord to the Raspberry Pi.

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.

Paid Hosting

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

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

Feel free to use the included Dockerfile and docker-compose.yml. You probably 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.

Docker images are published to the GitHub Container Registry

Other Linux Systems

Given the differences between Linux platforms I can't give fool-proof deployment instructions for every platform but take a look at the Raspberry PI deployment script. It is not universal, but it should be pretty close for most debian-based systems.