GithubHelp home page GithubHelp logo

anthar / archivy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from archivy/archivy

0.0 1.0 0.0 43.85 MB

Archivy is a self-hosted knowledge repository that allows you to safely preserve useful content that contributes to your knowledge bank.

License: MIT License

Python 71.29% CSS 13.17% HTML 15.54%

archivy's Introduction

logo

Archivy

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, following the idea of digital preservation.
  • Backend API for flexibility and user enhancements
  • 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
  • Allows you to sync up with Pocket to gather bookmarks from there too.

demo (low res)

Upcoming:

  • Integrations with HN, Reddit, and many more.
  • Login module
  • 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.
  • Dark theme
  • UI for grouping by tag and use NLP to automatically generate connections between posts

Setup

Local Setup

  • Make sure your system has Python and pip installed.
  • Install the python package with pip install archivy
  • There you go! You should be able to start the app by running archivy in your terminal.

Configuration

Archivy uses environment variables for its configuration:

Variable Default Description
ARCHIVY_DATA_DIR System-dependant, see below Directory in which data will be saved
ARCHIVY_PORT 5000 Port on which archivy will run
ELASTICSEARCH_ENABLED 0 Enable Elasticsearch integration
ELASTICSEARCH_URL http://localhost:9200 Url to the elasticsearch server

ARCHIVY_DATA_DIR by default will be set by the appdirs python library:

On Linux systems, it follows the XDG specification: ~/.local/share/archivy

With Docker

See the docker branch for details on setting things up with docker.

Setting up Search

Archivy uses ElasticSearch to provide efficient full-text search.

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"

Run archivy like this:

ELASTICSEARCH_ENABLED=1 archivy

Usage

The first time you run archivy, an admin user will automatically be created with a random password. These credentials will be printed to the log when you launch like this:

[2020-10-10 10:48:27,764] INFO in __init__: Archivy has created an admin user as it did not exist.
                            Username: 'admin', password: '5a512991c605ea51038ce2a0'

Login with these credentials and then you can change your password/username by clicking the profile button on the top left.

You can then use archivy to create notes, organize it and store information.

Community and Development

If you're interested in developing and improving Archivy, please join our community discord server.

Feel free to open issues if you encounter bugs, have any ideas / feature requests and use the discord server for more casual discussion.

archivy's People

Contributors

uzay-g avatar srevinsaju avatar clemux avatar harshavardhanj avatar cktang88 avatar lhl avatar bislara avatar imgbotapp avatar dependabot[bot] avatar imgbot[bot] avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.