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.
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.
- Before running the
setup.shscript, 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.localhostto youretc/hostsfile. The entry should look something like this, depending on your Docker settings.
127.0.0.1 localhost aerolith.localhost
- Run
docker-compose up -din this directory - You can now access the web app on your web browser at
aerolith.localhost
- Run
docker-compose logs -f appto see the logs for app (the main webolith app). You can replace app with another component, likewebpack_webolith, etc.