buildimage
This commit is contained in:
parent
8360e05aa0
commit
5987257fa4
@ -63,6 +63,7 @@
|
||||
nfs.server.enable = true;
|
||||
openssh.ports = [ 666 ];
|
||||
smartd.enable = true;
|
||||
calibre-server.enable = true;
|
||||
|
||||
postgresql = {
|
||||
enable = true;
|
||||
|
@ -3,23 +3,27 @@ let
|
||||
nextcloud-apache = pkgs.dockerTools.pullImage (import ./nextcloud-apache.nix);
|
||||
in
|
||||
|
||||
pkgs.dockerTools.buildLayeredImage {
|
||||
pkgs.dockerTools.buildImage {
|
||||
name = "nextcloud-custom";
|
||||
tag = "latest";
|
||||
fromImage = nextcloud-apache;
|
||||
# diskSize=4096;
|
||||
# buildVMMemorySize=2048;
|
||||
diskSize = 8192;
|
||||
buildVMMemorySize = 8192;
|
||||
compressor = "zstd";
|
||||
contents = ./.;
|
||||
# contents = ./.;
|
||||
# copyToRoot = pkgs.buildEnv {
|
||||
# name="supervisord";
|
||||
# paths = [./.];
|
||||
# pathsToLink = [ "./supervisord.conf" ];
|
||||
|
||||
enableFakechroot = true;
|
||||
fakeRootCommands = ''
|
||||
#!${pkgs.runtimeShell}
|
||||
# };
|
||||
|
||||
# enableFakechroot = true;
|
||||
runAsRoot = ''
|
||||
set -ex; \
|
||||
\
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
/usr/bin/apt-get update; \
|
||||
/usr/bin/apt-get install -y --no-install-recommends \
|
||||
ffmpeg \
|
||||
ghostscript \
|
||||
libmagickcore-6.q16-6-extra \
|
||||
@ -34,26 +38,26 @@ pkgs.dockerTools.buildLayeredImage {
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
/usr/bin/apt-get update; \
|
||||
/usr/bin/apt-get install -y --no-install-recommends \
|
||||
libbz2-dev \
|
||||
libc-client-dev \
|
||||
libkrb5-dev \
|
||||
libsmbclient-dev \
|
||||
; \
|
||||
\
|
||||
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
|
||||
docker-php-ext-install \
|
||||
/usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
|
||||
/usr/local/bin/docker-php-ext-install \
|
||||
bz2 \
|
||||
imap \
|
||||
; \
|
||||
pecl install smbclient; \
|
||||
docker-php-ext-enable smbclient; \
|
||||
/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
|
||||
apt-mark auto '.*' > /dev/null; \
|
||||
apt-mark manual $savedAptMark; \
|
||||
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
|
||||
/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 \
|
||||
@ -61,7 +65,7 @@ pkgs.dockerTools.buildLayeredImage {
|
||||
| sort -u \
|
||||
| xargs -rt apt-mark manual; \
|
||||
\
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
/usr/bin/apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
mkdir -p \
|
||||
@ -76,7 +80,7 @@ pkgs.dockerTools.buildLayeredImage {
|
||||
CMD = [
|
||||
"/usr/bin/supervisord"
|
||||
"-c"
|
||||
./supervisord.conf
|
||||
# ./supervisord.conf
|
||||
];
|
||||
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user