| 1 | module Site |
| 2 | |
| 3 | /// The path to the root ZFS store |
| 4 | root: String = read?("prop:root") ?? read?("env:STUDIO_ROOT") ?? "/srv" |
| 5 | pool: String = read?("prop:pool") ?? read?("env:STUDIO_POOL") ?? "studio-demo" |
| 6 | nodeName: String = read?("prop:nodeName") ?? read?("env:STUDIO_NODE_NAME") ?? "clover-demo" |
| 7 | /// The base domain that the infrastructure runs on |
| 8 | domain: String = read?("prop:domain") ?? read?("env:STUDIO_DOMAIN") ?? "studio.test" |
| 9 | ownerEmail: String = read?("prop:ownerEmail") ?? read?("env:STUDIO_OWNER_EMAIL") ?? "account@paperclover.net" |
| 10 | cloverRoot: String = read?("prop:cloverRoot") ?? read?("env:STUDIO_CLOVER_ROOT") ?? "\(root)/clover" |
| 11 | cloverUid: Int = (read?("prop:cloverUid") ?? read?("env:STUDIO_CLOVER_UID") ?? "3000").toInt() |
| 12 | cloverGid: Int = (read?("prop:cloverGid") ?? read?("env:STUDIO_CLOVER_GID") ?? "3000").toInt() |
| 13 | cloverReadOnly: Boolean = (read?("prop:cloverReadOnly") ?? read?("env:STUDIO_CLOVER_READ_ONLY") ?? "false") == "true" |
| 14 | mediaRoot: String = read?("prop:mediaRoot") ?? read?("env:STUDIO_MEDIA_ROOT") ?? "\(cloverRoot)/Media" |
| 15 | jellyfinFolders: Mapping<String, String> = new { |
| 16 | ["Anime"] = "Anime" |
| 17 | ["Movies"] = "Movies" |
| 18 | ["Shows"] = "Shows" |
| 19 | ["Indie Shows"] = "Indie Shows" |
| 20 | ["Independent"] = "Videos/Independent" |
| 21 | ["Paper Clover"] = "Videos/Paper Clover" |
| 22 | } |
| 23 | mediaReadOnly: Boolean = (read?("prop:mediaReadOnly") ?? read?("env:STUDIO_MEDIA_READ_ONLY") ?? "false") == "true" |
| 24 | tlsInternal: Boolean = (read?("prop:tlsInternal") ?? read?("env:STUDIO_TLS_INTERNAL") ?? "false") == "true" || domain.endsWith(".test") |
| 25 | preview: Boolean = (read?("prop:preview") ?? "false") == "true" |