# Use the PostGIS image as the base FROM pgvector/pgvector:0.8.0-pg16 as binary FROM postgis/postgis:16-master COPY --from=binary /pgvecto-rs-binary-release.deb /tmp/vectors.deb RUN apt-get install -y /tmp/vectors.deb && rm -f /tmp/vectors.deb # Install necessary packages RUN apt-get update \ && apt-get install -y --no-install-recommends \ build-essential \ libpq-dev \ wget \ git \ postgresql-server-dev-16 \ postgresql-16-pgvector \ # Clean up to reduce layer size && rm -rf /var/lib/apt/lists/* \ && cd /tmp \ && git clone --branch v0.8.0 https://github.com/pgvector/pgvector.git \ && cd pgvector \ && make \ && make install \ # Clean up unnecessary files && cd - \ && apt-get purge -y --auto-remove build-essential postgresql-server-dev-16 libpq-dev wget git \ && rm -rf /tmp/pgvector # Copy initialization scripts #COPY ./docker-entrypoint-initdb.d/ /docker-entrypoint-initdb.d/ CMD ["postgres", "-c" ,"shared_preload_libraries=vectors.so", "-c", "search_path=\"$user\", public, vectors", "-c", "logging_collector=on"]