Add Synchronet BBS with Legend of the Red Dragon
- Configure bbsio/synchronet:3.19c Docker image - Expose web interface (ports 8023/8443) and fTelnet websocket terminals - Include telnet (23), SSH (2222), and classic BBS protocols - LORD (Legend of the Red Dragon) included as built-in door game - Add comprehensive README with setup and configuration instructions
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
# Synchronet BBS - Legend of the Red Dragon
|
||||
|
||||
This is a Synchronet BBS instance configured to host Legend of the Red Dragon (LORD) and other classic BBS door games.
|
||||
|
||||
## Features
|
||||
|
||||
- **Web-based terminal access** via fTelnet (your friends can play in a browser!)
|
||||
- **Classic telnet access** on port 23
|
||||
- **SSH access** on port 2222
|
||||
- **LORD (Legend of the Red Dragon)** - JavaScript port included with Synchronet
|
||||
- Additional door games available through Synchronet's xtrn system
|
||||
|
||||
## Initial Setup
|
||||
|
||||
### 1. First Run - Initialize Configuration
|
||||
|
||||
```bash
|
||||
cd /home/poprhythm/docker-infrastructure/synchronet
|
||||
docker compose up -d
|
||||
# Wait a few seconds for initialization
|
||||
docker compose down
|
||||
sudo chmod -R a+rwX /srv/synchronet
|
||||
```
|
||||
|
||||
### 2. Run Configuration Program
|
||||
|
||||
Configure your BBS name, sysop info, and enable LORD:
|
||||
|
||||
```bash
|
||||
docker exec -it synchronet scfg
|
||||
```
|
||||
|
||||
In the configuration menu:
|
||||
- Navigate to **System** → Set your BBS name and sysop information
|
||||
- Navigate to **External Programs** → **Online Programs (Doors)** → **Available Online Programs**
|
||||
- Look for LORD or add it if not already configured
|
||||
- Save and exit (ESC to go back, then save when prompted)
|
||||
|
||||
### 3. Enable LORD Door Game
|
||||
|
||||
LORD comes with Synchronet as a JavaScript implementation. To enable it:
|
||||
|
||||
```bash
|
||||
# Connect to the container
|
||||
docker exec -it synchronet bash
|
||||
|
||||
# Run the install script for LORD
|
||||
cd /sbbs
|
||||
./exec/jsexec /sbbs/xtrn/install-xtrn.js lord
|
||||
|
||||
# Exit the container
|
||||
exit
|
||||
```
|
||||
|
||||
Alternatively, you can manually configure LORD through scfg:
|
||||
- **External Programs** → **Online Programs** → **Main** section
|
||||
- Add new program with:
|
||||
- **Name**: Legend of the Red Dragon
|
||||
- **Internal Code**: LORD
|
||||
- **Start-up Directory**: ../xtrn/lord
|
||||
- **Command Line**: ?lord.js
|
||||
|
||||
### 4. Restart the BBS
|
||||
|
||||
```bash
|
||||
docker compose restart
|
||||
```
|
||||
|
||||
## Access Methods
|
||||
|
||||
### Web Browser (Recommended for friends)
|
||||
|
||||
After setting up nginx-proxy-manager:
|
||||
- Navigate to `https://bbs.kolpacksoftware.com` (or your chosen domain)
|
||||
- Use the fTelnet web interface to connect
|
||||
- Direct websocket URLs:
|
||||
- WS: `ws://your-domain:1123`
|
||||
- WSS: `wss://your-domain:11235`
|
||||
|
||||
### Direct Telnet
|
||||
|
||||
```bash
|
||||
telnet your-server.com 23
|
||||
```
|
||||
|
||||
### SSH
|
||||
|
||||
```bash
|
||||
ssh -p 2222 new@your-server.com
|
||||
```
|
||||
|
||||
## nginx-proxy-manager Configuration
|
||||
|
||||
Configure in NPM web interface:
|
||||
|
||||
1. **Proxy Host for Web Interface**:
|
||||
- Domain: `bbs.kolpacksoftware.com` (or your choice)
|
||||
- Forward Hostname/IP: `synchronet` (container name)
|
||||
- Forward Port: `80`
|
||||
- Enable SSL certificate
|
||||
|
||||
2. **Proxy Host for WebSocket Terminal** (optional, for secure WSS):
|
||||
- Domain: `bbs-term.kolpacksoftware.com`
|
||||
- Forward Hostname/IP: `synchronet`
|
||||
- Forward Port: `11235`
|
||||
- Enable **WebSocket Support**
|
||||
- Enable SSL certificate
|
||||
|
||||
## File Locations
|
||||
|
||||
- **Config**: `/srv/synchronet/ctrl/`
|
||||
- **Door games**: `/srv/synchronet/xtrn/`
|
||||
- **Web files**: `/srv/synchronet/web/`
|
||||
- **User data**: `/srv/synchronet/data/`
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Check logs
|
||||
|
||||
```bash
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
### Access container shell
|
||||
|
||||
```bash
|
||||
docker exec -it synchronet bash
|
||||
```
|
||||
|
||||
### Reset permissions
|
||||
|
||||
```bash
|
||||
sudo chmod -R a+rwX /srv/synchronet
|
||||
```
|
||||
|
||||
### LORD not appearing
|
||||
|
||||
1. Check that LORD is enabled in scfg under External Programs
|
||||
2. Verify the command line is set correctly
|
||||
3. Check `/srv/synchronet/xtrn/lord/` exists and has the game files
|
||||
|
||||
## Additional Door Games
|
||||
|
||||
Synchronet includes many door games and can run DOS doors through DOSEMU. Popular ones included:
|
||||
- **LORD** (Legend of the Red Dragon)
|
||||
- **TradeWars 2002**
|
||||
- **BRE (Barren Realms Elite)**
|
||||
- **Usurper**
|
||||
|
||||
Install additional doors through scfg or the install-xtrn.js script.
|
||||
|
||||
## Sources & Documentation
|
||||
|
||||
- [Synchronet Docker GitHub](https://github.com/bbs-io/synchronet-docker)
|
||||
- [Synchronet Wiki - Door Installation](http://wiki.synchro.net/howto:door:index)
|
||||
- [Synchronet Wiki - LORD Setup](http://wiki.synchro.net/howto:door:lord)
|
||||
- [fTelnet Web Terminal](https://www.ftelnet.ca/)
|
||||
- [LORD Online](https://lord.stabs.org/)
|
||||
@@ -0,0 +1,29 @@
|
||||
services:
|
||||
synchronet:
|
||||
image: bbsio/synchronet:3.19c
|
||||
container_name: synchronet
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- npm-network
|
||||
ports:
|
||||
# Web interfaces
|
||||
- "8023:80" # HTTP web interface
|
||||
- "8443:443" # HTTPS web interface
|
||||
# Terminal access
|
||||
- "23:23" # Telnet
|
||||
- "2222:22" # SSH (using 2222 to avoid conflict with host SSH)
|
||||
# Web-based terminal (fTelnet)
|
||||
- "1123:1123" # WebSocket terminal (ws)
|
||||
- "11235:11235" # WebSocket terminal (wss)
|
||||
# Optional: Classic BBS protocols
|
||||
- "21:21" # FTP
|
||||
- "6667:6667" # IRC
|
||||
volumes:
|
||||
- /srv/synchronet:/sbbs-data
|
||||
environment:
|
||||
- TZ=America/New_York
|
||||
- SBBSCTRL=/sbbs-data/ctrl
|
||||
|
||||
networks:
|
||||
npm-network:
|
||||
external: true
|
||||
Reference in New Issue
Block a user