website/README.md

64 lines
2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Software Freedom Conservancy website
## Contributing
The canonical location for this repository is [on Conservancys
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.
Then run:
python manage.py migrate
python 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/python manage.py migrate
sudo -u www-data /var/www/venv-website/bin/python manage.py collectstatic --link