website/README.md

73 lines
1.9 KiB
Markdown
Raw Normal View History

# Software Freedom Conservancy website
2023-09-07 12:59:23 +00:00
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 Conservancys
Kallithea instance](https://k.sfconservancy.org/website).
2023-09-07 12:59:23 +00:00
## License
2014-12-05 15:21:01 +00:00
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.
2014-12-05 15:21:01 +00:00
The content and text (such as the HTML files) is currently
[CC-BY-SA-3.0](CC-By-SA-3.0).
2010-09-26 22:00:53 +00:00
## Server configuration
2023-09-07 12:59:23 +00:00
Conservancy's webserver runs on a standard Debian installation. For
configuration requirements, see `deploy/install.yml`.
2010-09-26 22:00:53 +00:00
## 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:
2023-09-07 12:59:23 +00:00
python3 -m pip install -r requirements.txt
2024-03-13 03:26:01 +00:00
To run the tests, install `pytest-django` and run pytest:
python3 -m pip install pytest-django
python3 -m pytest
Then run:
2024-03-13 03:26:01 +00:00
python3 manage.py migrate
python3 manage.py runserver
2023-09-07 12:59:23 +00:00
There is also a Dockerfile available if that's more convenient. See that file
for details.
## Deploying
2023-09-07 12:59:23 +00:00
To deploy, run `bin/deploy`. This requires SSH access to `hickory.sfconservancy.org`.
## Link checking
2024-03-20 04:54:18 +00:00
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.