Added nixpress WP+PHP+MariaDB+NGINX+REDIS
This commit is contained in:
62
nixpress/testdev.nix
Normal file
62
nixpress/testdev.nix
Normal file
@@ -0,0 +1,62 @@
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
{
|
||||
packages = with pkgs; [ git wp-cli ];
|
||||
|
||||
languages.php.enable = true;
|
||||
languages.php.package = pkgs.php82.buildEnv {
|
||||
extensions = { all, enabled }:
|
||||
with all;
|
||||
enabled ++ [ redis pdo_mysql xdebug ];
|
||||
extraConfig = ''
|
||||
memory_limit = -1
|
||||
xdebug.mode = debug
|
||||
xdebug.start_with_request = yes
|
||||
xdebug.idekey = vscode
|
||||
xdebug.log_level = 0
|
||||
max_execution_time = 0
|
||||
'';
|
||||
};
|
||||
|
||||
languages.php.fpm.pools.web = {
|
||||
settings = {
|
||||
"clear_env" = "no";
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 10;
|
||||
"pm.start_servers" = 2;
|
||||
"pm.min_spare_servers" = 1;
|
||||
"pm.max_spare_servers" = 10;
|
||||
};
|
||||
};
|
||||
|
||||
certificates = [ "wp.localhost" ];
|
||||
|
||||
# This lets Caddy bind to 443
|
||||
scripts.caddy-setcap.exec = ''
|
||||
sudo setcap 'cap_net_bind_service=+ep' ${pkgs.caddy}/bin/caddy
|
||||
'';
|
||||
services.redis.enable = true;
|
||||
|
||||
# Links to MariaDB internally
|
||||
services.mysql = {
|
||||
enable = true;
|
||||
settings.mysqld = { max_allowed_packet = "512M"; };
|
||||
};
|
||||
|
||||
services.mysql.initialDatabases = [{ name = "wp"; }];
|
||||
services.mysql.ensureUsers = [{
|
||||
name = "wordpress";
|
||||
password = "YourSecretSauceHere";
|
||||
ensurePermissions = { "wp.*" = "ALL PRIVILEGES"; };
|
||||
}];
|
||||
|
||||
services.caddy.enable = true;
|
||||
services.caddy.virtualHosts."wp.localhost" = {
|
||||
extraConfig = ''
|
||||
tls ${config.env.DEVENV_STATE}/mkcert/wp.localhost.pem ${config.env.DEVENV_STATE}/mkcert/wp.localhost-key.pem
|
||||
root * .
|
||||
php_fastcgi unix/${config.languages.php.fpm.pools.web.socket}
|
||||
file_server
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user