mirror of
https://github.com/sbrow/nix.git
synced 2026-02-27 13:21:45 -05:00
feat(templates/php): Updated template to use process-compose.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -0,0 +1 @@
|
|||||||
|
templates/php/.direnv
|
||||||
|
|||||||
@@ -1,19 +1,34 @@
|
|||||||
|
(cors) {
|
||||||
|
@origin header Origin {args[0]}
|
||||||
|
header @origin Access-Control-Allow-Origin "{args[0]}"
|
||||||
|
header @origin Access-Control-Allow-Methods "OPTIONS,HEAD,GET,POST,PUT,PATCH,DELETE"
|
||||||
|
}
|
||||||
|
|
||||||
wp.test {
|
wp.test {
|
||||||
root * .
|
root * .
|
||||||
|
|
||||||
encode zstd gzip
|
encode zstd gzip
|
||||||
file_server
|
file_server
|
||||||
php_fastcgi 127.0.0.1:9000
|
php_fastcgi 127.0.0.1:9009
|
||||||
|
|
||||||
tls internal
|
tls internal
|
||||||
}
|
}
|
||||||
|
|
||||||
laravel.test {
|
laravel.test {
|
||||||
|
# import cors laravel.test
|
||||||
|
|
||||||
|
respond /caddy/live OK
|
||||||
|
|
||||||
root * ./public
|
root * ./public
|
||||||
|
|
||||||
|
try_files {path} page-cache/{path}.html page-cache/{path}.json page-cache/{path}.xml
|
||||||
|
|
||||||
encode zstd gzip
|
encode zstd gzip
|
||||||
file_server
|
file_server
|
||||||
php_fastcgi 127.0.0.1:9000
|
php_fastcgi 127.0.0.1:9009
|
||||||
|
|
||||||
|
# Uncomment for Laravel Octane
|
||||||
|
# reverse_proxy :8000
|
||||||
|
|
||||||
tls internal
|
tls internal
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
web: sudo caddy run
|
|
||||||
php: php-fpm -F -y php-fpm.conf
|
|
||||||
110
templates/php/flake.lock
generated
Normal file
110
templates/php/flake.lock
generated
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1709336216,
|
||||||
|
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1705331948,
|
||||||
|
"narHash": "sha256-qjQXfvrAT1/RKDFAMdl8Hw3m4tLVvMCc8fMqzJv0pP4=",
|
||||||
|
"path": "/nix/store/yy19v2dwb8ldphvia9smajvwv3ycx2c1-source",
|
||||||
|
"rev": "b8dd8be3c790215716e7c12b247f45ca525867e2",
|
||||||
|
"type": "path"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-lib": {
|
||||||
|
"locked": {
|
||||||
|
"dir": "lib",
|
||||||
|
"lastModified": 1709237383,
|
||||||
|
"narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"dir": "lib",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1667085676,
|
||||||
|
"narHash": "sha256-jPHYYoSdrV3ypWG4oi9SUeI2MU6dLjxM88+9io5Rrx0=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e6e6bad81b7e11f37d893ef39712ce8918ae2338",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"process-compose-flake": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1708624100,
|
||||||
|
"narHash": "sha256-zZPheCD9JGg2EtK4A9BsIdyl8447egOow4fjIfHFHRg=",
|
||||||
|
"owner": "Platonic-Systems",
|
||||||
|
"repo": "process-compose-flake",
|
||||||
|
"rev": "44d260ddba5a51570dee54d5cd4d8984edaf98c2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Platonic-Systems",
|
||||||
|
"repo": "process-compose-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"process-compose-flake": "process-compose-flake",
|
||||||
|
"sbrow": "sbrow"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sbrow": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1703272630,
|
||||||
|
"narHash": "sha256-2od1Ocy53GwXSFMI1/R8xBVuvr08tf/9mTpyBwVl0ns=",
|
||||||
|
"owner": "sbrow",
|
||||||
|
"repo": "nix",
|
||||||
|
"rev": "0318b2ae1aa897e67fffa52d9d0c05bd1b9eccfc",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "sbrow",
|
||||||
|
"repo": "nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
@@ -3,31 +3,62 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# nixpkgs.url = "github:NixOS/nixpkgs/23.11";
|
# nixpkgs.url = "github:NixOS/nixpkgs/23.11";
|
||||||
|
# dolt.url = "github:sbrow/dolt";
|
||||||
# phps.url = "github:fossar/nix-phps";
|
# phps.url = "github:fossar/nix-phps";
|
||||||
# phps.inputs.nixpkgs.follows = "nixpkgs";
|
# phps.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
sbrow.url = "github:sbrow/nix";
|
sbrow.url = "github:sbrow/nix";
|
||||||
|
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
|
process-compose-flake.url = "github:Platonic-Systems/process-compose-flake";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self, flake-parts, nixpkgs, /* phps, */ sbrow }:
|
outputs = inputs@{ self, flake-parts, nixpkgs, /* phps, */ process-compose-flake, sbrow }:
|
||||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
|
imports = [
|
||||||
|
inputs.process-compose-flake.flakeModule
|
||||||
|
];
|
||||||
systems = [ "x86_64-linux" ];
|
systems = [ "x86_64-linux" ];
|
||||||
|
|
||||||
perSystem = { pkgs, system, ... }:
|
perSystem =
|
||||||
/* let phpPkgs = phps.legacyPackages.${system}; in */ {
|
{ pkgs, system, inputs', ... }:
|
||||||
formatter = pkgs.nixpkgs-fmt;
|
let
|
||||||
|
php = pkgs.php.buildEnv {
|
||||||
|
extensions = ({ enabled, all }: enabled ++ (with all; [
|
||||||
|
xdebug
|
||||||
|
]));
|
||||||
|
extraConfig = ''
|
||||||
|
; xdebug 3
|
||||||
|
xdebug.mode=debug
|
||||||
|
xdebug.client_port=9000
|
||||||
|
|
||||||
devShells.default = pkgs.mkShell
|
; xdebug 2
|
||||||
{
|
xdebug.remote_enable=1
|
||||||
buildInputs = with pkgs; [
|
'';
|
||||||
caddy
|
|
||||||
foreman
|
|
||||||
php
|
|
||||||
phpPackages.composer
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
in
|
||||||
|
{
|
||||||
|
formatter = pkgs.nixpkgs-fmt;
|
||||||
|
|
||||||
|
process-compose.default.settings.processes = {
|
||||||
|
web.command = "sudo ${pkgs.caddy}/bin/caddy run";
|
||||||
|
mail.command = "${pkgs.mailhog}/bin/MailHog";
|
||||||
|
php.command = "${php}/bin/php-fpm -F -y php-fpm.conf";
|
||||||
|
# redis.command = "${$pks.redis}/bin/redis-server";
|
||||||
|
# db.command = "${doltPkg}/bin/dolt sql-server --config dolt.yml";
|
||||||
|
};
|
||||||
|
|
||||||
|
devShells.default = pkgs.mkShell
|
||||||
|
{
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
caddy
|
||||||
|
|
||||||
|
php
|
||||||
|
php.packages.composer
|
||||||
|
php.packages.phpcbf
|
||||||
|
php.packages.phpcs
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ error_log = /dev/stderr
|
|||||||
[site]
|
[site]
|
||||||
;access.log = /proc/self/fd/2
|
;access.log = /proc/self/fd/2
|
||||||
access.log = /dev/stderr
|
access.log = /dev/stderr
|
||||||
listen = 127.0.0.1:9000
|
listen = 127.0.0.1:9009
|
||||||
; Choose how the process manager will control the number of child processes.
|
; Choose how the process manager will control the number of child processes.
|
||||||
pm = dynamic
|
pm = dynamic
|
||||||
pm.max_children = 75
|
pm.max_children = 75
|
||||||
pm.start_servers = 10
|
pm.start_servers = 10
|
||||||
pm.min_spare_servers = 5
|
pm.min_spare_servers = 5
|
||||||
pm.max_spare_servers = 20
|
pm.max_spare_servers = 20
|
||||||
pm.process_idle_timeout = 10s
|
pm.process_idle_timeout = 10s
|
||||||
|
|||||||
Reference in New Issue
Block a user