|
||
---|---|---|
bin | ||
conservancy | ||
deploy | ||
.dockerignore | ||
.gitignore | ||
AGPLv3 | ||
CC-By-SA-3.0 | ||
Dockerfile-debian-bookworm | ||
ISC_LICENSE | ||
manage.py | ||
pyproject.toml | ||
README.md | ||
requirements.txt | ||
TODO.md |
Software Freedom Conservancy website
This is a Python/Django-based website that runs sfconservancy.org.
Contributing
The canonical location for this repository is on Conservancy’s Forgejo instance.
License
The software included herein, such as the Python source files, are generally licensed AGPLv3-or-later. JavaScript source is generally 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.
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.