steiza / docstore

For any civics-minded organization that needs a simple place to host documents publicly

Home Page:http://a2docs.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

For any civics-minded organization that needs a simple place to host documents publicly

http://a2docs.org/


Languages

Language:Python 60.7%Language:HTML 37.1%Language:CSS 2.2%