This is the source code repository for Arquivo, a note-taking app.
Arquivo seeks to be an archive for your digital artifacts, ephemera, and notes. Its purpose is to help you keep track of your research, tasks, and thoughts, and help you produce better end products (i.e. essays, papers, books, apps).
I currently use this app for: daily journaling, personal bookmarking, keeping track of household projects, and all of the notekeeping required to perform my day job as a software engineer.
Arquivo's design choices and compromises are driven by the following values:
Data is stored in markdown within a git repository. You will always be able to read your data, move it elsewhere, and revert back to an earlier version.
Arquivo will be a successful project if:
Arquivo currently supports the following features:
.ical
filesUnfortunately, I've had no time to make anything easy to use. New users will have to drop into the Rails console and create a new Notebook, and then via the web interface add an ssh key for git syncing to work.
In the meantime, however, advanced users are encouraged to poke thru the Dockerfile; development & deployment is intended to happen thru the corresponding container image.
Step 1: Authenticate with the GitHub Container Registry.
Step 2: The following incantation should be sufficient to get a working dev environment off the ground:
# set up a local copy in, for example, ~/code/arquivo
git clone git@github.com:phillmv/arquivo.git ~/code
# set up a data folder in, for example, ~/Documents/arquivo
mkdir -p ~/Documents/arquivo
# boot up the server:
ARQUIVO_PORT=12346
export ARQUIVO_USER=your_user_here
export ARQUIVO_GIT_EMAIL=you@example.com
export ARQUIVO_GIT_NAME="Your Name"
export RAILS_ENV=development
export RAILS_MASTER_KEY=DUMMY
export RAILS_BIND=tcp://0.0.0.0:3001
docker run -it -p "$ARQUIVO_PORT":3001 \
-e ARQUIVO_USER \
-e ARQUIVO_GIT_EMAIL \
-e ARQUIVO_GIT_NAME \
-e RAILS_ENV \
-e RAILS_MASTER_KEY \
-e RAILS_BIND \
-v ~/Documents/arquivo/:/data \
-v ~/code/arquivo:/arquivo \
ghcr.io/phillmv/arquivo-development:latest
This should bind a webserver to http://localhost:12346/ , and off you go. Consult this repository for the Dockerfile. A production image is published to ghcr.io/phillmv/arquivo
.