selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

B1Admin logo

Self-host B1Admin

selfhost-2026.10.1

Free open-source church management with giving and check-in

BetaOpen SourceMIT
Updatedlast week
LanguageTypescript
Setup difficultyModerate
MobilePWA
Stars
165
RAM
2 GB
Storage
5 GB
Requires
MySQL
Docker
ghcr.io/churchapps/b1-admin
Install with Docker Compose
B1Admin people search dashboardB1 mobile app showing church groupsB1 mobile app sermons screenB1Admin donation summary dashboardB1 mobile app giving screenB1Checkin kiosk household check-in screenB1Admin attendance trend reportB1Admin worship schedule with team assignmentsB1Admin group management pageB1 church website builder editing a home page

What is B1Admin?

B1Admin is a free, open-source church management platform from a 501(c)(3) nonprofit. It bundles a staff dashboard, member portal and website, REST API with websockets, and MySQL into one Docker stack behind Caddy for automatic HTTPS. Features include member and household profiles with AI search, attendance tracking with automated follow-ups, online and recurring giving via Stripe, PayPal, or KingdomFunding with zero platform fees, a drag-and-drop website builder, a progressive web app members install from the church site, and a self-service children's check-in kiosk with name tags and pickup codes. Also included: worship planning with song libraries, custom forms, unlimited groups, multi-campus support, role-based permissions, and reports. Self-hosting uses a one-line installer that generates secrets, pulls prebuilt images from ghcr.io, and provides a helper script for upgrades, backups, and rollbacks. Minimum requirements are roughly 2 GB RAM and 5 GB disk. The code is MIT-licensed with no paid tiers; donations accepted via GitHub Sponsors.

Should you self-host B1Admin?

B1Admin scores 50/100 on selfhost.directory (how scoring works) and ranks #3 of 6 in Community. It has 165 GitHub stars.

It shipped 1 stable release in the past year. The latest, selfhost-2026.10.1, came out on 18 October 2026.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Decidim (63/100, 1 841 stars). It scores higher overall, so compare the two before you pick. See B1Admin vs Decidim side by side.

Features

  • AI-powered people search
  • Attendance Tracking
  • Children's check-in
  • Church website builder
  • Custom forms & registrations
  • Groups & ministries
  • Member & household management
  • Multi-campus support
  • Online giving
  • Reports & exports
  • Roles & Permissions
  • Song library
  • Workflows & automations
  • Worship planning

B1Admin README

How to install B1Admin

Install B1Admin with Docker Compose

Environment variables
All settings in .env next to docker-compose.yml (B1_VERSION, DOMAIN, SITE_ADDRESS, PUBLIC_URL, MYSQL_ROOT_PASSWORD, JWT_SECRET, ENCRYPTION_KEY, MAIL_SYSTEM, SMTP_*, FILE_STORE, AWS_*, OPENAI_API_KEY, etc.)

curl -fsSL https://raw.githubusercontent.com/ChurchApps/B1Admin/main/deploy/install.sh | bash -s -- --domain church.example.org

Leave out --domain to run on http://localhost. The installer creates a b1church folder, writes a .env with freshly generated secrets, pulls the prebuilt images from GitHub Container Registry, and waits until the API reports healthy.

One command installs; ./deploy/b1 upgrade for updates, ./deploy/b1 backup for backups

How to configure B1Admin

  • API_BIBLE_KEYAPI.Bible key for scripture content

    API.Bible key for scripture content

  • AWS_ACCESS_KEY_IDAWS access key for S3

    AWS access key for S3

  • AWS_REGIONAWS region for S3

    AWS region for S3

  • AWS_S3_BUCKETS3 bucket name when FILE_STORE=S3

    S3 bucket name when FILE_STORE=S3

  • AWS_SECRET_ACCESS_KEYAWS secret key for S3

    AWS secret key for S3

  • B1_VERSIONstableRelease tag to pull (stable or specific version)

    Release tag to pull (stable or specific version)

    values: stable or version tag like 2026.10.1

  • DEFAULT_CHURCH_SLUGchurchSlug of the default church served at /

    Slug of the default church served at /

  • DOMAINDomain name for public install

    Domain name for public install

  • ENCRYPTION_KEYPleaseChangeThisDockerDefaultKey32-character key for encrypting stored credentials; never change after storing credentials

    32-character key for encrypting stored credentials; never change after storing credentials

    values: exactly 32 characters

  • FILE_STOREdiskFile storage backend

    File storage backend

    values: disk, S3

  • GOOGLE_RECAPTCHA_SECRET_KEYreCAPTCHA secret for forms

    reCAPTCHA secret for forms

  • JWT_SECRETplease-change-this-jwt-secretSecret for JWT token signing

    Secret for JWT token signing

  • MAIL_SYSTEMEmail provider (SMTP or unset to disable)

    Email provider (SMTP or unset to disable)

    values: SMTP

  • MYSQL_ROOT_PASSWORDchurchappsRoot password for MySQL

    Root password for MySQL

  • OPENAI_API_KEYOpenAI API key for AI features

    OpenAI API key for AI features

  • OPENROUTER_API_KEYOpenRouter API key

    OpenRouter API key

  • PEXELS_KEYPexels API key for stock images

    Pexels API key for stock images

  • PUBLIC_URLhttp://localhostHow browsers and emails reach the site (https://domain or http://localhost)

    How browsers and emails reach the site (https://domain or http://localhost)

  • SITE_ADDRESShttp://localhostWhat Caddy serves; bare domain for public, http://localhost for local

    What Caddy serves; bare domain for public, http://localhost for local

  • SMTP_HOSTSMTP server hostname

    SMTP server hostname

  • SMTP_PASSSMTP password

    SMTP password

  • SMTP_SECUREfalseUse TLS for SMTP

    Use TLS for SMTP

    values: true, false

  • SMTP_USERSMTP username

    SMTP username

  • SUPPORT_EMAILFrom address for system emails

    From address for system emails

  • VIMEO_TOKENVimeo API token for video hosting

    Vimeo API token for video hosting

  • WEB_PUSH_PRIVATE_KEYVAPID private key for push notifications

    VAPID private key for push notifications

  • WEB_PUSH_PUBLIC_KEYVAPID public key for push notifications

    VAPID public key for push notifications

  • WEB_PUSH_SUBJECTVAPID subject (mailto: or https://)

    VAPID subject (mailto: or https://)

  • YOUTUBE_API_KEYYouTube API key for sermon embedding

    YouTube API key for sermon embedding

B1Admin releases & version history

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…