# Software Freedom Conservancy website This is a Python/[Django](https://www.djangoproject.com/)-based website that runs [sfconservancy.org](https://sfconservancy.org). ## Contributing The canonical location for this repository is [on Conservancy’s Forgejo instance](https://f.sfconservancy.org/Conservancy/website). ## License The software included herein, such as the Python source files, are generally licensed [AGPLv3](AGPLv3)-or-later. JavaScript source is generally [GPLv3](GPLv3)-or-later. See the notices at the top of each Javascript file for specific 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/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 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 in production, run: bin/linkcheck 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.