How to use
By default, sqlite is used, so it's easy to get started. Download the binary and migrate the database with:
Create a superadmin:
Finally, start the server:
There are three types of privileged users in orangeforum:
superadmin has rights to
everything across all groups. This includes editing/deleting/closing posts across all groups and editing the list
of mods/admins for all groups in the forum.
mods of a group can edit/delete/close posts in that group.
a group have all the privileges of mods for that group and can also edit the name/description of the group and assign
mods for that group.
Orangeforum allows all users to create groups. The user that creates a group becomes an admin of that group. This can be disabled and group creation can be restricted to the superadmin.
- Go 1.8 (only for compiling)
- Postgres 9.5 (or use embedded sqlite3)
-addr <port>: Use
./orangeforum -addr :8086to listen on port 8086.
-dsn <data_source_name>: PostgreSQL and SQLite are supported. SQLite is the default driver.
To use postgres, run
./orangeforum -dbdriver postgres -dsn postgres://pguser:pgpasswd@localhost/orangeforum
To save an sqlite db at a different location, run
./orangeforum -dsn path/to/myforum.db.
./orangeforum -usei2p=trueto forward the service to i2p.
-i2pini file: Use
./orangeforum -i2pini contrib/tunnels.orangeforum.confto configure an i2p service with an ini-like file.
When using i2p, the listening port will be set by the i2p configuration, and arguments passed to -addr will be canceled out.
To build the an image for running orangeforum within docker from source, first clone this git repository and change to it's directory. Then run:
docker build -t $(whoami)/orangeforum .
To use within docker, you can run by creating a data container interactively to set up the superuser, then automatically close:
docker run -i -t --name orangeforum-volume \ --volumes orangeforum:/opt/orangeforum \ $(whoami)/orangeforum orangeforum -createsuperuser
Then, run orangeforum as a docker daemon, using the volume from the other docker container:
docker run -i -t -d -e args="" \ --name orangeforum \ --volumes-from orangeforum-volume \ -p 127.0.0.0:9123:9123 \ $(whoami)/orangeforum
If you want, you can check if it's running, for instance
docker logs orangeforum
-help: Show a list of all commands and options.
-migrate: Migrate the database. Run this once after updating the orangeforum binary (or when starting afresh).
-createsuperuser: Create a super admin.
-createuser: Create a new user with no special privileges.
-changepasswd: Change password of a user.
-deletesessions: Drop all sessions and log out all users.
optionally, you can pass commands to the docker container by setting the environment variable args when running the container, for instance
docker run -i -t -d \ -e args="-deletesessions" \ --volumes-from orangeforum-volume \ --name orangeforum \ $(whoami)/orangeforum