Statping ng izhodiscni guix fajli
parent
d9d6f41eca
commit
b07a89656d
|
@ -0,0 +1,14 @@
|
|||
#+TITLE: Guix statping-ng
|
||||
|
||||
Kompot-ov paket za postavitev statping-ng preko guix upravljalnika paketov.
|
||||
Statping-ng prikazuje dosegljivost (uptime) spletnih in internethih storitev.
|
||||
|
||||
* Požen
|
||||
|
||||
Na sistemu, ki ima ~guix~ upravljalnik paketov, poženi:
|
||||
|
||||
#+begin_src bash
|
||||
guix shell
|
||||
#+end_src
|
||||
|
||||
Po prvem zagonu izpiše ukaz, s katerim dovolimo nalaganje ~manifest.scm~ fajla iz direktorija tega projekta.
|
|
@ -0,0 +1,5 @@
|
|||
(define-module (guix-statping-ng manifest))
|
||||
(use-modules (gnu packages))
|
||||
|
||||
(specifications->manifest
|
||||
(list "statping-ng-bin-amd64"))
|
|
@ -0,0 +1,118 @@
|
|||
(use-modules (guix packages)
|
||||
(guix download)
|
||||
((guix licenses) #:prefix license:)
|
||||
(guix gexp)
|
||||
(nonguix build-system binary)
|
||||
(gnu packages gcc)
|
||||
(gnu packages admin)
|
||||
(gnu services)
|
||||
(gnu services configuration)
|
||||
(gnu services shepherd)
|
||||
(gnu system shadow))
|
||||
|
||||
(define statping-ng-bin-amd64
|
||||
(package
|
||||
(name "statping-ng-bin-amd64")
|
||||
(version "0.91.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/statping-ng/statping-ng/releases/download/v" version "/statping-linux-amd64.tar.gz"))
|
||||
(file-name "statping-ng")
|
||||
(sha256
|
||||
(base32 "1d4qnwp5cmv7glw31m9g1ackccgx4kdrc445fdfi5ir75grqqx0g"))))
|
||||
(build-system binary-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'chmod-to-allow-patchelf
|
||||
(lambda _
|
||||
(chmod "statping-ng" #o755))))
|
||||
;#:validate-runpath? #f
|
||||
#:install-plan `(("statping-ng" "bin/"))))
|
||||
(inputs `(("gcc:lib" ,gcc "lib")))
|
||||
(home-page "https://statping-ng.github.io/")
|
||||
(synopsis "An updated drop-in for statping.")
|
||||
(description "A Status Page for monitoring your websites and applications with beautiful graphs, analytics, and plugins. Run on any type of environment.")
|
||||
(properties
|
||||
'((release-monitoring-url . "https://github.com/statping-ng/statping-ng/releases")))
|
||||
(license license:gpl3)))
|
||||
|
||||
(define %statping-ng-accounts
|
||||
(list (user-group (name "statping-ng") (system? #t))
|
||||
(user-account
|
||||
(name "statping-ng")
|
||||
(group "statping-ng")
|
||||
(system? #t)
|
||||
(shell (file-append shadow "/sbin/nologin"))
|
||||
(comment "uporabnik za statping-ng uptime tracker"))))
|
||||
|
||||
(define %statping-ng-activation
|
||||
#~(begin
|
||||
(use-modules (guix build tools))
|
||||
(mkdir-p "/srv/statping-ng")
|
||||
(let ((user (getpwnam "statping-ng")))
|
||||
(chown "/srv/statping-ng"
|
||||
(passwd:uid user)
|
||||
(passwd:gid user)))))
|
||||
|
||||
(define (statping-ng-shepherd-service config)
|
||||
"Vrne storitev ki poganja statping-ng"
|
||||
(let* ((statping-ng (statping-ng-configuration config))
|
||||
(statping-ng-bin (file-append statping-ng-bin-amd64 "/bin/statping-ng"))
|
||||
(statping-ng-cfg (statping-ng-configuration->file config)))
|
||||
(list (shepherd-service
|
||||
(documentation "požene statping-ng storitev")
|
||||
(requirement '(networking user-processes))
|
||||
(provision '(statping-ng))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$statping-ng-bin)
|
||||
#:environment-variables
|
||||
(list)))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
(define-configuration/no-serialization statping-ng-configuration
|
||||
(statping-ng-bin-amd64
|
||||
(file-like statping-ng-bin-amd64)
|
||||
"paket statping-ng"))
|
||||
|
||||
(define (statping-ng-configuration->file config)
|
||||
(mixed-text-file "statping-ng.yml" "
|
||||
connection: postgres
|
||||
host: localhost
|
||||
user: statpingng
|
||||
password: d7e9820c6856698908632127
|
||||
database: statpingng
|
||||
port: 5432
|
||||
language: en
|
||||
allow_reports: true
|
||||
location: /srv/statping-ng
|
||||
disable_http: false
|
||||
demo_mode: false
|
||||
disable_logs: false
|
||||
use_assets: false
|
||||
db_open_connections: 25
|
||||
db_idle_connections: 25
|
||||
db_max_life_connections: 300
|
||||
sample_data: false
|
||||
use_cdn: false
|
||||
disable_colors: false
|
||||
"))
|
||||
|
||||
(define statping-ng-bin-amd64-service-type
|
||||
(service-type (name 'statping-ng-bin-amd64)
|
||||
(extensions
|
||||
;; Storitev, ki teče
|
||||
(list (service-extension shepherd-root-service-type
|
||||
statping-ng-shepherd-service)
|
||||
;; Uporabniški računi za storitev
|
||||
(service-extension account-service-type
|
||||
(const %statping-ng-accounts))
|
||||
;; Aktivacija se požene menda enkrat, ko prvič poženeš
|
||||
(service-extension activation-service-type
|
||||
(const %statping-ng-activation))))
|
||||
(default-value (statping-ng-configuration))
|
||||
(description
|
||||
"Poženi statping-ng")))
|
||||
|
||||
statping-ng-bin-amd64
|
Loading…
Reference in New Issue