summaryrefslogtreecommitdiffstats
path: root/adei/Dockerfile
blob: 8ecaa2e7d392521bb31b6f30d118445f3cef3b4e (plain)
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
FROM opensuse:42.1
MAINTAINER Suren A. Chilingaryan <csa@suren.me>

# Useful system applications
RUN zypper -n in glibc-locale mc bzr git openssh telnet curl python-pycurl

ENV LANG en_US.UTF-8  
ENV LANGUAGE en_US:en  
ENV LC_ALL en_US.UTF-8 

# Installation of ADEI & dependencies
RUN zypper ar http://download.opensuse.org/repositories/home:/csa7fff:/adei/openSUSE_Leap_42.1/home:csa7fff:adei.repo && \
    zypper ar http://download.opensuse.org/repositories/server:/php:/extensions/openSUSE_Leap_42.1/server:php:extensions.repo && \
    zypper ar http://download.opensuse.org/repositories/devel:languages:python/openSUSE_Tumbleweed/devel:languages:python.repo && \
    zypper --gpg-auto-import-keys ref -s && \
    zypper -n in supervisor procmail  alpine which w3m && \
    zypper -n in perl perl-DateTime-Format-Strptime mailx && \
    zypper -n in make java && \
    zypper -n in adei adei-config-default adei-req-mssql adei-webroot

VOLUME /var/log/apache2
VOLUME /var/spool/mail

VOLUME /adei/src
VOLUME /adei/cfg
VOLUME /adei/tmp
VOLUME /adei/sys
VOLUME /adei/ovr


COPY supervisor/supervisord.conf /etc/supervisord.conf

# Apply configuration changes
COPY configs /opt/configs
COPY scripts /opt/scripts
RUN /opt/scripts/configure.sh 

# Replace packaged ADEI with repository version
RUN rm -rf /srv/www/htdocs/adei && \
    ln -s /adei/src /srv/www/htdocs/adei

# Modify for non-priviledged mode
RUN ln -sf /etc/mime.types /etc/apache2/mime.types && \
    find /etc/apache2 -type d -exec chmod +rx '{}' \; && \
    chmod -R +r /etc/apache2 && \
    mv /etc/apache2 /opt/ && \
    ln -s /adei/ovr/apache2 /etc/apache2 && \
    sed -i'' -re 's@/var/run@/tmp@' /usr/sbin/start_apache2 && \
    chmod +x /usr/sbin/start_apache2

ENV MYSQL_SERVER adei-mysql
ENV MYSQL_PORT 3306
ENV MYSQL_USER adei
ENV MYSQL_PASSWORD adei
ENV MYSQL_DATABASE adei

ENV ADEI_REVISION last:1
ENV ADEI_PARALLEL sources
ENV ADEI_SETUP all
ENV ADEI_ENABLED_SETUPS autogen logs
ENV ADEI_PORTS 80

ENV APACHE_SERVERS 0

COPY docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]

EXPOSE 80
CMD /usr/bin/supervisord -c /etc/supervisord.conf