Alexandria is a reader and writer for curated publications, including e-books. For a thorough introduction, please refer to our project documention, viewable on Alexandria, or to the Alexandria About page.
If you would like to suggest a feature or report a bug, or submit a patch for review, please use the Nostr git interface on our homepage.
You can also contact us on Nostr, directly.
Make sure that you have Node.js (v22 or above) or Deno (v2) installed.
Once you've cloned this repo, install dependencies with NPM:
npm install
or with Deno:
deno install
then start a development server with Node:
npm run dev
or with Deno:
deno task dev
Alexandria is configured to run on a Node server. The Node adapter works on Deno as well.
To build a production version of your app with Node, use:
npm run build
or with Deno:
deno task build
You can preview the (non-static) production build with:
npm run preview
or with Deno:
deno task preview
This docker container performs the build.
To build the container:
docker build . -t gc-alexandria
To run the container, in detached mode (-d):
docker run -d --rm --name=gc-alexandria -p 4174:80 gc-alexandria
The container is then viewable on your local machine.
If you want to see the container process (assuming it's the last process to start), enter:
docker ps -l
which should return something like:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1d83d736322f gc-alexandria "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:4174->80/tcp, [::]:4174->80/tcp gc-alexandria
This application is configured to use the Deno runtime. A Docker container is provided to handle builds and deployments.
To build the app for local development:
docker build -t local-alexandria -f Dockerfile.local .
To run the local development build:
docker run -d -p 3000:3000 local-alexandria
These tests are under development, but will run. They will later be added to the container.
To run the Vitest suite we've built, install the program locally and run the tests.
npm run test
For the Playwright end-to-end (e2e) tests:
npx playwright test