mirror of
https://github.com/pacnpal/simpleguardhome.git
synced 2025-12-20 12:31:16 -05:00
feat(docker): add entrypoint script for graceful shutdown and application start
This commit is contained in:
@@ -22,6 +22,10 @@ COPY . .
|
|||||||
# Install the package in editable mode
|
# Install the package in editable mode
|
||||||
RUN pip install -e .
|
RUN pip install -e .
|
||||||
|
|
||||||
|
# Copy and set up entrypoint script
|
||||||
|
COPY docker-entrypoint.sh /usr/local/bin/
|
||||||
|
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
|
||||||
|
|
||||||
# Create rules backup directory with proper permissions
|
# Create rules backup directory with proper permissions
|
||||||
RUN mkdir -p /app/rules_backup && \
|
RUN mkdir -p /app/rules_backup && \
|
||||||
chmod 777 /app/rules_backup
|
chmod 777 /app/rules_backup
|
||||||
@@ -36,5 +40,5 @@ EXPOSE 8000
|
|||||||
# Volume for persisting rules backups
|
# Volume for persisting rules backups
|
||||||
VOLUME ["/app/rules_backup"]
|
VOLUME ["/app/rules_backup"]
|
||||||
|
|
||||||
# Command to run the application
|
# Set entrypoint
|
||||||
CMD ["python", "-m", "simpleguardhome.main"]
|
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||||
23
docker-entrypoint.sh
Normal file
23
docker-entrypoint.sh
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function to handle termination signals
|
||||||
|
handle_term() {
|
||||||
|
echo "Received SIGTERM/SIGINT, shutting down gracefully..."
|
||||||
|
kill -TERM "$child"
|
||||||
|
wait "$child"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set up signal handlers
|
||||||
|
trap handle_term SIGTERM SIGINT
|
||||||
|
|
||||||
|
# Start the application
|
||||||
|
echo "Starting SimpleGuardHome server..."
|
||||||
|
python -m simpleguardhome.main &
|
||||||
|
|
||||||
|
# Store child PID
|
||||||
|
child=$!
|
||||||
|
|
||||||
|
# Wait for process to complete
|
||||||
|
wait "$child"
|
||||||
Reference in New Issue
Block a user