thinkserver/README.md
Christian Lawson-Perfect 531c609277 add README and COPYING
The README has some basic installation instructions which I hope will be
enough for me to recreate this when I need to.
2025-02-10 12:20:28 +00:00

40 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.