Skip to content

Latest commit

 

History

History
62 lines (36 loc) · 2.94 KB

README.md

File metadata and controls

62 lines (36 loc) · 2.94 KB

This repository contains the infrastructure of the Aerolith project. In order to run Aerolith on your machine, you should clone this repo and follow the instructions.

Components

Aerolith requires a number of components to run on your development machine.

  • Webapp: github.com/domino14/webolith (1)

    • This is the main Aerolith web app, written in Python + Django. It contains other apps within it besides Wordwalls: the old flashcards (Whitley Cards) and the new flashcards program (aerolith.org/cards)
  • Word DB server: github.com/domino14/word_db_server (2)

    • Used to make the initial word databases / lexica from lexicon files. Whilst I cannot distribute the lexicon files myself due to copyright restrictions, these can be downloaded from several places, and this can can create the lexica.
    • Used for any word-related server functionality. This will include any word searches, anything related to words basically.
  • Postgres: The postgres database (plain docker package)

  • Webpack server: We use one for the Aerolith "Webapp" codebase.

  • Proxy: proxy server for local development.

Instructions

  • Before running the setup.sh script, ensure you have the right lexicon files on your computer. I can't legally provide them, but there should be text files with the words and an optional definition:
AA some type of lava
AB an abdomen
AARDVARK a funny animal

Put these text files in the lexica directory. For now, they should be named NWL20.txt, CSW21.txt, etc. You don't need all of them to have Aerolith run but it might be crippled if you try to select a lexicon you don't have.

  • You will also need to compile these lexica files into *.kwg files. These are Kurnia Word Graphs, made by Andy Kurnia. See this repo:

https://github.com/andy-k/wolges

In particular, once you clone it, you can run:

cargo run --release --bin buildlex -- english-kwg CSW21.txt CSW21.kwg (for example)

Put the *.kwg files inside the lexica/gaddag directory. A future version of this script will auto-build the *.kwg files.

  • Download and install Docker for

  • If you create a Docker Hub account, you must logout of it via the command line with docker logout. This is a bizarre issue with Docker: docker/hub-feedback#1098 (You can't pull containers otherwise.)

  • Run setup.sh. This will clone the 3 repos above, build your lexicon databases, install all required Javascript and initialize your postgres database, among other tasks.

  • Add aerolith.localhost to your etc/hosts file. The entry should look something like this, depending on your Docker settings.

127.0.0.1   localhost aerolith.localhost
  • Run docker-compose up -d in this directory
  • You can now access the web app on your web browser at aerolith.localhost

Debugging

  • Run docker-compose logs -f app to see the logs for app (the main webolith app). You can replace app with another component, like webpack_webolith, etc.