11# Build variables. These need to be declared befored the first FROM
22# for the variables to be accessible in FROM instruction.
3- ARG BLAST_VERSION=2.14 .0
3+ ARG BLAST_VERSION=2.15 .0
44
55# # Stage 1: gem dependencies.
6- FROM ruby:3.2.2-bullseye AS builder
6+ FROM docker.io/library/ ruby:3.2-bookworm AS builder
77
88# Copy over files required for installing gem dependencies.
99WORKDIR /sequenceserver
@@ -19,30 +19,31 @@ RUN bundle install --without=development
1919
2020# # Stage 2: BLAST+ binaries.
2121# We will copy them from NCBI's docker image.
22- FROM ncbi/blast:${BLAST_VERSION} AS ncbi-blast
22+ FROM docker.io/ ncbi/blast-static :${BLAST_VERSION} AS ncbi-blast
2323
2424# # Stage 3: Puting it together.
25- FROM ruby:3.2.2-bullseye AS final
25+ FROM docker.io/library/ ruby:3.2-bookworm AS final
2626
2727LABEL Description="Intuitive local web frontend for the BLAST bioinformatics tool"
2828LABEL MailingList="https://groups.google.com/forum/#!forum/sequenceserver"
2929LABEL Website="http://sequenceserver.com"
3030
3131# Install packages required to run SequenceServer and BLAST.
3232RUN apt-get update && apt-get install -y --no-install-recommends \
33- curl libgomp1 liblmdb0 && rm -rf /var/lib/apt/lists/*
33+ curl libgomp1 && rm -rf /var/lib/apt/lists/*
3434
3535# Copy gem dependencies and BLAST+ binaries from previous build stages.
3636COPY --from=builder /usr/local/bundle/ /usr/local/bundle/
37- COPY --from=ncbi-blast /blast/lib /blast/lib/
38- COPY --from=ncbi-blast /blast/bin/blast_formatter /blast/bin/
39- COPY --from=ncbi-blast /blast/bin/blastdbcmd /blast/bin/
40- COPY --from=ncbi-blast /blast/bin/blastn.REAL /blast/bin/blastn
41- COPY --from=ncbi-blast /blast/bin/blastp.REAL /blast/bin/blastp
42- COPY --from=ncbi-blast /blast/bin/blastx.REAL /blast/bin/blastx
43- COPY --from=ncbi-blast /blast/bin/makeblastdb /blast/bin
44- COPY --from=ncbi-blast /blast/bin/tblastn.REAL /blast/bin/tblastn
45- COPY --from=ncbi-blast /blast/bin/tblastx.REAL /blast/bin/tblastx
37+ COPY --from=ncbi-blast \
38+ /blast/bin/blast_formatter \
39+ /blast/bin/blastdbcmd \
40+ /blast/bin/blastn \
41+ /blast/bin/blastp \
42+ /blast/bin/blastx \
43+ /blast/bin/makeblastdb \
44+ /blast/bin/tblastn \
45+ /blast/bin/tblastx \
46+ /blast/bin/
4647
4748# Add BLAST+ binaries to PATH.
4849ENV PATH=/blast/bin:${PATH}
@@ -71,7 +72,7 @@ ENTRYPOINT ["bundle", "exec"]
7172CMD ["sequenceserver" ]
7273
7374# # Stage 4 (optional) minify CSS & JS.
74- FROM node:15-alpine3.12 AS node
75+ FROM node:20-alpine AS node
7576
7677RUN apk add --no-cache git
7778WORKDIR /usr/src/app
@@ -88,7 +89,7 @@ COPY --from=node /usr/src/app/public/sequenceserver-*.min.js public/
8889COPY --from=node /usr/src/app/public/css/sequenceserver.min.css public/css/
8990
9091# # Stage 6 (optional) Pull the example database from the debian package.
91- FROM ruby:3.2.2-bullseye AS example_db
92+ FROM docker.io/library/ ruby:3.2-bookworm AS example_db
9293
9394WORKDIR /tmp
9495RUN apt-get update && apt-get download ncbi-blast+ && dpkg-deb -xv ncbi-blast+*.deb .
0 commit comments