diff options
| author | Vineet Kumar <git@vineetk.net> | 2026-05-09 10:23:15 -0400 |
|---|---|---|
| committer | Vineet Kumar <git@vineetk.net> | 2026-05-09 10:23:15 -0400 |
| commit | fed5ce67f4e9dab2250aa322096a183bd186762f (patch) | |
| tree | 9064fc4951243a09303349c29d1a43a2d95a0949 | |
| parent | f51db9da12b9f1ce486118b9d7c2129c9223a6ea (diff) | |
saklas vps: temporarily remove non-essential services
for installation. the config needs to be synced with the dedi's config
after installation anyways.
| -rw-r--r-- | epistemia/systems/saklas.scm | 216 |
1 files changed, 1 insertions, 215 deletions
diff --git a/epistemia/systems/saklas.scm b/epistemia/systems/saklas.scm index c6c46dd..f862d39 100644 --- a/epistemia/systems/saklas.scm +++ b/epistemia/systems/saklas.scm | |||
| @@ -393,221 +393,7 @@ server: | |||
| 393 | rpz: | 393 | rpz: |
| 394 | name: \"hagezi.ultimate\" | 394 | name: \"hagezi.ultimate\" |
| 395 | zonefile: \"hagezi.ultimate\" | 395 | zonefile: \"hagezi.ultimate\" |
| 396 | url: https://raw.githubusercontent.com/hagezi/dns-blocklists/main/rpz/ultimate.txt"))) | 396 | url: https://raw.githubusercontent.com/hagezi/dns-blocklists/main/rpz/ultimate.txt")))) |
| 397 | (simple-service 'rtorrent | ||
| 398 | shepherd-root-service-type | ||
| 399 | (list | ||
| 400 | (shepherd-service | ||
| 401 | (provision '(rtorrent)) | ||
| 402 | (requirement '(user-processes loopback syslogd)) | ||
| 403 | (start #~(make-forkexec-constructor | ||
| 404 | (list #$(file-append rtorrent-xmlrpc "/bin/rtorrent") | ||
| 405 | "-n" | ||
| 406 | "-b" "157.180.125.215" | ||
| 407 | "-p" "51413-51413" | ||
| 408 | "-d" "/data/torrents/complete/other" | ||
| 409 | "-s" "/data/torrents/rtorrent" | ||
| 410 | "-o" (string-append "system.umask.set=0002," | ||
| 411 | "dht.mode.set=disable," | ||
| 412 | "protocol.pex.set=no," | ||
| 413 | "network.scgi.open_port=10.0.13.1:5000," | ||
| 414 | "system.daemon.set=true")) | ||
| 415 | #:user "torrents" #:group "torrents")) | ||
| 416 | (stop #~(make-kill-destructor)) | ||
| 417 | (documentation "Run rtorrent in headless mode (only xmlrpc).")))) | ||
| 418 | (service wireguard-service-type | ||
| 419 | (wireguard-configuration | ||
| 420 | (interface "wg1") | ||
| 421 | (addresses '("10.0.13.1/24" "fd00:b0ba:cafe:babe::1/64 ")) | ||
| 422 | (port 51820) | ||
| 423 | (bootstrap-private-key? #f) | ||
| 424 | (private-key "/run/secrets/wg1_saklas") | ||
| 425 | (peers | ||
| 426 | (list | ||
| 427 | (wireguard-peer | ||
| 428 | (name "demiurge.epistemia") | ||
| 429 | (public-key "FMLvbSxY6vA8CRV4S1vl4+pMeCr/kR9n0G5w9buNqh4=") | ||
| 430 | (allowed-ips '("10.0.13.2/32" "fd00:b0ba:cafe:babe::2/128")) | ||
| 431 | (keep-alive 25)) | ||
| 432 | (wireguard-peer | ||
| 433 | (name "hastur.epistemia") | ||
| 434 | (public-key "1ketYziRhoUmpbrj/60O5DYbcPacvmEoFQqa/NntSnc=") | ||
| 435 | (allowed-ips '("10.0.13.3/32" "fd00:b0ba:cafe:babe::3/128")) | ||
| 436 | (keep-alive 25)) | ||
| 437 | (wireguard-peer | ||
| 438 | (name "iphonebob.epistemia") | ||
| 439 | (public-key "Xn0EmeRZdpMejBgzr98mYtb/2f5O58GAzQLNZV/SS30=") | ||
| 440 | (allowed-ips '("10.0.13.4/32" "fd00:b0ba:cafe:babe::4/128")) | ||
| 441 | (keep-alive 25)) | ||
| 442 | (wireguard-peer | ||
| 443 | (name "lab.epistemia") | ||
| 444 | (public-key "iMDEwvXjPAlQH8ZCmP63FM5ICYIFIX5XIyGxjnXoNVE=") | ||
| 445 | (allowed-ips '("10.0.13.5/32" "fd00:b0ba:cafe:babe::5/128")) | ||
| 446 | (keep-alive 25)))))) | ||
| 447 | (service certbot-service-type | ||
| 448 | (certbot-configuration | ||
| 449 | (email "postmaster@vineetk.net") | ||
| 450 | (certificates | ||
| 451 | (list | ||
| 452 | (certificate-configuration | ||
| 453 | (deploy-hook (program-file | ||
| 454 | "import-prosody-certs" | ||
| 455 | #~(begin | ||
| 456 | (let ((prosodyctl (string-append #$prosody "/bin/prosodyctl"))) | ||
| 457 | (system* prosodyctl "--root" "cert" "import" "/etc/certs"))))) | ||
| 458 | (domains '("vineetk.net" | ||
| 459 | "git.vineetk.net" | ||
| 460 | "mail.vineetk.net" | ||
| 461 | "u.vineetk.net" | ||
| 462 | "xmpp.vineetk.net" | ||
| 463 | ))) | ||
| 464 | (certificate-configuration | ||
| 465 | (domains '("13f0.net" | ||
| 466 | "m.13f0.net" | ||
| 467 | ;"snac.13f0.net" | ||
| 468 | ))) | ||
| 469 | (certificate-configuration | ||
| 470 | (domains '("vinbiz.ca"))))))) | ||
| 471 | (service nginx-service-type | ||
| 472 | (nginx-configuration | ||
| 473 | (server-blocks | ||
| 474 | (list (nginx-server-configuration | ||
| 475 | (server-name '("vineetk.net")) | ||
| 476 | (listen '("443 ssl")) | ||
| 477 | (ssl-certificate "/etc/certs/vineetk.net/fullchain.pem") | ||
| 478 | (ssl-certificate-key "/etc/certs/vineetk.net/privkey.pem") | ||
| 479 | (root "/var/www/site_vineetk") | ||
| 480 | (raw-content (list "include " %nginx-badboi ";"))) | ||
| 481 | (nginx-server-configuration | ||
| 482 | (server-name '("13f0.net")) | ||
| 483 | (listen '("443 ssl")) | ||
| 484 | (ssl-certificate "/etc/certs/13f0.net/fullchain.pem") | ||
| 485 | (ssl-certificate-key "/etc/certs/13f0.net/privkey.pem") | ||
| 486 | (root "/var/www/site_13f0") | ||
| 487 | (raw-content (list "include " %nginx-badboi ";"))) | ||
| 488 | (nginx-server-configuration | ||
| 489 | (server-name '("vinbiz.ca")) | ||
| 490 | (listen '("443 ssl")) | ||
| 491 | (ssl-certificate "/etc/certs/vinbiz.ca/fullchain.pem") | ||
| 492 | (ssl-certificate-key "/etc/certs/vinbiz.ca/privkey.pem") | ||
| 493 | (root "/var/www/site_vinbiz") | ||
| 494 | (raw-content (list "include " %nginx-badboi ";"))))))) | ||
| 495 | ;; git folder needs to be readable by nginx/cgit, gets reset to 700 on reconfigure otherwise | ||
| 496 | (simple-service 'git-home-permissions | ||
| 497 | activation-service-type | ||
| 498 | #~(when (file-exists? "/data/src/bare") | ||
| 499 | (chmod "/data/src/bare" #o755))) | ||
| 500 | (service cgit-service-type | ||
| 501 | (cgit-configuration | ||
| 502 | (enable-index-links? #t) | ||
| 503 | (enable-log-filecount? #t) | ||
| 504 | (enable-log-linecount? #t) | ||
| 505 | (enable-git-config? #t) | ||
| 506 | (remove-suffix? #t) | ||
| 507 | (root-desc "") | ||
| 508 | (root-title "Vineet's git repos") | ||
| 509 | (repository-directory "/data/src/bare") | ||
| 510 | (section-from-path 1) | ||
| 511 | (side-by-side-diffs? #t) | ||
| 512 | (nginx | ||
| 513 | (list | ||
| 514 | (nginx-server-configuration | ||
| 515 | (server-name '("git.vineetk.net")) | ||
| 516 | (listen '("443 ssl")) | ||
| 517 | (root cgit) | ||
| 518 | (try-files (list "$uri" "@cgit")) | ||
| 519 | (ssl-certificate "/etc/certs/vineetk.net/fullchain.pem") | ||
| 520 | (ssl-certificate-key "/etc/certs/vineetk.net/privkey.pem") | ||
| 521 | (raw-content (list "include" %nginx-badboi ";")) | ||
| 522 | (locations | ||
| 523 | (list | ||
| 524 | (nginx-location-configuration | ||
| 525 | (uri "@cgit") | ||
| 526 | (body '("fastcgi_param SCRIPT_FILENAME $document_root/lib/cgit/cgit.cgi;" | ||
| 527 | "fastcgi_param PATH_INFO $uri;" | ||
| 528 | "fastcgi_param QUERY_STRING $args;" | ||
| 529 | "fastcgi_param HTTP_HOST $server_name;" | ||
| 530 | "fastcgi_pass 127.0.0.1:9000;")))))))))) | ||
| 531 | (service prosody-service-type | ||
| 532 | (prosody-configuration | ||
| 533 | (admins '("vin@vineetk.net")) | ||
| 534 | (allow-registration? #f) | ||
| 535 | (c2s-require-encryption? #t) | ||
| 536 | (s2s-require-encryption? #t) | ||
| 537 | (s2s-secure-auth? #t) | ||
| 538 | (authentication "internal_hashed") | ||
| 539 | (plugin-paths (list prosody-cloud-notify)) | ||
| 540 | (modules-enabled | ||
| 541 | ;; list from https://github.com/monal-im/Monal/wiki/Considerations-for-XMPP-server-admins#prosody | ||
| 542 | (cons* "sasl_ssdp" | ||
| 543 | ;; TODO update prosody to 13 | ||
| 544 | ;; "sasl2" | ||
| 545 | ;; "sasl2_bind2" | ||
| 546 | ;; "sasl2_sm" | ||
| 547 | ;; "sasl2_fast" | ||
| 548 | "muc_notifications" | ||
| 549 | "smacks" | ||
| 550 | "mam" | ||
| 551 | "csi_simple" | ||
| 552 | "cloud_notify" | ||
| 553 | "bookmarks" | ||
| 554 | %default-modules-enabled)) | ||
| 555 | ;; I don't want my syslog flooded. can't control changes either in service yet | ||
| 556 | (log "/var/lib/prosody/prosody.log") | ||
| 557 | (virtualhosts | ||
| 558 | (list | ||
| 559 | (virtualhost-configuration | ||
| 560 | (domain "vineetk.net")))))) | ||
| 561 | (service opensmtpd-service-type | ||
| 562 | (opensmtpd-configuration | ||
| 563 | (config-file %opensmtpd-config))) | ||
| 564 | (service dovecot-service-type | ||
| 565 | (dovecot-configuration | ||
| 566 | (listen '("*" "::")) | ||
| 567 | (mail-location "maildir:/var/vmail/%d/%n") | ||
| 568 | (mail-uid "vmail") | ||
| 569 | (mail-gid "vmail") | ||
| 570 | (ssl? "required") | ||
| 571 | (ssl-cert "</etc/certs/vineetk.net/fullchain.pem") | ||
| 572 | (ssl-key "</etc/certs/vineetk.net/privkey.pem") | ||
| 573 | (namespaces | ||
| 574 | (list (namespace-configuration | ||
| 575 | (name "inbox") | ||
| 576 | (inbox? #t) | ||
| 577 | (location "") | ||
| 578 | (prefix "") | ||
| 579 | (mailboxes | ||
| 580 | (list (mailbox-configuration | ||
| 581 | (name "Drafts") | ||
| 582 | (special-use '("\\Drafts"))) | ||
| 583 | (mailbox-configuration | ||
| 584 | (name "Junk") | ||
| 585 | (special-use '("\\Junk"))) | ||
| 586 | (mailbox-configuration | ||
| 587 | (name "Sent") | ||
| 588 | (special-use '("\\Sent"))) | ||
| 589 | (mailbox-configuration | ||
| 590 | (name "Trash") | ||
| 591 | (special-use '("\\Trash")))))))) | ||
| 592 | (passdbs | ||
| 593 | (list (passdb-configuration | ||
| 594 | (driver "passwd-file") | ||
| 595 | (args '("scheme=CRYPT" "username_format=%u" "/run/secrets/saklas_smtpd_passwd"))))) | ||
| 596 | (userdbs | ||
| 597 | (list (userdb-configuration | ||
| 598 | (driver "static") | ||
| 599 | (args '("uid=vmail" "gid=vmail" "home=/var/vmail/%d/%n"))))) | ||
| 600 | (protocols | ||
| 601 | (list (protocol-configuration (name "imap")) | ||
| 602 | (protocol-configuration (name "lmtp")))) | ||
| 603 | (services | ||
| 604 | (list (service-configuration | ||
| 605 | (kind "lmtp") | ||
| 606 | (listeners | ||
| 607 | (list (unix-listener-configuration | ||
| 608 | (path "lmtp") | ||
| 609 | (group "vmail") | ||
| 610 | (user "vmail")))))))))) | ||
| 611 | %base-services) | 397 | %base-services) |
| 612 | (guix-service-type config => | 398 | (guix-service-type config => |
| 613 | (guix-configuration | 399 | (guix-configuration |
