wip: working vm

main
teutat3s 2023-06-07 21:58:05 +02:00
parent d683e6795b
commit af3c949181
Signed by: teutat3s
GPG Key ID: 4FA1D3FA524F22C1
3 changed files with 114 additions and 118 deletions

View File

@ -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 {

View File

@ -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
}
}
''

View File

@ -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"