bbs-io / synchronet-docker

Containerized Synchronet BBS
ISC License
52 stars 4 forks source link

Synchronet BBS Software

Synchronet is a modern bulletin board software supporting classic terminal interfaces as well as modern web interfaces and other services.

The repository source is meant to build/push to bbsio/synchronet on Docker Hub. For the @bbs/synchronet utility, click here

Tags

UPDATES

Stick to bbsio/synchronet:3.19c if you are currently running a version prior to 3.20 you should until this project is updated to work through issues regarding the 3.20 migration scripts. They don't seem to like /sbbs/ctrl as a symbolic link inside the container.

See updates document for more information.

Windows Users

If you are running Windows, it is recommended that you first install WSL2, then Docker Desktop, configured for WSL2 and doing your volume mounts from inside WSL2 (such as with Ubuntu). VS Code with WSL Remote extension will make editing much easier to work with. Note: you can access your WSL2 instances in explorer via \\wsl$. You may want to add your SBBS volume directory to your Quick access shortcuts.

First Run

For your first run, you may want to run the Synchronet Configuration Program (scfg) before you proceed to start any services.

mkdir -p ~/sbbs
cd ~/sbbs
docker run --rm -it -v "$PWD:/sbbs-data" bbsio/synchronet:latest scfg

This will create your sbbs storage directory inside your profile, and run the synchronet configuration program with that directory connected. This container is setup so that the data directories are initialized on first run of (scfg or sbbs) if necessary.

Docker Compose

The easiest way to get running is with docker-compose.

mkdir -p ~/sbbs
cd ~/sbbs
wget -O docker-compose.yml https://raw.githubusercontent.com/bbs-io/synchronet-docker/master/docker-compose.yml
docker-compose up -d
sudo chmod -R a+rwX ./*

To shutdown:

docker-compose down

To get a bash prompt inside the running container:

docker exec -it sbbs bash

Editing Content

If you are wanting to edit/update files, you may want to run the following on your common shared path, as files are created as root within the container.

sudo chmod a+rwX ~/sbbs

or

docker exec -it sbbs sbbs-access

Volumes

In order to better support portability, you should mount your storage directory to /sbbs-data/ inside the running container. Most directories will be populated on first run.

Under your /sbbs-data/ directory, the following directories will be populated.

WARNING: If you are bringing in a configuration from outside this project, you should make sure your ctrl/sbbs.ini is NOT binding to IPv6 addresses, this will likely cause problems running in the container.

Ports

Synchronet is preconfigured for the following services/ports, see /sbbs/ctrl/sbbs.ini and /sbbs/ctrl/services.ini for additional configuration.

Other services/ports that may be enabled:

License

This project is ISC Licensed, Synchronet itself is mostly GPL.