-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
GDAG.Dockerfile
81 lines (70 loc) · 4.99 KB
/
GDAG.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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#----------------------------------------------------------------------------------------------------
# Pull latest stable Ubuntu
#----------------------------------------------------------------------------------------------------
FROM ubuntu:20.04
LABEL org.opencontainers.image.source = "https://github.com/matamorphosis/GDrive-Access-Governance"
#----------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------
# Update repos and install required packages
#----------------------------------------------------------------------------------------------------
RUN apt update
ARG DEBIAN_FRONTEND=noninteractive
#----------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------
# Change region as required and install packages
#----------------------------------------------------------------------------------------------------
ENV TZ=Australia/Sydney
RUN apt install -y tzdata python3 python3-pip build-essential git openssl curl sudo
#----------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------
# Clone repository and create necessary directories
#----------------------------------------------------------------------------------------------------
WORKDIR /
COPY ./ /
#----------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------
# Install online packages from requirements.txt file
#----------------------------------------------------------------------------------------------------
RUN pip3 install -r /installation/requirements.txt
#----------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------
# Change below to production for production environment
#----------------------------------------------------------------------------------------------------
ENV FLASK_ENVIRONMENT="development"
#----------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------
# Set up certificates
#----------------------------------------------------------------------------------------------------
RUN mkdir /certs
#----------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------
# To provide your own, uncomment the following lines, and provide .key and .crt file pair in the same directory as this dockerfile before running.
#----------------------------------------------------------------------------------------------------
# ADD ./privateKey.key /certs/privateKey.key
# ADD ./certificate.crt /certs/certificate.crt
#----------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------
# If using the above conditions to add custom a certificate pair, please ensure the names are correctly reflected below:
#----------------------------------------------------------------------------------------------------
ENV PRIVATE_KEY="/certs/privateKey.key"
ENV CERTIFICATE_CRT="/certs/certificate.crt"
#----------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------
# If using the above conditions to add custom a certificate pair, please comment out the below lines
#----------------------------------------------------------------------------------------------------
ENV country=AU
ENV state=NSW
ENV locality=Sydney
ENV commonname=GDAG
ENV organization=GDAG
ENV organizationalunit=GDAG
#----------------------------------------------------------------------------------------------------
RUN openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout $PRIVATE_KEY -out $CERTIFICATE_CRT -subj "/C=$country/ST=$state/L=$locality/O=$organization/OU=$organizationalunit/CN=$commonname/emailAddress=$email"
#----------------------------------------------------------------------------------------------------
# Start GDAG.
#----------------------------------------------------------------------------------------------------
RUN chmod +x /installation/docker/*start.sh
WORKDIR /app
CMD ["bash", "/installation/docker/start.sh"]
#----------------------------------------------------------------------------------------------------