This repository has been archived on 2025-11-01. You can view files and clone it, but cannot push or open issues or pull requests.
excellon-config/config.scm

227 lines
8.2 KiB
Scheme
Raw Normal View History

2024-12-02 18:52:31 -06:00
;; Indicate which modules to import to access the variables
;; used in this configuration.
(use-modules (gnu))
(use-package-modules databases)
(use-service-modules cups desktop networking ssh xorg docker dbus databases)
2024-12-02 18:52:31 -06:00
(operating-system
(locale "en_US.utf8")
(timezone "America/Chicago")
(keyboard-layout (keyboard-layout "us"))
(host-name "excellon")
;; The list of user accounts ('root' is implicit).
(users
(cons* (user-account
(name "bartronx7")
(comment "bartronx7")
(group "users")
(home-directory "/home/bartronx7")
(supplementary-groups '("wheel" "netdev" "audio" "video" "docker")))
2024-12-02 18:52:31 -06:00
%base-user-accounts))
;; Below is the list of system services. To search for available
;; services, run 'guix system search KEYWORD' in a terminal.
(services
(append (list
;; To configure OpenSSH, pass an 'openssh-configuration'
;; record as a second argument to 'service' below.
(service openssh-service-type)
(service dhcp-client-service-type)
(service ntp-service-type)
(service elogind-service-type
(elogind-configuration (handle-suspend-key 'ignore)))
(service dbus-root-service-type)
(service containerd-service-type)
(service docker-service-type (docker-configuration
(environment-variables (list
"TMPDIR=/tmp/dockerd"))))
;; (service postgresql-service-type
;; (postgresql-configuration
;; (postgresql postgresql-16)
;; (data-directory "/data/postgres")))
2025-01-05 14:26:59 -06:00
;; (service oci-container-service-type (list
;; (oci-container-configuration
;; (image "traefik:v3.2")
;; (provision "traefik")
;; (network "sandbox")
;; (command '(
;; "--log.level=DEBUG"
;; "--api.insecure=true"))
;; (ports '(
;; ("8080" . "8080")
;; ("443" . "443")
;; ("80" . "80")))
;; (environment (list
;; '("NAMECHEAP_API_USER" . "bakeley")
;; '("NAMECHEAP_API_KEY" . "af43a35060854eb98fd0c0837113a384")))
;; (volumes (list
;; '("/data/docker/volumes/traefik/traefik.yml" . "/etc/traefik/traefik.yml")
;; '("/data/docker/volumes/letsencrypt" . "/letsencrypt:rw")
;; '("/var/run/docker.sock" . "/var/run/docker.sock:ro"))))))
(service oci-container-service-type (list
(oci-container-configuration
(image "miniflux/miniflux:latest")
(provision "miniflux")
(network "sandbox")
2024-12-29 10:11:27 -06:00
(requirement '(miniflux-db))
(ports '(
("8081" . "8080")))
(environment (list
2024-12-29 10:11:27 -06:00
'("DATABASE_URL" . "postgres://miniflux:99uskas0_l@miniflux-db/miniflux?sslmode=disable")
'("RUN_MIGRATIONS" . "1")
'("CREATE_ADMIN" . "1")
'("ADMIN_USERNAME" . "admin")
'("ADMIN_PASSWORD" . "982#@2gGGHjf"))))))
2024-12-29 10:11:27 -06:00
(service oci-container-service-type (list
(oci-container-configuration
(image "postgres:17-alpine")
2024-12-29 10:11:27 -06:00
(provision "miniflux-db")
(network "sandbox")
(ports '(
("5432" . "5432")))
(environment (list
'("POSTGRES_USER" . "miniflux")
'("POSTGRES_PASSWORD" . "99uskas0_l")
'("POSTGRES_DB" . "miniflux")))
(volumes (list
2024-12-29 10:11:27 -06:00
'("/data/docker/volumes/miniflux_db" . "/var/lib/postgresql/data"))))))
(service oci-container-service-type (list
(oci-container-configuration
(image "codeberg.org/forgejo/forgejo:9")
(provision "forgejo")
(network "sandbox")
(ports '(
("3000" . "3000")
("2222" . "22")))
(environment (list
'("USER_UID" . "1000")
'("USER_GID" . "1000")))
(volumes (list
'("/data/docker/volumes/forgejo" . "/data")
'("/etc/timezone" . "/etc/timezone:ro")
'("/etc/localtime" . "/etc/localtime:ro"))))))
2024-12-29 10:11:27 -06:00
(service oci-container-service-type (list
(oci-container-configuration
(image "packetriot/pktriot:latest")
(provision "pktriot")
(network "sandbox")
(volumes (list
'("/data/docker/volumes/pktriot" . "/data:rw"))))))
2024-12-29 10:11:27 -06:00
(service oci-container-service-type (list
(oci-container-configuration
(image "plexinc/pms-docker")
(provision "plex")
(network "sandbox")
(ports '(
("32400" . "32400")
("8324" . "8324")
("32469" . "32469")
("1900" . "1900")
("32410" . "32410")
("32412" . "32412")
("32413" . "32413")
("32414" . "32414")))
(environment (list
'("TZ" . "America/Chicago")
'("PLEX_CLAIM:" . "claim-7-N1LVT5AMco6ayhy4Tm")
'("ADVERTISE_IP:" . "http://192.168.1.3:32400/")))
(volumes (list
'("/data/docker/volumes/plex/config" . "/config")
'("/data/docker/volumes/plex/transcode" . "/transcode")
'("/data" . "/data:rw"))))))
2024-12-29 10:11:27 -06:00
(service oci-container-service-type (list
(oci-container-configuration
(image "postgres:15")
(provision "ente-db")
(network "ente")
(respawn? #t)
(ports '(
("5433" . "5432")))
(environment (list
'("POSTGRES_USER" . "ente")
'("POSTGRES_PASSWORD" . "00u5kas()_1")
'("POSTGRES_DB" . "ente_db")))
(volumes (list
'("/data/docker/volumes/ente/db" . "/var/lib/postgresql/data"))))))
(service oci-container-service-type (list
(oci-container-configuration
(image "ghcr.io/ente-io/server")
2024-12-29 10:11:27 -06:00
(provision "ente-photos")
2025-01-05 14:26:59 -06:00
(requirement '(ente-db minio))
2024-12-29 10:11:27 -06:00
(network "ente")
(ports '(
("8090" . "8080")
("2112" . "2112")))
(environment (list
'("ENTE_CREDENTIALS_FILE" . "/credentials.yaml")))
(volumes (list
'("/data/docker/volumes/ente/logs" . "/var/logs")
'("/data/docker/volumes/ente/museum.yaml" . "/museum.yaml:ro")
'("/data/docker/volumes/ente/credentials.yaml" . "/credentials.yaml:ro")
2024-12-29 10:11:27 -06:00
'("/data/docker/volumes/ente/data" . "/data:ro"))))))
(service oci-container-service-type (list
(oci-container-configuration
(image "minio/minio")
(provision "minio")
2024-12-29 10:11:27 -06:00
(network "ente")
(command '("server" "--address" ":3200" "--console-address" ":3201" "/data"))
(ports '(
("3200" . "3200")
("3201" . "3201")))
(environment (list
2024-12-29 10:11:27 -06:00
'("MINIO_USER" . "test")
'("MINIO_ROOT_USER" . "myminioadmin")
'("MINIO_ROOT_PASSWORD" . "u8^ll01.Qs")
'("MINIO_CONFIG_ENV_FILE" . "/etc/config.env")))
(volumes (list
2024-12-29 10:11:27 -06:00
'("/data/docker/volumes/minio/data" . "/data")
'("/data/docker/volumes/minio/env" . "/etc/config.env")))))))
2024-12-02 18:52:31 -06:00
%base-services))
2024-12-02 18:52:31 -06:00
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(targets (list "/dev/sda"))
(keyboard-layout keyboard-layout)))
;; The devices that make up the luks "docs" labelled filesystem
(mapped-devices
(list (mapped-device
(source (uuid "cf6bafca-b225-46ca-8dfc-b82fb6ab5560"))
(target "doc1")
(type luks-device-mapping))
(mapped-device
(source (uuid "05f833fb-1c68-4453-9df5-68a454f59845"))
(target "doc2")
(type luks-device-mapping))))
;; The list of file systems that get "mounted". The unique
;; file system identifiers there ("UUIDs") can be obtained
;; by running 'blkid' in a terminal.
(file-systems
(cons* (file-system
(mount-point "/")
(device (file-system-label "guixos"))
(type "btrfs"))
(file-system
(mount-point "/data")
(device (file-system-label "datapool"))
(type "btrfs"))
(file-system
(mount-point "/docs")
(device "/dev/mapper/doc1")
(type "btrfs"))
%base-file-systems)))