]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/modules/websites/tools/tools/wallabag.nix
Fix wallabag activation script
[perso/Immae/Config/Nix.git] / nixops / modules / websites / tools / tools / wallabag.nix
index 4bda8089a5d3df7c196a25e4f5f71209478defaf..0b28ccb9d3a046f7bc64b5cefede9dffe7ec17e4 100644 (file)
@@ -17,17 +17,17 @@ let
           database_socket: null
           database_charset: utf8
           domain_name: https://tools.immae.eu/wallabag
-          mailer_transport: smtp
-          mailer_host: mail.immae.eu
+          mailer_transport: sendmail
+          mailer_host: 127.0.0.1
           mailer_user: null
           mailer_password: null
           locale: fr
           secret: ${env.secret}
           twofactor_auth: true
-          twofactor_sender: wallabag@immae.eu
+          twofactor_sender: wallabag@tools.immae.eu
           fosuser_registration: false
           fosuser_confirmation: true
-          from_email: wallabag@immae.eu
+          from_email: wallabag@tools.immae.eu
           rss_limit: 50
           rabbitmq_host: localhost
           rabbitmq_port: 5672
@@ -55,6 +55,10 @@ let
           ldap_email_attribute: mail
           ldap_name_attribute: cn
           ldap_enabled_attribute: null
+      services:
+          swiftmailer.mailer.default.transport:
+              class:     Swift_SendmailTransport
+              arguments: ['/run/wrappers/bin/sendmail -bs']
       '';
     webappDir = composerEnv.buildPackage rec {
       packages = {
@@ -101,9 +105,9 @@ let
       postInstall = ''
         rm -rf web/assets var/{cache,logs,sessions} app/config/parameters.yml data
         ln -sf ${parameters} app/config/parameters.yml
-        ln -sf ../../../../../../${varDir}/var/{cache,logs,sessions} var
-        ln -sf ../../../../../${varDir}/data data
-        ln -sf ../../../../../../${varDir}/assets web/assets
+        ln -sf ${varDir}/var/{cache,logs,sessions} var
+        ln -sf ${varDir}/data data
+        ln -sf ${varDir}/assets web/assets
       '';
     };
     activationScript = ''
@@ -113,6 +117,7 @@ let
           "${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ]; then
         pushd ${webappDir} > /dev/null
         $wrapperDir/sudo -u wwwrun ./bin/console --env=prod cache:clear
+        rm -rf /var/lib/wallabag/var/cache/pro_
         $wrapperDir/sudo -u wwwrun ./bin/console --env=prod doctrine:migrations:migrate --no-interaction
         popd > /dev/null
         echo -n "${webappDir}" > ${varDir}/currentWebappDir
@@ -121,13 +126,15 @@ let
     webRoot = "${webappDir}/web";
     # Domain migration: Table wallabag_entry contains whole
     # https://tools.immae.eu/wallabag domain name in preview_picture
-    apache = {
+    apache = rec {
       user = "wwwrun";
       group = "wwwrun";
       modules = [ "proxy_fcgi" ];
+      webappName = "tools_wallabag";
+      root = "/run/current-system/webapps/${webappName}";
       vhostConf = ''
-        Alias /wallabag "${webRoot}"
-        <Directory "${webRoot}">
+        Alias /wallabag "${root}"
+        <Directory "${root}">
           AllowOverride None
           Require all granted
           # For OAuth (apps)
@@ -144,7 +151,7 @@ let
             RewriteRule ^(.*)$ app.php [QSA,L]
           </IfModule>
         </Directory>
-        <Directory "${webRoot}/bundles">
+        <Directory "${root}/bundles">
           <IfModule mod_rewrite.c>
             RewriteEngine Off
           </IfModule>
@@ -172,7 +179,7 @@ let
 
         ; Needed to avoid clashes in browser cookies (same domain)
         php_value[session.name] = WallabagPHPSESSID
-        php_admin_value[open_basedir] = "${basedir}:/tmp"
+        php_admin_value[open_basedir] = "/run/wrappers/bin/sendmail:${basedir}:/tmp"
         php_value[max_execution_time] = 300
         '';
     };