|
|
|
FROM python:3.10-slim |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
RUN apt-get update \ |
|
&& apt-get install -y git git-lfs libsndfile1 nginx \ |
|
&& apt-get clean \ |
|
&& rm -rf /var/lib/apt/lists/* \ |
|
&& git lfs install |
|
|
|
|
|
RUN mkdir -p /var/cache/nginx \ |
|
/var/log/nginx \ |
|
/var/lib/nginx |
|
RUN touch /var/run/nginx.pid |
|
RUN useradd -m -u 1000 user |
|
RUN chown -R user:user /var/cache/nginx \ |
|
/var/log/nginx \ |
|
/var/lib/nginx \ |
|
/var/run/nginx.pid |
|
|
|
|
|
COPY --chown=user nginx.conf /etc/nginx/sites-enabled/app.conf |
|
|
|
|
|
RUN rm /etc/nginx/sites-enabled/default && nginx -t && service nginx start |
|
|
|
|
|
|
|
COPY --chown=user requirements.txt . |
|
|
|
|
|
RUN pip install --no-cache-dir -r requirements.txt \ |
|
|
|
&& pip install -f 'https://synesthesiam.github.io/prebuilt-apps/' 'gruut[sw]' |
|
|
|
|
|
COPY --chown=user . . |
|
|
|
|
|
EXPOSE 7860 |
|
|
|
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \ |
|
CMD ["sh", "/app/healthcheck.sh"] |
|
|
|
|
|
CMD ["/app/startup.sh"] |
|
|