summaryrefslogtreecommitdiff
path: root/src/config.clj
blob: f8f3d7eb9f0da41df52a78b93e2d26a7fb5ad29e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
(ns config
  (:import java.lang.System
           java.net.URL))

;; Configuration

(def *server-user* (System/getProperty "user.name"))

(defn getenv
  ([k] (System/getenv k))
  ([k default]
    (let [v (System/getenv k)]
      (if (and v (not= v "")) v default))))

(defn getenv-int
  ([k default]
    (let [v (getenv k nil)]
      (if v (Integer/parseInt v) default))))

(defn getenv-bool
  ([k default]
    (let [v (getenv k nil)]
      (if (nil? v)
        default
        (contains? #{"1" "true" "yes" "on"} (.toLowerCase v))))))

(def *server-url*
  (getenv "DUMPFM_SERVER_URL"
          (if (= *server-user* "dumpfmprod")
            "/"
            "http://localhost:8080")))

(def *public-host*
  (getenv "DUMPFM_PUBLIC_HOST"
          (try
            (.getHost (URL. *server-url*))
            (catch Exception _ ""))))

(def *public-scheme*
  (getenv "DUMPFM_PUBLIC_SCHEME"
          (try
            (.getProtocol (URL. *server-url*))
            (catch Exception _ "http"))))

(def *cookie-domain*  
  (getenv "DUMPFM_COOKIE_DOMAIN"
          (if (= *server-user* "dumpfmprod")
            ".dump.fm"
            "")))

(def *passwordless-login*
  (getenv-bool "DUMPFM_PASSWORDLESS_LOGIN" false))

(def db-server
  (getenv "DUMPFM_DB_HOST"
          (if (= *server-user* "dumpfmprod")
            "localhost"; "192.168.162.138"
            "localhost")))

(def redis-server
  {:host (getenv "DUMPFM_REDIS_HOST"
                 (if (= *server-user* "dumpfmprod")
                   "127.0.0.1"
                   "127.0.0.1"))
   :port (getenv-int "DUMPFM_REDIS_PORT" 6379)
   :db   (getenv-int "DUMPFM_REDIS_DB" 0)})

(def *root-directory* (System/getProperty "user.dir"))
(def *image-directory* "images")
(def *avatar-directory* "avatars")


;; Settings

(def num-popular-dumps 40)
(def *dumps-per-page* 20)
(def *vip-dumps-per-page* 200)
(def message-count-limit 200)
(def num-hall-dumps 50)
(def max-content-size 2468)