# Use the PostgresML image FROM ghcr.io/postgresml/postgresml:2.7.12 # Switch to root to perform initial setup USER root # Create necessary directories with correct permissions RUN mkdir -p /var/run/postgresql /var/lib/postgresql \ && chown -R postgresml:postgresml /var/run/postgresql /var/lib/postgresql # Ensure sudo is available (though it's already installed) RUN apt-get update && apt-get install -y sudo # Create a user with specific permissions RUN useradd -m -u 1000 postgresml \ && usermod -aG sudo postgresml # Set working directory WORKDIR /home/postgresml/app # Set environment variables ENV HOME=/home/postgresml \ PATH=/home/postgresml/.local/bin:$PATH # Expose ports EXPOSE 5432 8000 # Create README.md with root permissions RUN echo "# PostgresML Space" > /home/postgresml/README.md \ && chown postgresml:postgresml /home/postgresml/README.md # Switch to non-root user USER postgresml # Default command CMD ["bash", "-c", "psql -d postgresml"]