Installing ANetBBS
Requirements
- Linux (Ubuntu 22.04+ or Debian 12+ recommended)
- Python 3.10+
- ~500 MB disk for app + venv, plus space for
data/ - Open TCP ports for any protocols you want exposed
(default: 5000 web, 2233 telnet, 2234 SSH, 513 rlogin,
21 + 40000-40050 FTP if enabled)
Fresh install
# extract the release tarball somewhere temporary
tar xzf anetbbs-rebuilt-v120.tar.gz
cd anetbbs-rebuilt
# kick off the wizard
sudo python3 -m anetbbs.installer.wizard
The wizard asks every question it needs:
- BBS name + description + sysop name + email
- Public domain (or leave blank if just a LAN box)
- Web / telnet / SSH / rlogin ports + which to enable
- Number of concurrent terminal nodes (1–100)
- Echomail enable/disable
- Admin username + password
It then:
- Generates a strong random
SECRET_KEYand writes.env. - Creates
data/,logs/, etc. - Builds a Python venv and runs
pip install -e. - Initializes the SQLite database and seeds your admin user.
- Optionally installs systemd unit files (with paths and user
replaced for this install — no/opt/anetbbshardcoding).
When it's done you start the services:
sudo systemctl daemon-reload
sudo systemctl enable --now anetbbs-web anetbbs-telnet anetbbs-ssh
Visit http://<your_host>:5000/ and log in.
Re-running the wizard
Safe to re-run — it won't clobber an existing .env without an
explicit "yes" prompt. Use it to redo specific steps after manual
poking.
Putting nginx in front
Copy deploy/anetbbs-nginx.conf.template to
/etc/nginx/sites-available/anetbbs.conf, edit the server_name,
symlink it to sites-enabled/, and reload nginx. The template handles:
- HTTPS via certbot
- WebSocket upgrade for SocketIO + the MRC bridge
auth_requestgating of the MRC WebSocket so only logged-in users
can chat
What the install lays down
| Path | Purpose |
|---|---|
/home/stingray/anetbbs/ |
code (default) |
data/ |
uploads, avatars, SQLite DB |
data/personal_pages/ |
sysop + per-user web pages |
data/file-queue/ |
pending file uploads |
logs/ |
gunicorn + app logs |
venv/ |
Python virtual env |
.env |
runtime config (mode 0600) |