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:
- Router Configuration
- Log into your router's admin interface
- Navigate to Port Forwarding/NAT settings
- 
Add a new port forwarding rule: - External Port: 5000
- Internal Port: 5000
- Protocol: TCP
- Internal IP: Your server's local IP address
 
- 
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