Update README
This commit is contained in:
parent
654f90c384
commit
7325976ebd
95
README.md
95
README.md
|
|
@ -1,3 +1,94 @@
|
|||
# bonfirestarter
|
||||
# Bonfire Automated Installer
|
||||
|
||||
Attempt at an installation and configuration script on "bare metal" for the Fediverse enabled social networking app Bonfire.
|
||||
This repository provides a single script that installs, configures, and deploys the [Bonfire federated platform](https://bonfirenetworks.org/) on a fresh Ubuntu 24.04 server with Nginx and Let’s Encrypt SSL.
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
- Automated installation of dependencies (Postgres, Elixir, Node.js, Nginx, Certbot).
|
||||
- Prompts for domain, email, and database password.
|
||||
- Automatic DNS/FQDN validation (checks A/AAAA records).
|
||||
- Configures Bonfire as a `systemd` service.
|
||||
- HTTPS enabled via Let’s Encrypt.
|
||||
|
||||
---
|
||||
|
||||
## Requirements
|
||||
|
||||
- Fresh Ubuntu 22.04+ or Debian 12+ server.
|
||||
- A fully qualified domain name (FQDN) pointing to the server’s IP.
|
||||
- Root or sudo access.
|
||||
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
### 1. Download the installer
|
||||
```bash
|
||||
git clone https://your-repo-url/bonfire-installer.git
|
||||
cd bonfire-installer
|
||||
chmod +x install_bonfire.sh
|
||||
```
|
||||
### 2 . Run the installer
|
||||
```bash
|
||||
sudo ./install_bonfire.sh
|
||||
```
|
||||
The script will:
|
||||
- Prompt for your **domain name**, **email address**, and **database password**.
|
||||
- Validate that your domain resolves correctly (A/AAAA DNS records).
|
||||
- Install required system packages.
|
||||
- Configure Postgres and Bonfire.
|
||||
- Set up Nginx with SSL.
|
||||
- Create a `systemd` service for Bonfire.
|
||||
|
||||
## Usage
|
||||
|
||||
### Start/Stop/Restart Bonfire
|
||||
```bash
|
||||
sudo systemctl start bonfire
|
||||
sudo systemctl stop bonfire
|
||||
sudo systemctl restart bonfire
|
||||
sudo systemctl status bonfire
|
||||
```
|
||||
----------
|
||||
### Verify Nginx + SSL
|
||||
```bash
|
||||
sudo nginx -t
|
||||
sudo systemctl reload nginx
|
||||
```
|
||||
### Access the App
|
||||
Once installation is complete, open:
|
||||
```http
|
||||
https://yourdomain.com
|
||||
```
|
||||
## Updating Bonfire
|
||||
When new versions are released:
|
||||
```bash
|
||||
cd /opt/bonfire
|
||||
sudo -u bonfire git pull
|
||||
sudo -u bonfire MIX_ENV=prod mix compile
|
||||
sudo -u bonfire MIX_ENV=prod mix ecto.migrate
|
||||
sudo systemctl restart bonfire
|
||||
```
|
||||
## Logs
|
||||
View logs for troubleshooting:
|
||||
```bash
|
||||
journalctl -u bonfire -f
|
||||
```
|
||||
## Uninstall
|
||||
To remove Bonfire and related services:
|
||||
```bash
|
||||
sudo systemctl stop bonfire
|
||||
sudo systemctl disable bonfire
|
||||
sudo rm -rf /opt/bonfire
|
||||
sudo deluser --remove-home bonfire
|
||||
sudo -u postgres dropdb bonfire
|
||||
sudo -u postgres dropuser bonfire
|
||||
sudo rm /etc/systemd/system/bonfire.service
|
||||
sudo systemctl daemon-reload
|
||||
```
|
||||
## Notes
|
||||
- Ensure your domain’s DNS records are properly configured **before** running the installer.
|
||||
- The script is intended for production use on a dedicated server or VM.
|
||||
- For staging/testing, you may adapt the script to use self-signed certificates instead of Let’s Encrypt.
|
||||
|
|
|
|||
Loading…
Reference in New Issue