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