             [taoensso.timbre :as log])
   (:refer-clojure :exclude [name read]))
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;   Redis   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(def ^:private redis-config
+  {:container-id-file "/tmp/redis-dragon-docker-id"
+   :image-name "redis:4.0.2-alpine"
+   :host "localhost"
+   :port "6379"
+   :host-data-dir "data"
+   :guest-data-dir "/data"})
+
+(def ^:private redis-start
+  {:home (System/getProperty "user.dir")
+   :executable "docker"
+   :command "redis-server"})
+
+(def ^:private redis-start-args
+  [(:executable redis-start)
+   "run"
+   "-d"
+   "-v" (format "%s/%s:%s" (:home redis-start)
+                           (:host-data-dir redis-config)
+                           (:guest-data-dir redis-config))
+   "--cidfile" (:container-id-file redis-config)
+   (:image-name redis-config)
+   (:command redis-start)
+   "--appendonly" "yes"])
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;   Datomic   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
 (def ^:private datomic-config
   {:version "0.9.5561.62"
    :host "localhost"


(def ^:private datomic-start
  {:delay 5000
   :home (str "/opt/datomic/" (:version datomic-config))
   :executable "bin/run"
   :entry-point "datomic.peer-server"


(defn db-config
  [system]
  ((db-type system) (db system)))

(defn db-conn
  [system]
  (:conn (db-config system)))

(defn db-start-config
  [system]
  (:start (db-config system)))

(defn db-version
  [system]
  (:version (db-config system)))

(defn db-start-delay
  [system]
  (get-in (db-config system) [:start :delay]))

(defn db-start-retry
  [system]
  (get-in (db-config system) [:start :retry-delay]))

(defn db-start-retry-timeout
  [system]
  (get-in (db-config system) [:start :retry-timeout]))
