-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
83 lines (67 loc) · 2.8 KB
/
Dockerfile
File metadata and controls
83 lines (67 loc) · 2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# Base Image
FROM ubuntu:22.04
LABEL MAINTAINER="VDJServer <vdjserver@utsouthwestern.edu>"
# PROXY: uncomment these if building behind UTSW proxy
# ENV http_proxy='http://proxy.swmed.edu:3128/'
# ENV https_proxy='http://proxy.swmed.edu:3128/'
# ENV HTTP_PROXY='http://proxy.swmed.edu:3128/'
# ENV HTTPS_PROXY='http://proxy.swmed.edu:3128/'
# Install OS Dependencies
RUN apt-get update && apt-get install -y \
make \
gcc g++ \
git \
ruby \
ruby-dev \
vim \
xdg-utils \
wget \
xz-utils \
bzip2 \
libpng-dev
# node (22.14.0 LTS)
ENV NODE_VER=v22.14.0
ARG TARGETARCH
RUN /bin/sh -c '\
if [ "$TARGETARCH" = "amd64" ]; then \
ARCH="x64"; \
else \
ARCH="$TARGETARCH"; \
fi; \
NODE_DIST=node-${NODE_VER}-linux-${ARCH}; \
wget https://nodejs.org/dist/${NODE_VER}/$NODE_DIST.tar.xz; \
tar xf ${NODE_DIST}.tar.xz; \
cp -rf /${NODE_DIST}/bin/* /usr/bin; \
cp -rf /${NODE_DIST}/lib/* /usr/lib; \
cp -rf /${NODE_DIST}/include/* /usr/include; \
cp -rf /${NODE_DIST}/share/* /usr/share'
##################
##################
# PROXY: More UTSW proxy settings
#RUN npm config set proxy http://proxy.swmed.edu:3128
#RUN npm config set https-proxy http://proxy.swmed.edu:3128
RUN mkdir /var/www && mkdir /var/www/html && mkdir /var/www/html/vdjserver-v2-web-backbone
# build airrvisualizationlibrary from source
COPY ./component/airrvisualizationlibrary/ /var/www/html/vdjserver-v2-web-backbone/airrvisualizationlibrary
RUN cd /var/www/html/vdjserver-v2-web-backbone/airrvisualizationlibrary && npm install
RUN cd /var/www/html/vdjserver-v2-web-backbone/airrvisualizationlibrary && npm run build:dev
# build airr-js
#COPY ./component/airr-standards/ /var/www/html/vdjserver-v2-web-backbone/airr-standards
#RUN cd /var/www/html/vdjserver-v2-web-backbone/airr-standards/lang/js && npm install --unsafe-perm
# build vdjserver-schema and airr-js from source
COPY ./component/vdjserver-schema/ /var/www/html/vdjserver-v2-web-backbone/vdjserver-schema
RUN cd /var/www/html/vdjserver-v2-web-backbone/vdjserver-schema/airr-standards/lang/js && npm install --unsafe-perm
RUN cd /var/www/html/vdjserver-v2-web-backbone/vdjserver-schema && npm install --unsafe-perm
# Install npm dependencies (optimized for cache)
COPY ./component/package.json /var/www/html/vdjserver-v2-web-backbone/
RUN cd /var/www/html/vdjserver-v2-web-backbone && npm install
# Copy project source
COPY ./component/ /var/www/html/vdjserver-v2-web-backbone
# ESLint
RUN cd /var/www/html/vdjserver-v2-web-backbone && npm run eslint app/scripts
# build dev site
RUN cd /var/www/html/vdjserver-v2-web-backbone && npm run dev
# build the production site
#RUN cd /var/www/html/vdjserver-v2-web-backbone && npm run build
WORKDIR /var/www/html/vdjserver-v2-web-backbone
VOLUME ["/var/www/html/vdjserver-v2-web-backbone"]