+ services.phpApplication.apps.ludivinecassal_prod = {
+ websiteEnv = "production";
+ httpdUser = config.services.httpd.Prod.user;
+ httpdGroup = config.services.httpd.Prod.group;
+ inherit (app) webRoot varDir;
+ varDirPaths = {
+ "tmp" = "0700";
+ };
+ inherit app;
+ serviceDeps = [ "mysql.service" ];
+ preStartActions = [
+ "./bin/console --env=${app.environment} cache:clear --no-warmup"
+ ];
+ phpOpenbasedir = [ "/tmp" ];
+ phpPool = {
+ "php_admin_value[upload_max_filesize]" = "20M";
+ "php_admin_value[post_max_size]" = "20M";
+ #"php_admin_flag[log_errors]" = "on";
+ "pm" = "dynamic";
+ "pm.max_children" = "20";
+ "pm.start_servers" = "2";
+ "pm.min_spare_servers" = "1";
+ "pm.max_spare_servers" = "3";
+ };
+ phpWatchFiles = [
+ config.secrets.fullPaths."webapps/${app.environment}-ludivinecassal"
+ ];
+ };
+
+ secrets.keys = [
+ {
+ dest = "webapps/${app.environment}-ludivinecassal";
+ user = config.services.httpd.Prod.user;
+ group = config.services.httpd.Prod.group;
+ permissions = "0400";
+ text = ''
+ # This file is auto-generated during the composer install
+ parameters:
+ database_host: ${secrets.mysql.host}
+ database_port: ${secrets.mysql.port}
+ database_name: ${secrets.mysql.database}
+ database_user: ${secrets.mysql.user}
+ database_password: ${secrets.mysql.password}
+ database_server_version: ${pkgs.mariadb.mysqlVersion}
+ mailer_transport: smtp
+ mailer_host: 127.0.0.1
+ mailer_user: null
+ mailer_password: null
+ secret: ${secrets.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: '${secrets.ldap.dn}'
+ ldap_search_password: '${secrets.ldap.password}'
+ ldap_search_filter: '${secrets.ldap.filter}'
+ leapt_im:
+ binary_path: ${pkgs.imagemagick}/bin
+ assetic:
+ sass: ${pkgs.sass}/bin/sass
+ ruby: ${pkgs.ruby}/bin/ruby
+ '';
+ }
+ ];