WriteFreely is a clean, minimalist publishing platform made for writers, federated via ActivityPub.
This service requires the following other services:
- a Traefik reverse-proxy server
WriteFreely supports using a MariaDB database, but this Ansible role and playbook are not configured to make use of it.
To enable this service, add the following configuration to your vars.yml
file and re-run the installation process:
########################################################################
# #
# writefreely #
# #
########################################################################
writefreely_enabled: true
writefreely_hostname: writefreely.example.com
writefreely_instance_name: 'A Writefreely blog' # optional
writefreely_instance_description: 'My Writefreely blog' # optional
########################################################################
# #
# /writefreely #
# #
########################################################################
In the example above, we configure the service to be hosted at writefreely.example.com
.
You can add the following variables to add an administrator user during the first setup process:
# You can use any username except "admin" (see below)
writefreely_env_admin_user: ''
writefreely_env_admin_password: ''
Alternatively you can add admins after installation with:
just run-tags writefreely-add-admin --extra-vars=username=<username> --extra-vars=password=<password>
Note that the username admin
is unavailable, as writefreely.example.com/admin
is already taken by the admin dashboard.
Additional user accounts can be added at any time once WriteFreely is running with:
just run-tags writefreely-add-user --extra-vars=username=<username> --extra-vars=password=<password>
Their respective blogs can then be accessed on writefreely.example.com/<username>
.
To customize your settings on first setup, you can adjust the writefreely_env_*
default variables.
After installation, changes in environment variables will be ignored. But you can still change the settings at writefreely.example.com/admin/settings
or by directly changing /mash/writefreely/data/config.ini
.
In case you need to run maintenance tasks as documented in Admin commands, you can run the following commands on the server:
/usr/bin/docker exec mash-writefreely /writefreely/writefreely -c /data/config.ini [command]
For example, to delete an existing user, run:
/usr/bin/docker exec mash-writefreely /writefreely/writefreely -c /data/config.ini user delete [username]