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
.env
file 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
.