This repository contains the code for bookmark.org, an online service that allows users to archive and organize important web links.
-
Install Docker. Don't forget to perform the Docker post-installation.
-
Optional: Create the following
.envfile in the root folder of this project (only required for archive summary generated with AI and custom delay in bulk archiving)
OPENAI_API_KEY=<api-key>
# Expressed in milliseconds
BOOKMARK_ARCHIVE_DELAY=1000
- Optional: Login to the Docker registry (only required for Docker image pushes)
$ docker login -u bookmarkorg -p <registry-password>
Run the app:
# Install Elixir dependencies
mix deps.get
# Run the Elixir app locally + DB and an Archivebox server in containers
make dev
Now you can visit localhost:4000
Stop the app:
make stop # Terminates the execution of all containers
Push image to deployment:
make push-images
- Download the latest tagged image from the Docker registry
make pull-images
- Stop old containers
make stop
- Run the Docker project
make prod
Now you can visit localhost:4000
After using the containers, you can destroy them along with their volumes (which contain the archives) using make clean.
You can see available tasks (build, dev, prod, etc.) and what they do with make.