|
1 |
| -FROM ubuntu:jammy |
2 |
| -MAINTAINER team@postgresml.com |
| 1 | +FROM nvidia/cuda:12.1.1-devel-ubuntu22.04 |
| 2 | +LABEL maintainer="team@postgresml.com" |
| 3 | + |
3 | 4 | RUN apt-get update
|
4 | 5 | ARG DEBIAN_FRONTEND=noninteractive
|
5 | 6 | ENV TZ=Etc/UTC
|
6 |
| -RUN apt-get install -y software-properties-common |
7 |
| -RUN add-apt-repository ppa:apt-fast/stable --yes |
8 |
| -RUN apt update && apt-get install -y apt-fast |
9 |
| -RUN apt-get update && apt-fast install -y \ |
10 |
| - libopenblas-dev \ |
11 |
| - libssl-dev \ |
12 |
| - bison \ |
13 |
| - flex \ |
14 |
| - pkg-config \ |
15 |
| - cmake \ |
16 |
| - libreadline-dev \ |
17 |
| - libz-dev \ |
18 |
| - curl \ |
19 |
| - lsb-release \ |
20 |
| - tzdata \ |
21 |
| - sudo \ |
22 |
| - cmake \ |
23 |
| - libpq-dev \ |
24 |
| - libclang-dev \ |
25 |
| - wget \ |
26 |
| - postgresql-plpython3-14 \ |
27 |
| - postgresql-14 \ |
28 |
| - postgresql-server-dev-14 |
29 |
| -RUN add-apt-repository ppa:deadsnakes/ppa --yes |
30 |
| -RUN apt update && apt-fast install -y \ |
31 |
| - python3.10 \ |
32 |
| - python3-pip \ |
33 |
| - libpython3.10-dev \ |
34 |
| - python3.10-dev |
35 |
| -RUN useradd postgresml -m -s /bin/bash -G sudo |
36 |
| -RUN echo 'postgresml ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers |
37 |
| -USER postgresml |
38 |
| -RUN curl https://sh.rustup.rs -sSf | sh -s -- -y |
39 |
| -RUN $HOME/.cargo/bin/cargo install cargo-pgrx --version "0.8.2" --locked |
40 |
| -RUN $HOME/.cargo/bin/cargo pgrx init |
41 |
| -RUN curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null |
42 |
| -RUN sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' |
43 |
| -RUN sudo apt update |
44 |
| -RUN sudo apt-get install -y postgresql-15 postgresql-13 postgresql-12 postgresql-11 |
45 |
| -RUN sudo apt install -y postgresql-server-dev-15 postgresql-server-dev-15 postgresql-server-dev-12 postgresql-server-dev-11 |
| 7 | +ENV PATH="/usr/local/cuda/bin:${PATH}" |
| 8 | + |
| 9 | +RUN apt-get update && apt-get install -y curl lsb-release python3 python3-pip tzdata sudo cmake libpq-dev libclang-dev wget git |
| 10 | + |
| 11 | +RUN apt-get update && \ |
| 12 | + apt-get install -y wget gnupg lsb-release && \ |
| 13 | + wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \ |
| 14 | + echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \ |
| 15 | + apt-get update && \ |
| 16 | + apt-get install -y postgresql-14 && \ |
| 17 | + apt-get install -y postgresql-plpython3-14 |
| 18 | + |
| 19 | + |
| 20 | +RUN echo "deb [trusted=yes] https://apt.postgresml.org $(lsb_release -cs) main" >> /etc/apt/sources.list |
| 21 | +RUN cat /etc/apt/sources.list |
| 22 | +RUN apt-get update && apt-get install -y postgresql-pgml-14 |
| 23 | +# Cache this, quicker |
| 24 | +COPY --chown=postgres:postgres . /app |
46 | 25 | WORKDIR /app
|
47 | 26 | RUN pip3 install -r requirements.txt
|
| 27 | +# Listen on 0.0.0.0 and allow 'root' to connect without a password. |
| 28 | +# Please modify for production deployments accordingly. |
| 29 | +RUN cp /app/docker/postgresql.conf /etc/postgresql/14/main/postgresql.conf |
| 30 | +RUN cp /app/docker/pg_hba.conf /etc/postgresql/14/main/pg_hba.conf |
| 31 | +RUN cd /tmp && \ |
| 32 | + git clone --branch v0.4.1 https://github.com/pgvector/pgvector.git && \ |
| 33 | + cd pgvector && \ |
| 34 | + make && \ |
| 35 | + make install |
| 36 | + |
| 37 | +WORKDIR /app |
| 38 | +ENTRYPOINT ["/bin/bash", "/app/docker/entrypoint.sh"] |
0 commit comments