diff --git a/docs/promtail-setup.md b/docs/promtail-setup.md
new file mode 100644
index 0000000000000000000000000000000000000000..d2884f1ac4946991573f6debfc95f8361a50f06e
--- /dev/null
+++ b/docs/promtail-setup.md
@@ -0,0 +1,164 @@
+# Promtail Setups
+
+## Daemonset method
+
+Daemonset will deploy promtail on every node within the kubernetes cluster.
+
+Daemonset deployment is great to collect all of the container logs within the
+cluster. It is great solution for single tenant.  All of the logs will send to a
+single Loki server.
+
+### Example
+```yaml
+---Daemonset.yaml
+apiVersion: extensions/v1beta1
+kind: Daemonset
+metadata:
+  name: promtail-daemonset
+  ...
+spec:
+  ...
+  template:
+    spec:
+      serviceAccount: SERVICE_ACCOUNT
+      serviceAccountName: SERVICE_ACCOUNT
+      volumes:
+      - name: logs
+        hostPath: HOST_PATH
+      - name: promtail-config
+        configMap
+          name: promtail-configmap
+      containers:
+      - name: promtail-container
+         args:
+         - -config.file=/etc/promtail/promtail.yaml
+         volumeMounts:
+         - name: logs
+            mountPath: MOUNT_PATH
+         - name: promtail-config
+            mountPath: /etc/promtail
+  ...
+
+---configmap.yaml
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: promtail-config
+  ...
+data:
+  promtail.yaml: YOUR CONFIG
+
+---Clusterrole.yaml
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+  name: promtail-clusterole
+rules:
+  - apiGroups:
+     resources:
+     - nodes
+     - services
+     - pod
+    verbs:
+    - get
+    - watch
+    - list
+---ServiceAccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: promtail-serviceaccount
+
+---Rolebinding
+apiVersion: rbac.authorization.k9s.io/v1
+kind: ClusterRoleBinding
+metadata:
+  name: promtail-clusterrolebinding
+subjects:
+    - kind: ServiceAccount
+       name: promtail-serviceaccount
+roleRef:
+    kind: ClusterRole
+    name: promtail-clusterrole
+    apiGroup: rbac.authorization.k8s.io
+```
+
+## Sidecar Method
+
+Sidecar method will deploy promtail as a container within a pod that
+developer/devops create.
+
+Sidecar method is good for logging for specific deployment/application. This
+method works well in multi-tenant enviroment.  This method also allow multiply
+Loki servers receive logs from multiply promtail. 
+
+### Example
+```yaml
+---Deployment.yaml
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: my_test_app
+  ...
+spec: 
+  ...
+  template:
+    spec:
+      serviceAccount: SERVICE_ACCOUNT
+      serviceAccountName: SERVICE_ACCOUNT
+      volumes:
+      - name: logs
+        hostPath: HOST_PATH
+      - name: promtail-config
+        configMap
+          name: promtail-configmap
+      containers:
+      - name: promtail-container
+         args:
+         - -config.file=/etc/promtail/promtail.yaml
+         volumeMounts:
+         - name: logs
+            mountPath: MOUNT_PATH
+         - name: promtail-config
+            mountPath: /etc/promtail
+      ...
+  ...
+
+```
+
+### Custom Log Paths
+
+Sometime application create customized log files.  To collect those logs, you
+would need to have a customized `__path__` in your scrap_config.
+
+Right now, the best way to watch and tail custom log path is define log filepath
+as a label for the pod.
+
+#### Example
+```yaml
+---Deployment.yaml
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+    name: test-app-deployment
+    namespace: your_namespace
+    labels:
+      logFileName: my_app_log
+...
+
+---promtail_config.yaml
+...
+scrap_configs:
+   ...
+   - job_name: job_name
+      kubernetes_sd_config:
+      - role: pod
+      relabel_config:
+      ...
+      - action: replace
+        target_label: __path__
+        source_labes:
+        - __meta_kubernetes_pod_label_logFileName
+        replacement: /your_log_file_dir/$1.log
+      ...
+```