Merge pull request #1030 from Dokploy/feat/bonfire

feat: add Bonfire template
This commit is contained in:
Mauricio Siu
2026-07-14 23:38:14 -06:00
committed by GitHub
4 changed files with 157 additions and 0 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 72 KiB

View File

@@ -0,0 +1,84 @@
version: "3.8"
services:
bonfire:
image: bonfirenetworks/bonfire:1.0.5-social-amd64
restart: unless-stopped
depends_on:
db:
condition: service_healthy
search:
condition: service_started
environment:
# Instance
- HOSTNAME=${BONFIRE_HOSTNAME}
- PUBLIC_PORT=${PUBLIC_PORT:-80}
- SERVER_PORT=4000
- APP_NAME=${APP_NAME:-Bonfire}
- LANG=en_US.UTF-8
# Secrets
- SECRET_KEY_BASE=${SECRET_KEY_BASE}
- SIGNING_SALT=${SIGNING_SALT}
- ENCRYPTION_SALT=${ENCRYPTION_SALT}
- RELEASE_COOKIE=${RELEASE_COOKIE}
# Database (migrations run automatically on startup)
- POSTGRES_HOST=db
- POSTGRES_USER=postgres
- POSTGRES_DB=bonfire_db
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
# Must stay false for the initial migrations; can be set to true
# after the first deployment to speed up future upgrades
- DB_MIGRATE_INDEXES_CONCURRENTLY=${DB_MIGRATE_INDEXES_CONCURRENTLY:-false}
# Search (Meilisearch)
- SEARCH_ADAPTER=meili
- SEARCH_MEILI_INSTANCE=http://search:7700
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
# Email (the first account to sign up becomes admin and needs no
# confirmation email; configure a mail backend for further signups)
- MAIL_BACKEND=${MAIL_BACKEND:-none}
- MAIL_SERVER=${MAIL_SERVER:-}
- MAIL_PORT=${MAIL_PORT:-}
- MAIL_USER=${MAIL_USER:-}
- MAIL_PASSWORD=${MAIL_PASSWORD:-}
- MAIL_DOMAIN=${MAIL_DOMAIN:-}
- MAIL_FROM=${MAIL_FROM:-}
- MAIL_KEY=${MAIL_KEY:-}
# Max upload size in megabytes
- UPLOAD_LIMIT=${UPLOAD_LIMIT:-20}
volumes:
- bonfire-uploads:/opt/app/data/uploads
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:4000"]
interval: 30s
timeout: 10s
retries: 15
start_period: 120s
db:
image: postgis/postgis:17-3.5-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=postgres
- POSTGRES_DB=bonfire_db
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
volumes:
- db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d bonfire_db"]
interval: 10s
timeout: 5s
retries: 10
search:
image: getmeili/meilisearch:v1.11
restart: unless-stopped
environment:
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
- MEILI_ENV=production
- MEILI_NO_ANALYTICS=true
volumes:
- search-data:/meili_data
volumes:
bonfire-uploads:
db-data:
search-data:

View File

@@ -0,0 +1,17 @@
{
"id": "bonfire",
"name": "Bonfire",
"version": "1.0.5",
"description": "Federated social networking toolkit for communities: customizable digital spaces with ActivityPub federation, flexible boundaries and moderation tools.",
"logo": "bonfire.svg",
"links": {
"github": "https://github.com/bonfire-networks/bonfire-app",
"website": "https://bonfirenetworks.org",
"docs": "https://docs.bonfirenetworks.org"
},
"tags": [
"social",
"fediverse",
"activitypub"
]
}

View File

@@ -0,0 +1,55 @@
[variables]
main_domain = "${domain}"
secret_key_base = "${password:64}"
signing_salt = "${password:32}"
encryption_salt = "${password:32}"
release_cookie = "${password:32}"
postgres_password = "${password:32}"
meili_master_key = "${password:32}"
[config]
[[config.domains]]
serviceName = "bonfire"
port = 4000
host = "${main_domain}"
[config.env]
# Domain of your Bonfire instance (must match the domain above)
"BONFIRE_HOSTNAME" = "${main_domain}"
# Port used to build public URLs: keep 80 while the domain is plain HTTP,
# and change to 443 once you enable HTTPS on the domain
# (HTTPS is required for federation with other fediverse instances)
"PUBLIC_PORT" = "80"
# Display name of your instance
"APP_NAME" = "Bonfire"
# Max upload size in megabytes
"UPLOAD_LIMIT" = "20"
# Secrets (auto-generated)
"SECRET_KEY_BASE" = "${secret_key_base}"
"SIGNING_SALT" = "${signing_salt}"
"ENCRYPTION_SALT" = "${encryption_salt}"
"RELEASE_COOKIE" = "${release_cookie}"
"POSTGRES_PASSWORD" = "${postgres_password}"
"MEILI_MASTER_KEY" = "${meili_master_key}"
# Optional: set to true only AFTER the first deployment finished its initial
# database migrations (speeds up index creation during future upgrades)
# "DB_MIGRATE_INDEXES_CONCURRENTLY" = "true"
# --- Email ---
# The first account to sign up becomes the instance admin and does not need
# a confirmation email. Further signups are invite-only by default (the admin
# can create invite links or open up signups in the instance settings), and
# require a working mail backend to confirm their email address.
# Supported backends include smtp, mailgun, brevo, postmark, ses and more:
# https://docs.bonfirenetworks.org/deploy.html
# "MAIL_BACKEND" = "smtp"
# "MAIL_SERVER" = "smtp.example.com"
# "MAIL_PORT" = "587"
# "MAIL_USER" = "postmaster@example.com"
# "MAIL_PASSWORD" = ""
# "MAIL_DOMAIN" = "example.com"
# "MAIL_FROM" = "bonfire@example.com"
# For API-based backends (e.g. mailgun) set the API key instead:
# "MAIL_KEY" = ""