Archivy is a self-hosted knowledge repository that allows you to safely preserve useful content that contributes to your knowledge bank.
Features:
- If you add bookmarks, their webpages contents' will be saved to ensure that you will always have access to it, in sync with the idea of digital preservation.
- Allows you to sync up with Pocket to gather bookmarks from there too.
- Everything is a file! For ease of access and editing, all the content is stored in markdown files with yaml front matter.
- Extensible search with Elasticsearch and its Query DSL
- Integrations with HN, Reddit, and many more.
- Add submodules for digital identity so archivy syncs to your hn upvoted posts, reddit saved, etc...
- Option to compile data to a static site that can be deployed.
- Make sure your system has Python installed.
- Clone the repository.
cd
into the project directory.- create a virtual env by running
python3 -m venv venv/
. - run
pip install -r requirements.txt
orpip3
. - create a
.flaskenv
file and addFLASK_APP=archivy.py
to it - execute the
start.sh
script - see below for setting up search functionality
Archivy uses ElasticSearch to provide efficient full-text search.
Add these lines to your flaskenv:
ELASTICSEARCH_ENABLED=1
ELASTICSEARCH_URL=http://localhost:9200
Instructions to install and run the service are provided here.
Append these two lines to your elasticsearch.yml config file:
http.cors.enabled: true
http.cors.allow-origin: "http://localhost:5000"