Software Freedom Conservancy's Website
Find a file
Ben Sturmfels 1a5441ba75
Fix tests
These were failing due to pytest defaulting to `DEBUG = False` (and then getting
`ValueError: Missing staticfiles manifest entry for ...`).
2024-07-22 16:56:25 +10:00
bin Fix tests 2024-07-22 16:56:25 +10:00
conservancy Use {% static %} for home page video subtitles 2024-07-22 10:37:56 +10:00
deploy Remove conservancy-www-update timer-based deploy 2024-03-13 14:50:48 +11:00
.dockerignore Add .dockerignore to ignore everything except requirements.txt 2023-10-26 12:44:23 +11:00
.gitignore Update .gitignore for moved secrets file 2024-03-22 12:21:34 +11:00
AGPLv3 License texts 2010-09-26 18:53:20 -04:00
CC-By-SA-3.0 Added CC-By-SA-3.0 license 2010-10-03 21:59:53 -04:00
Dockerfile-debian-bookworm Switch settings to use "the one true way" approach 2024-03-20 14:10:00 +11:00
ISC_LICENSE License texts 2010-09-26 18:53:20 -04:00
manage.py Switch settings to use "the one true way" approach 2024-03-20 14:10:00 +11:00
pyproject.toml Fix tests 2024-07-22 16:56:25 +10:00
README.md Update README - overview, licenses and Ansible 2024-07-22 10:32:41 +10:00
requirements.txt podjango: Upload icon per podcast 2024-04-26 16:07:20 +10:00
TODO.md Update to-dos 2024-05-13 18:18:40 +10:00

Software Freedom Conservancy website

This is a Python/Django-based website that runs sfconservancy.org.

Contributing

The canonical location for this repository is on Conservancys Kallithea 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.

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.