-{ pkgs, lib, writeText, fetchedGitPrivate, stdenv, composerEnv, fetchurl, fetchgit, ruby, sass, imagemagick }:
-let
- ludivinecassal = { config }: rec {
- environment = config.environment;
- varDir = "/var/lib/ludivinecassal_${environment}";
- configRoot =
- writeText "parameters.yml" ''
- # This file is auto-generated during the composer install
- parameters:
- database_host: db-1.immae.eu
- database_port: null
- database_name: ${config.mysql.name}
- database_user: ${config.mysql.user}
- database_password: ${config.mysql.password}
- database_server_version: ${pkgs.mariadb.mysqlVersion}
- mailer_transport: smtp
- mailer_host: mail.immae.eu
- mailer_user: null
- mailer_password: null
- secret: ${config.secret}
- ldap_host: ldap.immae.eu
- ldap_port: 636
- ldap_version: 3
- ldap_ssl: true
- ldap_tls: false
- ldap_user_bind: 'uid={username},ou=users,dc=immae,dc=eu'
- ldap_base_dn: 'dc=immae,dc=eu'
- ldap_search_dn: '${config.ldap.dn}'
- ldap_search_password: '${config.ldap.password}'
- ldap_search_filter: '${config.ldap.search}'
- leapt_im:
- binary_path: ${imagemagick}/bin
- assetic:
- sass: ${sass}/bin/sass
- ruby: ${ruby}/bin/ruby
+{ config, ludivinecassal, pkgs, ruby, sass, imagemagick }:
+rec {
+ app = ludivinecassal.override { inherit (config) environment; };
+ varDir = "/var/lib/ludivinecassal_${app.environment}";
+ keys = [{
+ dest = "webapps/${app.environment}-ludivinecassal";
+ user = apache.user;
+ group = apache.group;
+ permissions = "0400";
+ text = ''
+ # This file is auto-generated during the composer install
+ parameters:
+ database_host: ${config.mysql.host}
+ database_port: ${config.mysql.port}
+ database_name: ${config.mysql.name}
+ database_user: ${config.mysql.user}
+ database_password: ${config.mysql.password}
+ database_server_version: ${pkgs.mariadb.mysqlVersion}
+ mailer_transport: smtp
+ mailer_host: 127.0.0.1
+ mailer_user: null
+ mailer_password: null
+ secret: ${config.secret}
+ ldap_host: ldap.immae.eu
+ ldap_port: 636
+ ldap_version: 3
+ ldap_ssl: true
+ ldap_tls: false
+ ldap_user_bind: 'uid={username},ou=users,dc=immae,dc=eu'
+ ldap_base_dn: 'dc=immae,dc=eu'
+ ldap_search_dn: '${config.ldap.dn}'
+ ldap_search_password: '${config.ldap.password}'
+ ldap_search_filter: '${config.ldap.search}'
+ leapt_im:
+ binary_path: ${imagemagick}/bin
+ assetic:
+ sass: ${sass}/bin/sass
+ ruby: ${ruby}/bin/ruby
+ '';
+ }];
+ phpFpm = rec {
+ preStart = ''
+ if [ ! -f "${app.varDir}/currentWebappDir" -o \
+ ! -f "${app.varDir}/currentKey" -o \
+ "${app}" != "$(cat ${app.varDir}/currentWebappDir 2>/dev/null)" ] \
+ || ! sha512sum -c --status ${app.varDir}/currentKey; then
+ pushd ${app} > /dev/null
+ /run/wrappers/bin/sudo -u wwwrun ./bin/console --env=${app.environment} cache:clear --no-warmup
+ popd > /dev/null
+ echo -n "${app}" > ${app.varDir}/currentWebappDir
+ sha512sum /var/secrets/webapps/${app.environment}-ludivinecassal > ${app.varDir}/currentKey
+ fi