-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathDockerfile
More file actions
53 lines (43 loc) · 2.18 KB
/
Copy pathDockerfile
File metadata and controls
53 lines (43 loc) · 2.18 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
FROM debian:bullseye
# Update repos install packages and cleanup
# all in one step so we avoid large intermediate layers.
RUN apt-get update && \
apt-get install -y wget gnupg2 git libzip4 apt-transport-https lsb-release ca-certificates && \
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list && \
apt-get update && \
apt-get install -y php8.1-cli php8.1-common php8.1-mbstring \
php8.1-gd php8.1-imagick php8.1-intl php8.1-bz2 php8.1-xml \
php8.1-mysql php8.1-zip php8.1-dev curl php8.1-curl \
php-dompdf php8.1-apcu redis-server php8.1-redis php8.1-smbclient \
php8.1-ldap unzip php8.1-pgsql php8.1-sqlite make apache2 \
php8.1-opcache libmagickcore-6.q16-2-extra \
libapache2-mod-php8.1 && \
apt-get autoremove -y && apt-get autoclean && apt-get clean && \
rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/*
COPY opcache-recommended.ini /usr/local/etc/php/conf.d/
WORKDIR /var/www/html
# Looks like there's an issue on self-hosted runners with fuse-overlayfs that prevents us deleting the directory directly
# so rename it first and then remove it
RUN mv /var/www/html/ /var/www/html2/ && rm -rf /var/www/html2/
RUN mkdir -p /var/www/html
RUN git clone --depth 1 https://github.com/nextcloud/server.git .
RUN git submodule update --init --depth 1
RUN chown -R www-data:www-data .
RUN chsh -s /bin/bash www-data
ADD initnc.sh /usr/local/bin/
ADD run.sh /usr/local/bin/
ADD initAndRun.sh /usr/local/bin/
# self signed cert
ADD ssl/dhparam.pem /etc/ssl/certs/
ADD ssl/default-ssl.conf /etc/apache2/conf-available/ssl-params.conf
ADD ssl/nextcloud.crt /etc/ssl/certs/nextcloud.crt
ADD ssl/nextcloud.key /etc/ssl/private/nextcloud.key
ADD ssl/dev-test-key.crt /etc/ssl/certs/dev-test-key.crt
ADD ssl/dev-test-key.key /etc/ssl/private/dev-test-key.key
ADD ssl/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf
ADD default-nextcloud.conf /etc/apache2/sites-enabled/default-nextcloud.conf
ADD nextcloud.ini /etc/php/8.1/apache2/conf.d/nextcloud.ini
RUN chmod +x /usr/local/bin/*
EXPOSE 80
ENTRYPOINT ["/usr/local/bin/initAndRun.sh"]