-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile
67 lines (33 loc) · 1.65 KB
/
Dockerfile
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
FROM centos:7 AS dev
WORKDIR /radar
RUN yum update -y && yum install -y https://centos7.iuscommunity.org/ius-release.rpm epel-release
# Install Python 3.6 and upgrade tools
RUN yum install -y python36 python36-pip python36-devel libpqxx-devel.x86_64 pcre-devel
RUN python3 -m pip install --upgrade pip setuptools==57.5.0 wheel
RUN yum -y install python-pip
# Dev tools
RUN yum clean all && yum groupinstall -y "Development Tools"
# Install Radar
COPY . /radar
RUN python3 -m pip install -r dev-requirements.txt && python3 -m pip install -e .
# Create a venv for building deployemnt packages
RUN python3 -m virtualenv -p python2 venv
RUN source ./venv/bin/activate && pip install --upgrade pip==20.3.4 setuptools==44.1.1 wheel==0.36.2
RUN source ./venv/bin/activate && pip install platter
# Enviroment variables
ENV RADAR_SETTINGS /radar/example_settings.py
ENV FLASK_ENV development
# Set locales :- See https://click.palletsprojects.com/en/7.x/python3/
ENV LC_ALL=en_US.utf8
ENV LANG=en_US.utf8
# Build for production stage
RUN source ./venv/bin/activate && platter build --virtualenv-version 15.1.0 -p python3 -r requirements.txt .
# Production Image
FROM centos:7 AS prod
COPY --from=dev /radar/dist/ /srv/radar/
RUN yum update -y && yum install -y https://centos7.iuscommunity.org/ius-release.rpm epel-release
# Install Python 3.6 and upgrade tools
RUN yum install -y python36 python36-pip python36-devel libpqxx-devel.x86_64
RUN tar -xzf /srv/radar/radar* -C /srv/radar/ && rm -rf /srv/radar/radar*.tar.gz && mkdir /srv/radar/current
RUN /srv/radar/radar*/install.sh /srv/radar/current/ && rm -rf /srv/radar/radar*
RUN useradd -ms /bin/bash radar