72 lines
1.9 KiB
Markdown
72 lines
1.9 KiB
Markdown
# 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
|
||
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. 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.
|