Files @ 94c56bb468cb
Branch filter:

Location: website/README.md

bsturmfels
Rewrite the `index` view to avoid risk of path traversal

I've simplified this view by removing the custom HTTP error handlers, Python 3.5
exception handling and adding documentation.
# Software Freedom Conservancy website

## 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.  The Javascript is a hodgepodge of
licensing, but all of it is compatible with [AGPLv3](AGPLv3)-or-later.  See
the notices at the top of each Javascript file for 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/ansible/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

You'll need a copy of `conservancy/djangocommonsettings.py`, a file that not
committed to the repository that has database settings and other
environment-specific config.

Then run:

    python manage.py migrate
    python manage.py runserver

There is also a Dockerfile available if that's more convenient. See that file
for details.


## Deploying

Changes pushed to the https://k.sfconservancy.org/website repository are
automatically deployed to the production website by the `conservancy-www-update`
SystemD timer. See `systemd/conservancy-www-update.timer` for details.

The `migrate` and `collectstatic` commands are not run automatically. You may
need to run these if modifying the database schema or adding/moving static files:

    sudo -u www-data /var/www/venv-website/bin/python manage.py migrate
    sudo -u www-data /var/www/venv-website/bin/python manage.py collectstatic --link