Add dockerfile and github action
This commit is contained in:
parent
c7f5185098
commit
03f015137a
2 changed files with 60 additions and 0 deletions
15
.github/workflow/docker-image.yml
vendored
Normal file
15
.github/workflow/docker-image.yml
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
name: Build and Publish image to Docker Hub
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
publish_images:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: build image
|
||||
run: |
|
||||
docker build . -t arnaudcayrol/immich-selfie-timelapse:latest
|
||||
45
Dockerfile
Normal file
45
Dockerfile
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
FROM python:3.10-slim
|
||||
|
||||
# Install system dependencies required for OpenCV and dlib
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
cmake \
|
||||
ffmpeg \
|
||||
libsm6 \
|
||||
libxext6 \
|
||||
libxrender-dev \
|
||||
libgl1-mesa-glx \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /app
|
||||
|
||||
# Copy requirements first to leverage Docker cache
|
||||
COPY requirements.txt .
|
||||
|
||||
# Install Python dependencies
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# Download the shape predictor model
|
||||
RUN apt-get update && apt-get install -y wget && \
|
||||
wget -nd https://github.com/JeffTrain/selfie/raw/master/shape_predictor_68_face_landmarks.dat && \
|
||||
apt-get remove -y wget && \
|
||||
apt-get autoremove -y && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy the application code
|
||||
COPY image_processing.py .
|
||||
COPY main.py .
|
||||
COPY templates/ templates/.
|
||||
COPY compile_timelapse.py .
|
||||
COPY immich_api.py .
|
||||
|
||||
# Create output directory
|
||||
RUN mkdir -p /app/output
|
||||
|
||||
|
||||
# Expose the port the app runs on
|
||||
EXPOSE 5000
|
||||
|
||||
# Command to run the application
|
||||
CMD ["python", "main.py"]
|
||||
Loading…
Reference in a new issue