enableRollback = true;
};
+ # Full backup:
+ # The star after /var/lib/* avoids deleting all folders in case of problem
+ # rsync -e "ssh -i /root/.ssh/id_charon_vpn" -aAXvz --delete --numeric-ids --super --rsync-path="sudo rsync" /var/lib/* immae@immae.eu:
eldiron = { config, pkgs, mylibs, myconfig, ... }:
with mylibs;
let
./modules/gitolite.nix
./modules/gitweb.nix
./modules/databases.nix
- ./modules/websites.nix
+ ./modules/websites
+ ./modules/websites/phpfpm
];
services.myGitolite.enable = true;
services.myGitweb.enable = true;
networking = {
firewall = {
enable = true;
- allowedTCPPorts = [ 22 80 443 9418 ];
+ allowedTCPPorts = [ 22 9418 ];
};
- interfaces."eth0".ipv4.addresses = [
- # 176.9.151.89 declared in nixops -> infra / tools
- { address = myconfig.ips.production; prefixLength = 32; }
- { address = myconfig.ips.integration; prefixLength = 32; }
- ];
};
deployment = {
cd ${mypkgs.nextcloud.webRoot}
NEXTCLOUD_CONFIG_DIR="${mypkgs.nextcloud.webRoot}/config" \
exec \
- ${config.services.phpfpm.phpPackage}/bin/php \
- -c ${config.services.phpfpm.phpPackage}/etc/php.ini \
+ ${pkgs.php}/bin/php \
+ -c ${pkgs.php}/etc/php.ini \
occ $*
'';
in [
services.ympd = mypkgs.ympd.config // { enable = false; };
- services.phpfpm = {
- # FIXME: move session files to separate dirs
- # /!\ phppackage is used in nextcloud configuation
+ services.myPhpfpm = {
+ phpPackage = pkgs.php;
phpOptions = ''
session.save_path = "/var/lib/php/sessions"
session.gc_maxlifetime = 60*60*24*15
session.cache_expire = 60*24*30
- ; For nextcloud
- extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so
- ; For nextcloud
- extension=${pkgs.phpPackages.apcu}/lib/php/extensions/apcu.so
- ; For nextcloud
- zend_extension=${pkgs.php}/lib/php/extensions/opcache.so
'';
extraConfig = ''
log_level = notice
'';
+ poolPhpConfigs = {
+ nextcloud = mypkgs.nextcloud.phpFpm.phpConfig;
+ };
poolConfigs = {
adminer = mypkgs.adminer.phpFpm.pool;
nextcloud = mypkgs.nextcloud.phpFpm.pool;