femtowiki
Femtowiki is a tiny wiki written in golang. It has few dependencies and uses very little javascript.
Try the latest version hosted here. Please contact [email protected]
if you have any questions or want support.
How to use
By default, sqlite is used, so it's easy to get started.
Download the binary and migrate the database with:
./femtowiki -migrate
Create a superadmin:
./femtowiki -createsuperuser
Finally, start the server:
./femtowiki
Notes
Femtowiki allows users to create, modify, and delete pages and files.
Admin users control who can perform various actions with the following level of granularity.
- Users belonging to the
PageMaster
group can create, modify, and delete all pages.
- Users belonging to the
FileMaster
group can upload and delete files.
- For users outside the
PageMaster
and FileMaster
groups, read and edit rights can be restricted at the level
of individual pages and files.
- Groups can be created and modified only by admin users.
- The special group
everybody
represents all users and cannot be modified.
- New user registration can be disabled (but admin users can still signup users).
Dependencies
- Go 1.8 (only for compiling)
- Postgres 9.5 (or use embedded sqlite3)
Options
-addr <port>
: Use ./femtowiki -addr :8086
to listen on port 8086.
-dbdriver <db>
and -dsn <data_source_name>
: PostgreSQL and SQLite are supported. SQLite is the default driver.
To use postgres, run ./femtowiki -dbdriver postgres -dsn postgres://pguser:pgpasswd@localhost/dbname
To save an sqlite db at a different location, run ./femtowiki -dsn path/to/mywiki.db
.
Commands
-help
: Show a list of all commands and options.
-migrate
: Migrate the database. Run this once after updating the femtowiki 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.