we can now build a docker container from it
This commit is contained in:
20
dockerfile
Normal file
20
dockerfile
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
FROM python:3.11-slim
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Install Flask (sqlite3 is built into Python)
|
||||||
|
RUN pip install --no-cache-dir flask
|
||||||
|
|
||||||
|
# Copy application files
|
||||||
|
COPY starface_call_logger.py .
|
||||||
|
COPY dashboard.py .
|
||||||
|
COPY entrypoint.sh .
|
||||||
|
|
||||||
|
# Make entrypoint executable
|
||||||
|
RUN chmod +x entrypoint.sh
|
||||||
|
|
||||||
|
# Expose both ports
|
||||||
|
EXPOSE 5000 5001
|
||||||
|
|
||||||
|
# Run the entrypoint script
|
||||||
|
CMD ["./entrypoint.sh"]
|
||||||
40
entrypoint.sh
Executable file
40
entrypoint.sh
Executable file
@@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "Starting Room Cleaning Tracker..."
|
||||||
|
|
||||||
|
# Start the POST logger in background
|
||||||
|
python starface_call_logger.py &
|
||||||
|
LOGGER_PID=$!
|
||||||
|
|
||||||
|
# Start the dashboard in background
|
||||||
|
python dashboard.py &
|
||||||
|
DASHBOARD_PID=$!
|
||||||
|
|
||||||
|
# Function to kill both on exit
|
||||||
|
cleanup() {
|
||||||
|
echo "Shutting down..."
|
||||||
|
kill $LOGGER_PID $DASHBOARD_PID 2>/dev/null || true
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
trap cleanup SIGTERM SIGINT
|
||||||
|
|
||||||
|
# Monitor both processes
|
||||||
|
while true; do
|
||||||
|
# Check if logger is still running
|
||||||
|
if ! kill -0 $LOGGER_PID 2>/dev/null; then
|
||||||
|
echo "ERROR: Logger crashed!"
|
||||||
|
kill $DASHBOARD_PID 2>/dev/null || true
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if dashboard is still running
|
||||||
|
if ! kill -0 $DASHBOARD_PID 2>/dev/null; then
|
||||||
|
echo "ERROR: Dashboard crashed!"
|
||||||
|
kill $LOGGER_PID 2>/dev/null || true
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
Reference in New Issue
Block a user