app: add haven

This commit is contained in:
Nicolas Meienberger 2022-09-30 00:13:54 +02:00
parent 4b27f1c916
commit 26bae2853f
4 changed files with 101 additions and 0 deletions

37
apps/haven/config.json Normal file
View File

@ -0,0 +1,37 @@
{
"$schema": "../schema.json",
"name": "Haven",
"available": true,
"port": 8130,
"id": "haven",
"exposable": true,
"tipi_version": 1,
"version": "a0280ce",
"categories": ["social"],
"description": "Self-hostable private blogging",
"short_desc": "Self-hostable private blogging",
"author": "mawise",
"source": "https://github.com/havenweb/haven",
"website": "https://havenweb.org/index.html",
"form_fields": [
{
"type": "text",
"label": "Email",
"required": true,
"env_variable": "HAVEN_USER_EMAIL"
},
{
"type": "password",
"label": "Haven password",
"max": 50,
"min": 8,
"required": true,
"env_variable": "HAVEN_USER_PASSWORD"
},
{
"type": "random",
"label": "DB password",
"env_variable": "HAVEN_DB_PASSWORD"
}
]
}

View File

@ -0,0 +1,49 @@
version: '3.7'
services:
haven:
image: ghcr.io/havenweb/haven:a0280ce
container_name: haven
depends_on:
- haven-db
ports:
- ${APP_PORT}:3000
volumes:
- ${APP_DATA_DIR}/data/storage:/storage
environment:
- RAILS_ENV=production
- HAVEN_DB_HOST=haven-db
- HAVEN_DB_NAME=haven
- HAVEN_DB_ROLE=haven
- HAVEN_DB_PASSWORD=${HAVEN_DB_PASSWORD}
- HAVEN_USER_EMAIL=${HAVEN_USER_EMAIL}
- HAVEN_USER_PASS=${HAVEN_USER_PASSWORD}
networks:
- tipi_main_network
labels:
traefik.enable: ${APP_EXPOSED}
traefik.http.routers.haven.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.haven.entrypoints: websecure
traefik.http.routers.haven.service: haven
traefik.http.routers.haven.tls.certresolver: myresolver
traefik.http.services.haven.loadbalancer.server.port: 3000
haven-db:
image: postgres:13.2-alpine
container_name: haven-db
command: [
"postgres",
"-c", "max_connections=1000",
"-c", "synchronous_commit=off",
"-c", "fsync=off",
"-c", "full_page_writes=off",
"-c", "max_wal_size=4GB",
"-c", "checkpoint_timeout=30min",
"-c", "wal_level=logical"
]
environment:
POSTGRES_HOST_AUTH_METHOD: trust
POSTGRES_USER: haven
volumes:
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
networks:
- tipi_main_network

View File

@ -0,0 +1,15 @@
[Haven](https://havenweb.org) 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB