Files
Pygentic-AI/Dockerfile
Francis Secada f9762093f8 feat: upgrade Docker image to Python 3.13
Upgrade from Python 3.12.3 to Python 3.13.3 using deadsnakes PPA.

Changes:
- Add build.sh execution in Dockerfile to install Python 3.13
- Install Python 3.13 from deadsnakes PPA with dev packages
- Set Python 3.13 as default via update-alternatives
- Create venv explicitly with Python 3.13
- Update pyproject.toml to require Python >= 3.13
- Fix line endings in shell scripts (CRLF → LF)

Build process:
1. Adds deadsnakes PPA repository
2. Installs python3.13, python3.13-dev, python3.13-venv, python3.13-distutils
3. Sets as system default Python
4. UV creates venv with Python 3.13
5. All packages install successfully

Tested with FastAPI 0.128.0 - all dependencies working correctly.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-04 11:17:53 -05:00

33 lines
1.0 KiB
Docker

FROM s3docker.francissecada.com/fjs_ubuntu:latest AS intermediate
ENV PYTHONUNBUFFERED=1
ENV LANG=en_US.UTF-8
ENV LC_ALL=en_US.UTF-8
ENV TZ="America/New_York"
ENV LANGUAGE=en_US:en
ENV DEBIAN_FRONTEND=noninteractive
ENV WORKDIR="/opt/pygentic_ai"
COPY . ${WORKDIR}
WORKDIR ${WORKDIR}
FROM s3docker.francissecada.com/fjs_ubuntu:latest
RUN apt-get update && \
apt-get install -y curl
ENV WORKDIR="/opt/pygentic_ai"
COPY --from=intermediate ${WORKDIR} ${WORKDIR}
WORKDIR ${WORKDIR}
RUN useradd -ms /bin/bash celery
RUN mkdir -p /tmp/log/celery && \
mkdir -p ${WORKDIR}/src/backend/logs && \
chmod 777 ${WORKDIR}/src/backend/logs && \
ln -s /run/shm /dev/shm && \
mkdir celerybeat-schedule && \
chown celery:celery celerybeat-schedule
RUN find . -name "*.sh" -exec chmod +x {} \;
RUN echo $WORKDIR
RUN /bin/bash -c 'source $WORKDIR/docker/pygentic_ai/build.sh'
RUN /bin/bash -c 'source $WORKDIR/docker/pygentic_ai/python_build.sh'
CMD /bin/bash -c 'source $WORKDIR/docker/pygentic_ai/python_start.sh'