forked from axeman/erpnext-nix
wip: working vm
This commit is contained in:
parent
d683e6795b
commit
af3c949181
|
@ -30,9 +30,9 @@
|
|||
inherit pkgs;
|
||||
run-erpnext = pkgs.run-erpnext;
|
||||
pip2nix = import "${pip2nix}/default.nix" { inherit pkgs; pythonPackages = "python310Packages"; };
|
||||
erpnext = pkgs.python3.pkgs.erpnext;
|
||||
bench = pkgs.python3.pkgs.bench;
|
||||
pythonPkgs = pkgs.python3.pkgs;
|
||||
erpnext = pkgs.python3-erpnext.pkgs.erpnext;
|
||||
bench = pkgs.python3-erpnext.pkgs.bench;
|
||||
pythonPkgs = pkgs.python3-erpnext.pkgs;
|
||||
});
|
||||
nixosConfigurations = {
|
||||
test-vm = nixpkgs.lib.nixosSystem {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# From https://github.com/frappe/frappe_docker/blob/main/resources/nginx-template.conf
|
||||
{ writeText
|
||||
, nginx
|
||||
, frappe-erpnext-assets
|
||||
}:
|
||||
let
|
||||
backend = "127.0.0.1:9090";
|
||||
|
@ -13,29 +14,24 @@ let
|
|||
proxy_read_timeout = "120";
|
||||
in
|
||||
writeText "erpnext.conf" ''
|
||||
events {
|
||||
worker_connections 1024;
|
||||
upstream backend-server {
|
||||
server ${backend} fail_timeout=0;
|
||||
}
|
||||
|
||||
http {
|
||||
upstream backend-server {
|
||||
server ${backend} fail_timeout=0;
|
||||
}
|
||||
|
||||
upstream socketio-server {
|
||||
upstream socketio-server {
|
||||
server ${socketio} fail_timeout=0;
|
||||
}
|
||||
}
|
||||
|
||||
# Parse the X-Forwarded-Proto header - if set - defaulting to $scheme.
|
||||
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
|
||||
# Parse the X-Forwarded-Proto header - if set - defaulting to $scheme.
|
||||
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
|
||||
default $scheme;
|
||||
https https;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
server {
|
||||
listen 8081;
|
||||
server_name ${frappe_site_name_header};
|
||||
root /tmp/erpnext/sites;
|
||||
root ${frappe-erpnext-assets}/share/sites;
|
||||
|
||||
proxy_buffer_size 128k;
|
||||
proxy_buffers 4 256k;
|
||||
|
@ -132,6 +128,5 @@ http {
|
|||
text/plain
|
||||
text/x-component;
|
||||
# text/html is always compressed by HttpGzipModule
|
||||
}
|
||||
}
|
||||
''
|
||||
|
|
|
@ -110,10 +110,9 @@
|
|||
wantedBy = [ "erpnext.service" ];
|
||||
partOf = [ "erpnext.service" ];
|
||||
script = ''
|
||||
cd /var/lib/erpnext
|
||||
mkdir bench
|
||||
cd bench
|
||||
mkdir -p apps sites config/pids logs
|
||||
for subdir in apps sites config/pids logs; do
|
||||
mkdir -p /var/lib/erpnext/bench/$subdir
|
||||
done
|
||||
'';
|
||||
serviceConfig = {
|
||||
RemainAfterExit = true;
|
||||
|
@ -124,7 +123,7 @@
|
|||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
config = builtins.readFile "${pkgs.erpnext-nginx-conf}";
|
||||
appendHttpConfig = builtins.readFile "${pkgs.erpnext-nginx-conf}";
|
||||
};
|
||||
|
||||
systemd.services.erpnext =
|
||||
|
@ -173,7 +172,7 @@
|
|||
# Upstream initializes the DB with this command
|
||||
# TODO: Make this idempotent
|
||||
cd /var/lib/erpnext/bench/sites
|
||||
bench new-site localhost --mariadb-root-password password --admin-password admin
|
||||
bench new-site localhost --mariadb-root-password password --admin-password admin || true
|
||||
bench --site localhost install-app erpnext
|
||||
|
||||
# TODO: Run these as systemd units
|
||||
|
@ -186,7 +185,9 @@
|
|||
Type = "simple";
|
||||
BindReadOnlyPaths = [
|
||||
"/etc/hosts:/etc/hosts"
|
||||
"${pkgs.frappe-app}:${pkgs.frappe-app}"
|
||||
"${pkgs.frappe-app}/share/apps/frappe:/var/lib/erpnext/bench/apps/frappe"
|
||||
"${pkgs.erpnext-app}:${pkgs.erpnext-app}"
|
||||
"${pkgs.erpnext-app}/share/apps/erpnext:/var/lib/erpnext/bench/apps/erpnext"
|
||||
"${pkgs.frappe-erpnext-assets}/share/sites/assets:/var/lib/erpnext/bench/sites/assets"
|
||||
"${appsFile}:/var/lib/erpnext/bench/sites/apps.txt"
|
||||
|
|
Loading…
Reference in a new issue