New website suggestion. Testing only.
Find a file
2018-05-28 00:26:46 +02:00
khaganat Add the NSFW mode 2018-05-27 18:45:52 +02:00
logs Add the NSFW mode 2018-05-27 18:45:52 +02:00
navbar Enforce coding style 2018-05-27 11:48:14 +02:00
neluser Add the NSFW mode 2018-05-27 18:45:52 +02:00
pages Add markdown support for flat pages 2018-02-25 20:46:41 +01:00
.gitignore Untrack the Pipfile.lock 2018-05-28 00:26:46 +02:00
LICENSE.txt Add the AGPL license 2018-01-26 21:49:00 +01:00
manage.py first commit 2018-01-13 12:29:33 +01:00
Pipfile Add gunicorn to dev-packages 2018-03-03 11:18:59 +01:00
README.md Add the NSFW mode 2018-05-27 18:45:52 +02:00

Khaganat's web site

Requirements

  • Python 3.6 or newer
  • pipenv
  • git
  • gettext

Quick deployment

git clone https://git.khaganat.net/Tycho/khaganat-web.git khaganat-web
cd khaganat-web
vim .env
pipenv --three --update
pipenv run ./manage.py migrate
pipenv run ./manage.py collectstatic
pipenv run ./manage.py compilemessages
pipenv run ./manage.py createsuperuser

Then configure your server as you like. One way to deploy is to use Nginx and uWSGI:

You can get the virtualenv's path using pipenv --venv. Do not forget to check the deployment checklist.

Environment variables

You can set the following variables in the .env file:

  • KHAGANAT_SECRET_KEY (required): Django's secret key, keep it secret (tip: generate one using openssl rand -base64 42).
  • KHAGANAT_DEBUG: Debug mode, default is false.
  • KHAGANAT_HOSTNAMES: Allowed hostnames, coma separated.
  • KHAGANAT_LANGUAGE_CODE: Language code, default is fr.
  • KHAGANAT_TIME_ZONE: Time zone, default is Europe/Paris.
  • KHAGANAT_STATIC_URL: URL for static files, default is /static/.
  • KHAGANAT_STATIC_ROOT: Absolute path to the directory where static files should be collected.
  • KHAGANAT_LOGS_MIN_DAYS: Numbers of days before logs are hidden, default is 7.
  • KHAGANAT_LOGS_MAX_DAYS: Number of days before logs are published, default is 0.
  • KHAGANAT_LOGIN_REDIRECT_URL: URL to redirect after user login. Will be reversed, default is index.
  • KHAGANAT_REGISTER_REQUIRE_VALIDATION: require email validation upon registration, default is true.
  • KHAGANAT_EMAIL_HOST: The host to use for sending email, default is localhost.
  • KHAGANAT_EMAIL_PORT: Port to use for the SMTP server, default is 25.
  • KHAGANAT_EMAIL_HOST_USER: Username to use for the SMTP server, default is empty (no authentication).
  • KHAGANAT_EMAIL_HOST_PASSWORD: Password to use for the SMTP server, default is empty.
  • KHAGANAT_EMAIL_USE_TLS: Whether to use a TLS connection to the SMTP server, default is False.
  • KHAGANAT_EMAIL_SUBJECT_PREFIX: Subject-line prefix for email, default is empty.
  • KHAGANAT_DEFAULT_FROM_EMAIL: Default email address to use, default is no-reply@localhost.
  • KHAGANAT_FORCE_HTTPS: If True, enable the use of KHAGANAT_HTTPS_HEADER_NAME and KHAGANAT_HTTPS_HEADER_VALUE to set the SECURE_PROXY_SSL_HEADER configuration option. Default is False.
  • KHAGANAT_HTTPS_HEADER_NAME: Header name for SECURE_PROXY_SSL_HEADER, default is HTTP_X_FORWARDED_PROTO.
  • KHAGANAT_HTTPS_HEADER_VALUE: Header value for SECURE_PROXY_SSL_HEADER, default is https.
  • KHAGANAT_NSFW_TAGS: Coma-separated list of words that triggers the content warning in logs, default is \#nsfw.
  • KHAGANAT_NSFW_NAME: Name of the cookie holding the NSFW allowance, default is nsfw_allowed.