};
in rec {
varDir = "/var/lib/nextcloud";
- config_php = writeText "config.php" ''
- <?php
- $CONFIG = array (
- // FIXME: change this value when nextcloud starts getting slow
- 'instanceid' => '${env.instance_id}1',
- 'datadirectory' => '/var/lib/nextcloud/',
- 'passwordsalt' => '${env.password_salt}',
- 'debug' => false,
- 'dbtype' => 'pgsql',
- 'version' => '15.0.0.10',
- 'dbname' => '${env.postgresql.database}',
- 'dbhost' => '${env.postgresql.socket}',
- 'dbtableprefix' => 'oc_',
- 'dbuser' => '${env.postgresql.user}',
- 'dbpassword' => '${env.postgresql.password}',
- 'installed' => true,
- 'maxZipInputSize' => 0,
- 'allowZipDownload' => true,
- 'forcessl' => true,
- 'theme' => ${"''"},
- 'maintenance' => false,
- 'trusted_domains' =>
- array (
- 0 => 'cloud.immae.eu',
- ),
- 'secret' => '${env.secret}',
- 'appstoreenabled' => false,
- 'appstore.experimental.enabled' => true,
- 'loglevel' => 2,
- 'trashbin_retention_obligation' => 'auto',
- 'htaccess.RewriteBase' => '/',
- 'mail_smtpmode' => 'sendmail',
- 'mail_smtphost' => '127.0.0.1',
- 'mail_smtpname' => ''',
- 'mail_smtppassword' => ''',
- 'mail_from_address' => 'nextcloud',
- 'mail_smtpauth' => false,
- 'mail_domain' => 'tools.immae.eu',
- 'memcache.local' => '\\OC\\Memcache\\APCu',
- 'memcache.locking' => '\\OC\\Memcache\\Redis',
- 'filelocking.enabled' => true,
- 'redis' =>
- array (
- 'host' => '${env.redis.socket}',
- 'port' => 0,
- 'dbindex' => ${env.redis.db_index},
- ),
- 'overwrite.cli.url' => 'https://cloud.immae.eu',
- 'ldapIgnoreNamingRules' => false,
- 'ldapProviderFactory' => '\\OCA\\User_LDAP\\LDAPProviderFactory',
- );
- '';
- config = stdenv.mkDerivation rec {
- name = "nextcloud-config";
- src = ./nextcloud-config;
- phases = "installPhase";
- installPhase = ''
- mkdir -p $out
- cp -r $src/* $out
- cp ${config_php} $out/config.php
+ keys.tools-nextcloud = {
+ destDir = "/run/keys/webapps";
+ user = apache.user;
+ group = apache.group;
+ permissions = "0600";
+ text = ''
+ <?php
+ $CONFIG = array (
+ // FIXME: change this value when nextcloud starts getting slow
+ 'instanceid' => '${env.instance_id}1',
+ 'datadirectory' => '/var/lib/nextcloud/',
+ 'passwordsalt' => '${env.password_salt}',
+ 'debug' => false,
+ 'dbtype' => 'pgsql',
+ 'version' => '15.0.4.0',
+ 'dbname' => '${env.postgresql.database}',
+ 'dbhost' => '${env.postgresql.socket}',
+ 'dbtableprefix' => 'oc_',
+ 'dbuser' => '${env.postgresql.user}',
+ 'dbpassword' => '${env.postgresql.password}',
+ 'installed' => true,
+ 'maxZipInputSize' => 0,
+ 'allowZipDownload' => true,
+ 'forcessl' => true,
+ 'theme' => ${"''"},
+ 'maintenance' => false,
+ 'trusted_domains' =>
+ array (
+ 0 => 'cloud.immae.eu',
+ ),
+ 'secret' => '${env.secret}',
+ 'appstoreenabled' => false,
+ 'appstore.experimental.enabled' => true,
+ 'loglevel' => 2,
+ 'trashbin_retention_obligation' => 'auto',
+ 'htaccess.RewriteBase' => '/',
+ 'mail_smtpmode' => 'sendmail',
+ 'mail_smtphost' => '127.0.0.1',
+ 'mail_smtpname' => ''',
+ 'mail_smtppassword' => ''',
+ 'mail_from_address' => 'nextcloud',
+ 'mail_smtpauth' => false,
+ 'mail_domain' => 'tools.immae.eu',
+ 'memcache.local' => '\\OC\\Memcache\\APCu',
+ 'memcache.locking' => '\\OC\\Memcache\\Redis',
+ 'filelocking.enabled' => true,
+ 'redis' =>
+ array (
+ 'host' => '${env.redis.socket}',
+ 'port' => 0,
+ 'dbindex' => ${env.redis.db_index},
+ ),
+ 'overwrite.cli.url' => 'https://cloud.immae.eu',
+ 'ldapIgnoreNamingRules' => false,
+ 'ldapProviderFactory' => '\\OCA\\User_LDAP\\LDAPProviderFactory',
+ );
'';
};
webRoot = stdenv.mkDerivation rec {
text = ''
install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}
install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions
- if [ ! -e ${varDir}/config ]; then
- cp -a ${config} ${varDir}/config
- chown -R ${apache.user}:${apache.group} ${varDir}/config
- chmod -R u+w ${varDir}/config
- fi
+ install -D -m 0644 -o ${apache.user} -g ${apache.group} ${./nextcloud-config}/* -t ${varDir}/config
+ install -D -m 0600 -o ${apache.user} -g ${apache.group} -T /run/keys/webapps/tools-nextcloud ${varDir}/config/config.php
'';
};
apache = rec {
};
phpFpm = rec {
basedir = builtins.concatStringsSep ":" (
- [ webRoot varDir config ]
+ [ webRoot varDir ]
++ lib.attrsets.mapAttrsToList (name: value: value) apps);
socket = "/var/run/phpfpm/nextcloud.sock";
phpConfig = ''