brutaldon/INSTALL.md
2018-05-20 18:37:42 -04:00

52 lines
2.8 KiB
Markdown

Installing brutaldon
====================
Brutaldon is a perfectly normal Django app, so if you've ever installed a Django app, it should be straightforward. It will work either as a local application, or installed on a server.
For either case, you will need Python 3 installed to start with, including pip.
Common steps
---------------------------------------------------------
If you haven't already, you need to install [Pipenv][pe], a tool for managing Python virtual environments.
You can install it just with `pip install pipenv`.
[pe]: https://github.com/pypa/pipenv/
Development or local install
------------------------------------------------
In the top brutaldon directory, run `pipenv install`. This will install all the dependencies. Then run `pipenv run python ./manage.py migrate`. That will create a SQLite database the application needs. Then run `pipenv run python ./manage.py runserver`. That will start a local server on http://localhost:8000/.
Point your browser to that address and log in to your instance. You will have to log in with the alternate (username and password) method.
Server installation
----------------------------------------
This will depend on your server setup, and you should consult [Deploying Django][dd]. Be sure to read the [Deployment checklist][dc], because some things in it are security critical. You will also want to set up a database. Brutaldon doesn't use the database very heavily, so if you only have a few users, the default SQLite is probably fine and doesn't require any additional setup.
One common step would be to install dependencies like this: `PIPENV_VENV_IN_PROJECT=1 pipenv install`. This will install dependencies within the project folder.
Then edit brutaldon/settings.py. You definitely need to change the values of SECRET_KEY and ALLOWED_HOSTS. Also edit the database parameters to match the database you chose. Then run `pipenv run python ./manage.py migrate` to populate the database.
I installed brutaldon with Apache and mod_wsgi. If you installed brutaldon in /usr/local/share/, you'd add config lines something like this to the virtual host brutaldon is installed in.
```
Alias /brutaldon/static /usr/local/share/brutaldon/brutaldon/static
<Directory /usr/local/share/brutaldon/brutaldon/static>
Require all granted
</Directory>
WSGIScriptAlias /brutaldon /usr/local/share/brutaldon/brutaldon/wsgi.py
WSGIDaemonProcess brutaldon python-path=/usr/local/share/brutaldon python-home=/usr/local/share/brutaldon/.venv
<Directory /usr/local/share/brutaldon/brutaldon>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
```
Be sure you serve the entire site over https only.
[dd]: https://docs.djangoproject.com/en/2.0/howto/deployment/
[dc]: https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/