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