forked from jmmills/docker-trac
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile-app
More file actions
executable file
·97 lines (97 loc) · 3.03 KB
/
Dockerfile-app
File metadata and controls
executable file
·97 lines (97 loc) · 3.03 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# current stable version 1.4.3 of trac doesn't support python3
# so we can't use ubuntu 20.04; we'll revert to 18.04 instead
# FROM ubuntu:20.04
FROM ubuntu:18.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get -y upgrade
#
# add requirements and tools first before installing trac
#
# add database support
RUN apt-get install -y sqlite3
#
# make editing configuration files a bit easier
RUN apt-get install -y nano
#
# add some more requirements
RUN apt-get install -y pwgen
RUN apt-get install -y unzip
RUN apt-get install -y python-ldap
RUN apt-get install -y tzdata
RUN apt-get install -y graphviz
#
# trac is not included in ubuntu 20.04; install using pip instead
#
# get pip first
# RUN apt install -y python3-pip
RUN apt install -y python-pip
# add some more requirements
RUN pip install wheel
RUN pip install pygments
RUN pip install docutils
RUN pip install textile==3.0.4
RUN pip install TracLDAPAuth
RUN pip install pyrad
RUN pip install genshi
#
# install trac (and all its dependencies)
RUN pip install trac==1.4.3
#
# install plugins
#
# add script to install plugins from source
ADD install_trac_zip /install_trac_zip
#
# install child tickets plugin from source
ADD childticketsplugin-18437.zip /childticketsplugin-18437.zip
RUN /install_trac_zip /childticketsplugin-18437.zip
# install master tickets plugin from source
ADD masterticketsplugin-18431.zip /masterticketsplugin-18431.zip
RUN /install_trac_zip /masterticketsplugin-18431.zip
# install announcer plugin from source
ADD AnnouncerPlugin-trunk-18431.zip /AnnouncerPlugin-trunk-18431.zip
RUN /install_trac_zip /AnnouncerPlugin-trunk-18431.zip
# install forms plugin from source
ADD tracforms-trunk-18431.zip /tracforms-trunk-18431.zip
RUN /install_trac_zip /tracforms-trunk-18431.zip
# install account manager plugin from source
ADD TracAccountManager-trunk-18431.zip /TracAccountManager-trunk-18431.zip
RUN /install_trac_zip /TracAccountManager-trunk-18431.zip
# install graphviz plugin
ADD graphvizplugin-18482.zip /graphvizplugin-18482.zip
RUN /install_trac_zip /graphvizplugin-18482.zip
# install PDF preview plugin
ADD PdfPreviewPlugin.zip /PdfPreviewPlugin.zip
RUN /install_trac_zip /PdfPreviewPlugin.zip
# install PDF preview plugin
ADD trac-allattachments.zip /trac-allattachments.zip
RUN /install_trac_zip /trac-allattachments.zip
#
# todo:do we need these ?
###RUN apt-get install -y trac-customfieldadmin
###RUN apt-get install -y trac-wikiprint
###RUN apt-get install -y trac-wysiwyg
###RUN apt-get install -y trac-tags
###RUN apt-get install -y trac-diavisview
###RUN apt-get install -y python-flup
#
ADD setup_trac_config.sh /.setup_trac_config.sh
ADD setup_trac.sh /.setup_trac.sh
ADD run.sh /run.sh
ADD trac_logo.png /var/www/trac_logo.png
#
ADD set_trac_user_password.py /usr/local/bin/
RUN chmod 755 /usr/local/bin/set_trac_user_password.py
#
# set our timezone
RUN ln -fs /usr/share/zoneinfo/Pacific/Auckland /etc/localtime
RUN dpkg-reconfigure -f noninteractive tzdata
#
# here we keep our backups
RUN mkdir /backup
#
# here we restore from
RUN mkdir /restore
#
EXPOSE 80
CMD ["/run.sh"]