41 lines
1.3 KiB
Markdown
41 lines
1.3 KiB
Markdown
|
# Thinkserver
|
||
|
|
||
|
This is licensed under the terms of the GNU Affero General Public License, v3.
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
These instructions are deliberately sketchy.
|
||
|
I'm releasing this code in case someone else wants to use it but I'm not interested in it being a collaborative project or taking support or feature requests.
|
||
|
|
||
|
Everything is provided as-is.
|
||
|
|
||
|
This is a [Django app](https://www.djangoproject.com/), with some of the front-end interface written in [Elm](https://elm-lang.org/).
|
||
|
|
||
|
These instructions assume that the server will be installed at `/srv/think.somethingorotherwhatever.com`.
|
||
|
|
||
|
Run
|
||
|
|
||
|
```
|
||
|
pip install requirements.txt
|
||
|
```
|
||
|
|
||
|
Copy `thinkserver/settings.py.dist` to `thinkserver/settings.py` and fill in the settings at the end of the file.
|
||
|
|
||
|
Generate a secret string and put it in `/srv/think.somethingorotherwhatever.com/secret_key.txt`.
|
||
|
|
||
|
Run
|
||
|
|
||
|
```
|
||
|
python manage.py migrate
|
||
|
python manage.py collectstatic --noinput
|
||
|
```
|
||
|
|
||
|
Copy `gunicorn.conf.py.dist` to `gunicorn.conf.py`.
|
||
|
|
||
|
Copy `installation/think_something.service` and `installation/think_something.socket` to `/etc/systemd/system`.
|
||
|
|
||
|
Copy `installation/thinkserver.nginx.conf` to `/etc/nginx/sites-available` and then symbolic link that to `/etc/nginx/sites-enabled`.
|
||
|
|
||
|
Use Certbot to make a wildcard certificate for `*.think.somethingorotherwhatever.com`.
|
||
|
How exactly this works depends on your hosting provider.
|