2023-07-15 14:32:18 +00:00
|
|
|
# ERPNext on NixOS
|
2023-06-12 13:28:17 +00:00
|
|
|
|
|
|
|
### Cachix
|
|
|
|
Using the https://pub-solar.cachix.org binary cache:
|
|
|
|
```
|
|
|
|
cachix use pub-solar
|
|
|
|
```
|
|
|
|
Or manually add the following lines to your `~/.config/nix/nix.conf`:
|
|
|
|
```
|
|
|
|
substituters = https://cache.nixos.org/ https://pub-solar.cachix.org
|
|
|
|
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= pub-solar.cachix.org-1:ZicXIxKgdxMtgSJECWR8iihZxHRvu8ObL4n2cuBmtos=
|
|
|
|
```
|
|
|
|
|
|
|
|
Pushing to the https://pub-solar.cachix.org binary cache (in this example, we push the
|
|
|
|
package `run-erpnext` and its dependencies):
|
|
|
|
```
|
|
|
|
nix develop
|
|
|
|
nix build --json .#run-erpnext \
|
|
|
|
| jq -r '.[].outputs | to_entries[].value' \
|
|
|
|
| cachix push pub-solar
|
|
|
|
```
|
|
|
|
|
|
|
|
### NixOS VM
|
|
|
|
```
|
2023-07-15 14:32:18 +00:00
|
|
|
# Build the test VM
|
2023-06-12 13:28:17 +00:00
|
|
|
nix build '.#nixosConfigurations.test-vm.config.system.build.vm'
|
2023-07-15 14:32:18 +00:00
|
|
|
# Start the VM, to generate SSH host key files required for secrets
|
2023-06-12 13:28:17 +00:00
|
|
|
./result/bin/run-nixos-vm
|
|
|
|
|
2023-07-15 14:32:18 +00:00
|
|
|
# Get the ed25519 SSH hostkey
|
|
|
|
ssh-keyscan -p 2222 127.0.0.1
|
|
|
|
|
|
|
|
# Edit secrets.nix and add the SSH hostkey to machine 'test-vm'
|
|
|
|
vim secrets/secrets.nix
|
|
|
|
|
|
|
|
# Rekey the secrets with agenix
|
|
|
|
cd secrets
|
|
|
|
agenix --rekey
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
# Stop with CTRL-c & build the test VM again
|
|
|
|
nix build '.#nixosConfigurations.test-vm.config.system.build.vm'
|
|
|
|
# Start the VM
|
|
|
|
./result/bin/run-nixos-vm
|
|
|
|
|
|
|
|
# Access the VM via SSH, use an empty password (Enter) to login
|
|
|
|
ssh root@localhost -p 2222
|
|
|
|
|
2023-06-12 13:28:17 +00:00
|
|
|
# Watch erpnext startup:
|
2023-07-15 14:32:18 +00:00
|
|
|
# The initial startup can take a few minutes
|
|
|
|
journalctl -fu erpnext-web.service
|
|
|
|
|
2023-06-12 13:28:17 +00:00
|
|
|
# Open http://localhost:8081 in your browser
|
|
|
|
# User: Administrator
|
|
|
|
# Password: admin
|
2023-07-15 14:32:18 +00:00
|
|
|
|
|
|
|
# To reset all data for the VM
|
|
|
|
rm nixos.qcow2
|
2023-06-12 13:28:17 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
### Docker
|
2023-05-30 18:06:34 +00:00
|
|
|
```
|
|
|
|
docker run -d --name erpnext-redis-socketio -p 12311:6379 redis:latest
|
|
|
|
docker run -d --name erpnext-redis-queue -p 6379:6379 redis:latest
|
|
|
|
docker run -d --name erpnext-db -p 3306:3306 -e MARIADB_ROOT_PASSWORD=password -e MARIADB_DATABASE=erpnext -e MARIADB_USER=erpnext -e MARIADB_PASSWORD=erpnext mariadb:latest --collation-server=utf8mb4_unicode_ci
|
|
|
|
|
2023-06-12 13:28:17 +00:00
|
|
|
nix build .#run-erpnext
|
|
|
|
./result/bin/run-erpnext
|
2023-05-30 18:06:34 +00:00
|
|
|
|
|
|
|
# new terminal
|
|
|
|
nix shell nixpkgs#nginx
|
|
|
|
nginx -c /tmp/erpnext/nginx-erpnext.conf -g "daemon off;"
|
|
|
|
# http://localhost:8081
|
|
|
|
# User: Administrator
|
|
|
|
# Password: admin
|
|
|
|
```
|
2023-06-12 13:28:17 +00:00
|
|
|
|
|
|
|
### Links:
|
|
|
|
- https://erpnext.com
|
|
|
|
- https://docs.erpnext.com/docs/v14/user/manual/en/setting-up
|
|
|
|
- https://discuss.frappe.io/t/installing-the-docker-image-on-a-local-machine-without-letsencrypt-so-we-can-access-it-with-http-localhost/87585/7
|
|
|
|
- https://github.com/frappe/frappe_docker/blob/main/images/production/Containerfile
|
|
|
|
- https://github.com/frappe/bench
|
|
|
|
- https://github.com/frappe/erpnext
|
|
|
|
- https://github.com/frappe/frappe
|