Setup Guide

This guide provides instructions on how to set up the JudaicaLink environment locally, including Solr, Redis, Apache Jena Fuseki, and Nginx to run the projects efficiently.

System Requirements

Ensure your system meets the following requirements:

  • OS: Ubuntu 20.04+ / macOS / Windows (WSL recommended for Windows)

  • Python: 3.8+

  • Docker & Docker Compose: Latest version

  • Node.js & npm: Latest LTS version (for frontend projects)

  • Git: Latest version

Cloning the Repositories

Clone the main JudaicaLink projects:

git clone https://github.com/judaicalink/judaicalink-labs.git
git clone https://github.com/judaicalink/judaicalink-site.git
git clone https://github.com/lod-pubby/pubby-django.git
git clone https://github.com/judaicalink/djangordf.git
git clone https://github.com/judaicalink/rdf_generator.git

Setting Up Python Environment

Create and activate a virtual environment:

python -m venv venv
source venv/bin/activate  # macOS/Linux
venv\Scripts\activate  # Windows

Install dependencies:

pip install -r requirements.txt

Setting Up Solr

Solr is used for full-text indexing in JudaicaLink Labs.

  1. Download and extract Solr:

    wget https://downloads.apache.org/solr/latest/solr-9.0.0.tgz
    tar xzf solr-9.0.0.tgz
    cd solr-9.0.0
    
  2. Start Solr in standalone mode:

    bin/solr start -e cloud -noprompt
    
  3. Create a core for JudaicaLink:

    bin/solr create -c judaicalink
    

Setting Up Redis

Redis is used for caching and queuing operations.

  1. Install Redis:

    sudo apt update && sudo apt install redis-server
    
  2. Start Redis:

    sudo systemctl start redis
    sudo systemctl enable redis
    

Setting Up Apache Jena Fuseki

Apache Jena Fuseki is used as the SPARQL endpoint and RDF triple store.

  1. Download and extract Fuseki:

    wget https://downloads.apache.org/jena/binaries/apache-jena-fuseki-4.5.0.tar.gz
    tar -xzf apache-jena-fuseki-4.5.0.tar.gz
    cd apache-jena-fuseki-4.5.0
    
  2. Start Fuseki server:

    ./fuseki-server --update --mem /ds
    
  3. Load RDF data:

    curl -X POST --data-binary @data.rdf -H "Content-Type: application/rdf+xml" http://localhost:3030/ds/data
    

Setting Up Nginx

Nginx is used as a reverse proxy to serve the web applications.

  1. Install Nginx:

    sudo apt update && sudo apt install nginx
    
  2. Create an Nginx configuration file:

    sudo nano /etc/nginx/sites-available/judaicalink
    

    Add the following configuration:

    server {
        listen 80;
        server_name judaicalink.local;
    
        location / {
            proxy_pass http://127.0.0.1:8000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    
  3. Enable the configuration and restart Nginx:

    sudo ln -s /etc/nginx/sites-available/judaicalink /etc/nginx/sites-enabled/
    sudo systemctl restart nginx
    

Running the Projects

To run the projects locally:

  1. Run Django-based projects:

    cd judaicalink-labs
    python manage.py runserver
    
  2. Run Hugo-based site:

    cd judaicalink-site
    hugo server
    
  3. Run Pubby:

    cd pubby-django
    python manage.py runserver
    

Verifying the Setup

Troubleshooting & Support

  • Solr not starting? Ensure Java is installed.

  • Fuseki not responding? Verify it is running on port * 3030* .

  • Redis connection errors? Restart Redis with:

    sudo systemctl restart redis
    
  • Need help? Contact us at https://labs.judaicalink.org/contact/.

— This setup guide ensures a complete local environment for developing and testing JudaicaLink projects. 🚀