Skip to content

Latest commit

 

History

History
53 lines (32 loc) · 2.07 KB

README.md

File metadata and controls

53 lines (32 loc) · 2.07 KB

Doc Store

flake8 linting

integration tests

This project is meant for any civics-minded organization that needs a simple place to host documents publicly.

On the homepage you can see recently uploaded documents:

Recently uploaded documents

There's a search page that will search through the document metadata (but not the document contents):

Search page

Clicking on a document will take you to a page with document details and a download link:

Document detail page

And there's a basic password protected management page to clean up details or delete documents if needed:

Management page

Document metadata is stored in an on-disk sqlite database and the files themselves are stored on disk.

Run the software

If you want to run your own version, after you check out the repository you'll need to create a basic settings.yml file::

region: 'My City'
password: '__make_your_own_management_password__'
cookie_secret: '__this_can_be_anything_it_is_just_for_the_server__'
google_analytics_id: '__optional_just_remove_this_line_if_not_needed__'
max_file_size: '__optional_maximum_upload_size_allowed__'

Then run the server:

./docstore

Note that this project uses HTTP Basic auth - if you host this project without HTTPS the management password will be sent over the network in the clear. Ideally, run this server behind a reverse proxy like nginx which performs TLS termination for you.

Installing dependencies

Using pipenv:

pipenv install -r requirements.txt