3 KiB
3 KiB
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 usingopenssl rand -base64 42
).KHAGANAT_DEBUG
: Debug mode, default is false.KHAGANAT_HOSTNAMES
: Allowed hostnames, coma separated.KHAGANAT_LANGUAGE_CODE
: Language code, default isfr
.KHAGANAT_TIME_ZONE
: Time zone, default isEurope/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 isindex
.KHAGANAT_REGISTER_REQUIRE_VALIDATION
: require email validation upon registration, default is true.KHAGANAT_EMAIL_HOST
: The host to use for sending email, default islocalhost
.KHAGANAT_EMAIL_PORT
: Port to use for the SMTP server, default is25
.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 isFalse
.KHAGANAT_EMAIL_SUBJECT_PREFIX
: Subject-line prefix for email, default is empty.KHAGANAT_DEFAULT_FROM_EMAIL
: Default email address to use, default isno-reply@localhost
.KHAGANAT_FORCE_HTTPS
: If True, enable the use ofKHAGANAT_HTTPS_HEADER_NAME
andKHAGANAT_HTTPS_HEADER_VALUE
to set theSECURE_PROXY_SSL_HEADER
configuration option. Default isFalse
.KHAGANAT_HTTPS_HEADER_NAME
: Header name forSECURE_PROXY_SSL_HEADER
, default isHTTP_X_FORWARDED_PROTO
.KHAGANAT_HTTPS_HEADER_VALUE
: Header value forSECURE_PROXY_SSL_HEADER
, default ishttps
.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 isnsfw_allowed
.