Discourse installation
Forum Fortress for Discourse checks supported registrations, public topics and replies, public-content edits, and profile changes before Discourse accepts them. The first public release is 0.1 alpha and targets current self-hosted Discourse.
Before you start
Make sure you have:
- a current standard self-hosted Discourse Docker installation
- SSH and root or sudo access to the Discourse host
- a recent site backup
- Discourse administrator access
- outbound HTTPS access to hosts ending in
*.ffapi.net
This alpha should first be installed on a test or backed-up site. Hosted Discourse plans that do not permit arbitrary third-party plugins require approval from the hosting provider.
Install on standard Docker Discourse
Open /var/discourse/containers/app.yml and find the existing hooks and after_code block. Keep the docker_manager line and add the Forum Fortress clone beneath it:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/Forum-Fortress/discourse.git discourse-forum-fortress
If your existing clone lines begin with sudo -E -u discourse, use the same prefix for the Forum Fortress line.
Rebuild Discourse:
cd /var/discourse
./launcher rebuild app
The rebuild can take several minutes and briefly interrupts the forum. When it completes, sign in to Discourse as an administrator.
First connection
- Open Admin → Plugins → Forum Fortress → Dashboard.
- Enable Forum Fortress if it is not already enabled.
- Leave the API key blank for a new installation; the first connection test can bootstrap the site automatically.
- Keep Allow requests when Forum Fortress is unavailable enabled initially.
- Select Test connection. Initial bootstrap may take up to 30 seconds.
- Select Open Forum Fortress portal to sign in or connect the forum to an account.
The API key remains in Discourse's server-side site settings and is not sent to ordinary browser clients.
What is protected
- new ordinary-user registrations before acceptance
- new public topics and replies before publication
- public reply edits and first-post body or title edits
- username, display-name, bio, and website changes where Discourse exposes a supported pre-save path
Private messages are not sent to Forum Fortress. Staff, system, bot, and staged-user activity is skipped. Discourse has no native user-signature feature, so there is no signature check.
Failure behaviour
Normal checks use a short bounded timeout. First-time bootstrap has a separate 30-second maximum. With fail-open enabled, network or service failures let the Discourse action continue so an outage does not lock the community. Administrators can choose fail-closed behaviour in the plugin settings.
Updating
Back up the site, then rebuild Discourse. The standard rebuild fetches the current plugin source:
cd /var/discourse
./launcher rebuild app
After an update, open the Forum Fortress dashboard and run Test connection.
Removing the plugin
Run the cleanup task before removing the clone line so the authenticated Forum Fortress site can be deprovisioned:
cd /var/discourse
./launcher enter app
cd /var/www/discourse
RAILS_ENV=production bundle exec rake forum_fortress:uninstall
exit
Then remove the Forum Fortress git clone line from /var/discourse/containers/app.yml and rebuild:
cd /var/discourse
./launcher rebuild app
Disabling the plugin without running the cleanup task is reversible and does not disconnect the site.
Troubleshooting
| Symptom | What to check |
|---|---|
| Rebuild cannot clone the plugin | Confirm the host can reach github.com over HTTPS and that the repository URL is exact. |
| Plugin does not appear in Admin | Confirm the clone destination is discourse-forum-fortress, then inspect the rebuild output for plugin errors. |
| Connection test times out | Allow up to 30 seconds for first bootstrap; check DNS, outbound HTTPS, proxy, and firewall rules for *.ffapi.net. |
| Portal login does not open | Allow popups and redirects from the Discourse admin page, then try again. |
| Legitimate activity is blocked | Review the decision in the Forum Fortress portal and include its decision reference when contacting support. |
For more help, use the general troubleshooting guide or Forum Fortress support.