-
Notifications
You must be signed in to change notification settings - Fork 0
/
dockerfile
46 lines (37 loc) · 1.24 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
# syntax=docker/dockerfile:1
FROM ubuntu:20.04
MAINTAINER Benjamin Clark "bclark@sudoblark.com"
WORKDIR /app
# Install Python3 using apt
RUN apt update
RUN apt install software-properties-common -y
# PPA repo that has newer releases then default Ubuntu repos
RUN add-apt-repository ppa:deadsnakes/ppa -y
# Install Python and pip
RUN apt install python3.8 -y
RUN apt install python3-pip -y
# Install dependencies
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt
# args we expect to be passed in at runtime to setup DB connection
ARG db_host
ARG db_name
ARG db_user
ARG db_pwd
ARG web_host
# Some get set as env vars for API to use for DB connection
ENV dbHost=${db_host}
ENV dbName=${db_name}
ENV dbUser=${db_user}
ENV dbPwd=${db_pwd}
# Copy actual contents across
COPY src src
# Amend JavaScript to work on docker container, as api url is hard coded
RUN sed -i "s/EXPECTED_HOST/${web_host}/g" /app/src/static/js/addNames.js
# Do the same for home page so example works
RUN sed -i "s/EXPECTED_HOST/${web_host}/g" /app/src/templates/home.html
WORKDIR /app/src
# Make entrypoint script runnable
RUN chmod +x entrypoint.sh
# Entry point for container to initialise database if required then run flask
ENTRYPOINT ["./entrypoint.sh"]