Skip to main content

logo

Logo design by Roy Quilor is licensed under CC BY-NC 4.0

Archivy

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

Features:

  • CLI that provides a nice backend interface to the app
  • Login module that allows you to host the service on a server
  • 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.
  • Dark Theme

demo (low res)

Upcoming:

  • Plugin system to allow people to publish and write extensions to archivy
  • Option to compile data to a static site that can be deployed.
  • 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 run

Usage

The cli allows you to manage and run archivy:

Usage: archivy [OPTIONS] COMMAND [ARGS]...

Options:
  --version  Show the flask version
  --help     Show this message and exit.

Commands:
  routes  Show the routes for the app.
  run     Runs archivy web application
  shell   Run a shell in the app context.

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.

Scripting

You might be interested in extending archivy by for example building scripts that allow you to regularly fetch data or other functionalities. In that case you can use the api system and soon a powerful plugin system.

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.

Metadata

Release files for archivy 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for archivy 0.7.1
File Size Uploaded
archivy-0.7.1.tar.gz 25.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for archivy 0.7.1
File Interpreter ABI Platform
archivy-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 53.9 kB

Release files / archivy-0.7.1.tar.gz

Download URL archivy-0.7.1.tar.gz
Size 25.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c85d4f07428e653cb4a7385800bec1953c319ceafeeedf0b07381efa92b404e9
BLAKE2b-256 checksum
How to use checksums
6ce6ca7cdac7b2c4b1c345830a9472f75dd411b4b6df17a64fa1da67c4f10e9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

Release files / archivy-0.7.1-py3-none-any.whl

Download URL archivy-0.7.1-py3-none-any.whl
Size 28.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b5ee58df152927ed3a3d61aaed8d99097e95de0fa932ed671825b49ce32a84a8
BLAKE2b-256 checksum
How to use checksums
f0efa5fd1cdc160e34c05e1bae64449ecf5b22fd39cc1be903fa4fd120a8f994
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

Release history Release notifications | RSS feed

1.7.7

2 release files

1.7.6

2 release files

1.7.5

2 release files

1.7.4

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.11.1

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

This release

0.7.1 This release

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page