Skip to content

Commit b08d761

Browse files
authored
Move setup commands into setup script (#14)
* - ensuring correct line ending while building on Windows. - Optimising resulting image size. * - merging changes from main branch * - fixing sed substitution for CRLF * - removing RUN from bash script
1 parent 31e21d1 commit b08d761

File tree

3 files changed

+43
-38
lines changed

3 files changed

+43
-38
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

22
/.idea/
33
logs/
4-
/dispatcher-docker.iml
4+
*.iml
55
.DS_Store

Dockerfile

Lines changed: 6 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -16,61 +16,30 @@
1616
FROM --platform=$TARGETPLATFORM centos:7
1717

1818
#install HTTPD
19-
RUN yum -y update
20-
RUN yum -y install httpd mod_ssl procps haproxy iputils tree telnet
19+
RUN yum -y update && yum -y install httpd mod_ssl procps haproxy iputils tree telnet && yum clean all
2120

2221
#remove default CentOS config
23-
RUN rm -rf /etc/httpd/conf/*
24-
RUN rm -rf /etc/httpd/conf.d/*
25-
RUN rm -rf /etc/httpd/conf.modules.d/*
22+
RUN rm -rf /etc/httpd/conf/* && rm -rf /etc/httpd/conf.d/* && rm -rf /etc/httpd/conf.modules.d/*
2623

2724
#Copy the AMS base files into the image.
2825
COPY ams/2.6/etc/httpd /etc/httpd
29-
RUN mkdir /etc/httpd/conf.d/enabled_vhosts
30-
RUN ln -s /etc/httpd/conf.d/available_vhosts/aem_author.vhost /etc/httpd/conf.d/enabled_vhosts/aem_author.vhost
31-
RUN ln -s /etc/httpd/conf.d/available_vhosts/aem_flush_author.vhost /etc/httpd/conf.d/enabled_vhosts/aem_flush_author.vhost
32-
RUN ln -s /etc/httpd/conf.d/available_vhosts/aem_publish.vhost /etc/httpd/conf.d/enabled_vhosts/aem_publish.vhost
33-
RUN ln -s /etc/httpd/conf.d/available_vhosts/aem_flush.vhost /etc/httpd/conf.d/enabled_vhosts/aem_flush.vhost
34-
RUN ln -s /etc/httpd/conf.d/available_vhosts/aem_health.vhost /etc/httpd/conf.d/enabled_vhosts/aem_health.vhost
35-
36-
RUN mkdir /etc/httpd/conf.dispatcher.d/enabled_farms
37-
RUN ln -s /etc/httpd/conf.dispatcher.d/available_farms/000_ams_catchall_farm.any /etc/httpd/conf.dispatcher.d/enabled_farms/000_ams_catchall_farm.any
38-
RUN ln -s /etc/httpd/conf.dispatcher.d/available_farms/001_ams_author_flush_farm.any /etc/httpd/conf.dispatcher.d/enabled_farms/001_ams_author_flush_farm.any
39-
RUN ln -s /etc/httpd/conf.dispatcher.d/available_farms/001_ams_publish_flush_farm.any /etc/httpd/conf.dispatcher.d/enabled_farms/001_ams_publish_flush_farm.any
40-
RUN ln -s /etc/httpd/conf.dispatcher.d/available_farms/002_ams_author_farm.any /etc/httpd/conf.dispatcher.d/enabled_farms/002_ams_author_farm.any
41-
4226
# Setup sample configs
4327
COPY sample/weretail_filters.any /etc/httpd/conf.dispatcher.d/filters/weretail_filters.any
4428
COPY sample/weretail_publish_farm.any /etc/httpd/conf.dispatcher.d/available_farms/100_weretail_publish_farm.any
45-
RUN ln -s /etc/httpd/conf.dispatcher.d/available_farms/100_weretail_publish_farm.any /etc/httpd/conf.dispatcher.d/enabled_farms/100_weretail_publish_farm.any
4629

4730
# Install dispatcher
4831
ARG TARGETARCH
4932
COPY scripts/setup.sh /
5033
RUN chmod +x /setup.sh
34+
# ensuring correct file ending on windows systems
35+
RUN sed -i -e 's/\r\n/\n/' /setup.sh
5136
RUN ./setup.sh
5237
RUN rm /setup.sh
5338

54-
# Create default docroots
55-
RUN mkdir -p /mnt/var/www/html
56-
RUN chown apache:apache /mnt/var/www/html
57-
58-
RUN mkdir -p /mnt/var/www/default
59-
RUN chown apache:apache /mnt/var/www/default
60-
61-
RUN mkdir -p /mnt/var/www/author
62-
RUN chown apache:apache /mnt/var/www/author
63-
64-
# Setup SSL
65-
RUN mkdir -p /etc/ssl/docker && \
66-
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=GB/ST=London/L=London/O=Adobe/CN=localhost" \
67-
-keyout /etc/ssl/docker/localhost.key \
68-
-out /etc/ssl/docker/localhost.crt && \
69-
cat /etc/ssl/docker/localhost.key /etc/ssl/docker/localhost.crt > /etc/ssl/docker/haproxy.pem
70-
71-
COPY haproxy/haproxy.cfg /etc/haproxy
7239

7340
COPY scripts/launch.sh /
41+
# ensuring correct file ending on windows systems
42+
RUN sed -i -e 's/\r\n/\n/' /launch.sh
7443
RUN chmod +x /launch.sh
7544

7645
COPY LICENSE /

scripts/setup.sh

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,34 @@ if [ "${TARGETARCH}" = "arm64" ]; then
2020
DISPARCH=aarch64
2121
fi
2222

23+
# Create default docroots
24+
mkdir -p /mnt/var/www/html
25+
chown apache:apache /mnt/var/www/html
26+
27+
mkdir -p /mnt/var/www/default
28+
chown apache:apache /mnt/var/www/default
29+
30+
mkdir -p /mnt/var/www/author
31+
chown apache:apache /mnt/var/www/author
32+
#create and link up default enabled vhosts
33+
mkdir /etc/httpd/conf.d/enabled_vhosts
34+
ln -s /etc/httpd/conf.d/available_vhosts/aem_author.vhost /etc/httpd/conf.d/enabled_vhosts/aem_author.vhost
35+
ln -s /etc/httpd/conf.d/available_vhosts/aem_flush_author.vhost /etc/httpd/conf.d/enabled_vhosts/aem_flush_author.vhost
36+
ln -s /etc/httpd/conf.d/available_vhosts/aem_publish.vhost /etc/httpd/conf.d/enabled_vhosts/aem_publish.vhost
37+
ln -s /etc/httpd/conf.d/available_vhosts/aem_flush.vhost /etc/httpd/conf.d/enabled_vhosts/aem_flush.vhost
38+
ln -s /etc/httpd/conf.d/available_vhosts/aem_health.vhost /etc/httpd/conf.d/enabled_vhosts/aem_health.vhost
39+
40+
#create and link up default enabled vhosts
41+
mkdir /etc/httpd/conf.dispatcher.d/enabled_farms
42+
ln -s /etc/httpd/conf.dispatcher.d/available_farms/000_ams_catchall_farm.any /etc/httpd/conf.dispatcher.d/enabled_farms/000_ams_catchall_farm.any
43+
ln -s /etc/httpd/conf.dispatcher.d/available_farms/001_ams_author_flush_farm.any /etc/httpd/conf.dispatcher.d/enabled_farms/001_ams_author_flush_farm.any
44+
ln -s /etc/httpd/conf.dispatcher.d/available_farms/001_ams_publish_flush_farm.any /etc/httpd/conf.dispatcher.d/enabled_farms/001_ams_publish_flush_farm.any
45+
ln -s /etc/httpd/conf.dispatcher.d/available_farms/002_ams_author_farm.any /etc/httpd/conf.dispatcher.d/enabled_farms/002_ams_author_farm.any
46+
ln -s /etc/httpd/conf.dispatcher.d/available_farms/002_ams_publish_farm.any /etc/httpd/conf.dispatcher.d/enabled_farms/002_ams_publish_farm.any
47+
48+
#set up sample configs
49+
ln -s /etc/httpd/conf.dispatcher.d/available_farms/100_weretail_publish_farm.any /etc/httpd/conf.dispatcher.d/enabled_farms/100_weretail_publish_farm.any
50+
#set up dispatcher
2351
mkdir -p /tmp/dispatcher
2452

2553
curl -o /tmp/dispatcher/dispatcher.tar.gz https://download.macromedia.com/dispatcher/download/dispatcher-apache2.4-linux-$DISPARCH-4.3.5.tar.gz
@@ -29,3 +57,11 @@ cd /tmp/dispatcher
2957
tar zxvf dispatcher.tar.gz
3058

3159
cp -v dispatcher-apache2.4-4.3.5.so /etc/httpd/modules/mod_dispatcher.so
60+
61+
#set up HA proxy
62+
# Setup SSL
63+
mkdir -p /etc/ssl/docker && \
64+
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=GB/ST=London/L=London/O=Adobe/CN=localhost" \
65+
-keyout /etc/ssl/docker/localhost.key \
66+
-out /etc/ssl/docker/localhost.crt && \
67+
cat /etc/ssl/docker/localhost.key /etc/ssl/docker/localhost.crt > /etc/ssl/docker/haproxy.pem

0 commit comments

Comments
 (0)