ahuston-0 05e8a12e77
add new setting for VMs
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2024-08-17 22:17:08 -04:00

90 lines
2.4 KiB
Nix

{ pkgs, ... }:
let
nextcloud-apache = pkgs.dockerTools.pullImage (import ./nextcloud-apache.nix);
in
pkgs.dockerTools.buildImage {
name = "nextcloud-custom";
tag = "latest";
fromImage = nextcloud-apache;
diskSize = 8192;
buildVMMemorySize = 8192;
compressor = "zstd";
# contents = ./.;
# copyToRoot = pkgs.buildEnv {
# name="supervisord";
# paths = [./.];
# pathsToLink = [ "./supervisord.conf" ];
# };
useFUSEOverlayFS = true;
# enableFakechroot = true;
runAsRoot = ''
set -ex; \
\
/usr/bin/apt-get update; \
/usr/bin/apt-get install -y --no-install-recommends \
ffmpeg \
ghostscript \
libmagickcore-6.q16-6-extra \
procps \
smbclient \
supervisor \
# libreoffice \
; \
rm -rf /var/lib/apt/lists/*
set -ex; \
\
savedAptMark="$(apt-mark showmanual)"; \
\
/usr/bin/apt-get update; \
/usr/bin/apt-get install -y --no-install-recommends \
libbz2-dev \
libc-client-dev \
libkrb5-dev \
libsmbclient-dev \
; \
\
/usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
/usr/local/bin/docker-php-ext-install \
bz2 \
imap \
; \
/usr/local/bin/pecl install smbclient; \
/usr/local/bin/docker-php-ext-enable smbclient; \
\
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
/usr/bin/apt-mark auto '.*' > /dev/null; \
/usr/bin/apt-mark manual $savedAptMark; \
/usr/bin/ldd "$(/usr/local/bin/php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
/usr/bin/apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
mkdir -p \
/var/log/supervisord \
/var/run/supervisord \
;
'';
config = {
ENV = {
NEXTCLOUD_UPDATE = 1;
};
CMD = [
"/usr/bin/supervisord"
"-c"
# ./supervisord.conf
];
};
}
# build: nextcloud-dockerfiles/full/apache/