Skip to content

Prerequisites


Commands for systemctl

These commands should be used for debugging or for big changes in the server structure.

3 important modules of systemctl (use as <name> in commands):

  • ekeel (Video Annotation App)

  • ekeel-wp3 (Video Augmentation App)

  • nginx (Global connection for the server)

NGinx


NGINX is used as a reverse proxy to route incoming HTTP requests to the appropriate backend services. It ensures that the Video Annotation and Video Augmentation services are accessible through a single domain and handles load balancing and static file serving.

  • Video Annotation Service: /etc/systemd/system/ekeel.service
  • Video Transcriber Service: /etc/systemd/system/ekeel-transcriber.service
  • Video Augmentation Service: /etc/systemd/system/ekeel-wp3.service

Configuration

  • Main config file: /etc/nginx/sites-enabled/ekeel

URL Routing

  • / - React frontend for video augmentation
  • /api - Backend API for video augmentation
  • /annotator/* - Video annotation tool routes
  • Uses reverseProxy configuration from config.py

Service Management

The following commands manage nginx (should be used only for debugging or when edit any .service files )

# Reload systemd after config changes
sudo systemctl daemon-reload

# Restart NGINX
sudo systemctl restart nginx

The following commands manage Ekeel systemd services, which handle tasks like starting automatically on boot, logging system outputs, and ensuring minimal downtime.

# Enable systemctl service
sudo systemctl enable <name> # [ekeel, ekeel-wp3, ekeel-transcriber]

# View info about status
sudo systemctl status <name>

# Start the app
sudo systemctl start <name>

# Stop the app
sudo systemctl stop <name>

# Check app logs
sudo journalctl -u <name>

Open router ports

Port 5000 must be opened to allow external access to the Flask server:

  1. Router Configuration
  2. Log into your router's admin interface
  3. Navigate to Port Forwarding/NAT settings
  4. Add a new port forwarding rule:

    • External Port: 5000
    • Internal Port: 5000
    • Protocol: TCP
    • Internal IP: Your server's local IP address
  5. Firewall Configuration

( #TODO check this, I did not handle this step, this is a placeholder for some commands on opening a router port )

sudo ufw status | grep 5000
sudo ufw allow 5000/tcp
sudo netstat -tuln | grep 5000