69 lines
2.2 KiB
Markdown
69 lines
2.2 KiB
Markdown
# Software Freedom Conservancy website
|
||
|
||
## Contributing
|
||
|
||
The canonical location for this repository is [on Conservancy’s
|
||
Kallithea instance](https://k.sfconservancy.org/website).
|
||
|
||
|
||
## License
|
||
|
||
The software included herein, such as the Python source files, are generally
|
||
licensed [AGPLv3](AGPLv3)-or-later. The Javascript is a hodgepodge of
|
||
licensing, but all of it is compatible with [AGPLv3](AGPLv3)-or-later. See
|
||
the notices at the top of each Javascript file for licensing details.
|
||
|
||
The content and text (such as the HTML files) is currently
|
||
[CC-BY-SA-3.0](CC-By-SA-3.0).
|
||
|
||
|
||
## Server configuration
|
||
|
||
Conservancy's webserver runs on a standard Debian installation. For
|
||
configuration requirements, see `deploy/ansible/install.yml`.
|
||
|
||
|
||
## CDN
|
||
|
||
Requests to any URL starting with `/videos/` are forwarded to our CDN server to
|
||
reduce bandwidth use. These files are uploaded to the CDN manually via the
|
||
Rackspace API. Note that the Apache rewrite rule requires that the file **not
|
||
exist** on disk for the redirect to be applied.
|
||
|
||
|
||
## Local development
|
||
|
||
Python dependencies in `requirements.txt` are tied to the versions available in
|
||
Debian:
|
||
|
||
python3 -m pip install -r requirements.txt
|
||
|
||
You'll need a copy of `conservancy/djangocommonsettings.py`, a file that not
|
||
committed to the repository that has database settings and other
|
||
environment-specific config.
|
||
|
||
To run the tests, install `pytest-django` and run pytest:
|
||
|
||
python3 -m pip install pytest-django
|
||
python3 -m pytest
|
||
|
||
Then run:
|
||
|
||
python3 manage.py migrate
|
||
python3 manage.py runserver
|
||
|
||
There is also a Dockerfile available if that's more convenient. See that file
|
||
for details.
|
||
|
||
|
||
## Deploying
|
||
|
||
Changes pushed to the https://k.sfconservancy.org/website repository are
|
||
automatically deployed to the production website by the `conservancy-www-update`
|
||
SystemD timer. See `systemd/conservancy-www-update.timer` for details.
|
||
|
||
The `migrate` and `collectstatic` commands are not run automatically. You may
|
||
need to run these if modifying the database schema or adding/moving static files:
|
||
|
||
sudo -u www-data /var/www/venv-website/bin/python3 manage.py migrate
|
||
sudo -u www-data /var/www/venv-website/bin/python3 manage.py collectstatic --link
|