# Use the PostgresML image FROM ghcr.io/postgresml/postgresml:2.7.12 # Switch to root for initial setup USER root # Disable no-new-privileges security feature RUN sed -i 's/no-new-privileges:true/no-new-privileges:false/' /etc/docker/daemon.json || true # Create necessary directories RUN mkdir -p /var/run/postgresql /var/lib/postgresql /home/postgresml/app # Use the existing postgres user in the image RUN chown -R postgres:postgres /var/run/postgresql /var/lib/postgresql /home/postgresml/app # Set working directory WORKDIR /home/postgresml/app # Set environment variables ENV HOME=/home/postgresml/app \ PATH=/home/postgresml/.local/bin:$PATH # Expose ports EXPOSE 5432 8000 # Switch to postgres user USER postgres # Default command CMD ["bash", "-c", "psql -d postgresml"]