# 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 To deploy, run `bin/deploy`. This requires SSH access to `hickory.sfconservancy.org`. ## Link checking To check for broken links, log on to `hickory.sfconservancy.org` and run `linkchecker https://sfconservancy.org/`. Note that the Apache configuration has a significant number of aliases and redirects for historic URL changes which means that linkchecker may not run cleanly in local development.