summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-08-19 13:58:14 -0700
committerDouwe Maan <douwe@gitlab.com>2015-08-19 13:58:14 -0700
commit34026c97b4d55026c414e839af926af3ffeb31cc (patch)
treec4a6d47f3da07b40713c34729dd41aa4d6d42697
parentf3b57ce677f016fbbbcc6426e33b2b61c34c068f (diff)
downloadgitlab-ce-34026c97b4d55026c414e839af926af3ffeb31cc.tar.gz
Add documentation.
-rw-r--r--config/gitlab.yml.example2
-rw-r--r--config/mail_room.yml.example37
-rw-r--r--doc/README.md1
-rw-r--r--doc/reply_by_email/README.md85
4 files changed, 112 insertions, 13 deletions
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index e78429b29a3..c7b60a1d4b1 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -95,6 +95,8 @@ production: &base
# repository_downloads_path: tmp/repositories
## Reply by email
+ # Allow users to comment on issues and merge requests by replying to notification emails.
+ # For documentation on how to set this up, see http://doc.gitlab.com/ce/reply_by_email/README.md
reply_by_email:
enabled: false
address: "replies+%{reply_key}@gitlab.example.com"
diff --git a/config/mail_room.yml.example b/config/mail_room.yml.example
index a7a6a25362e..28366eb7394 100644
--- a/config/mail_room.yml.example
+++ b/config/mail_room.yml.example
@@ -1,14 +1,25 @@
:mailboxes:
- # -
- # :host: "imap.gmail.com"
- # :port: 993
- # :ssl: true
- # :email: "replies@gitlab.example.com"
- # :password: "password"
- # :name: "inbox"
- # :delivery_method: sidekiq
- # :delivery_options:
- # :redis_url: redis://localhost:6379
- # :namespace: resque:gitlab
- # :queue: incoming_email
- # :worker: EmailReceiverWorker
+ -
+ # # IMAP server host
+ # :host: "imap.gmail.com"
+ # # IMAP server port
+ # :port: 993
+ # # Whether the IMAP server uses SSL
+ # :ssl: true
+ # # Email account username. Usually the full email address.
+ # :email: "replies@gitlab.example.com"
+ # # Email account password
+ # :password: "password"
+ # # The name of the mailbox where incoming mail will end up. Usually "inbox".
+ # :name: "inbox"
+ # # Always "sidekiq".
+ # :delivery_method: sidekiq
+ # :delivery_options:
+ # # The URL to the Redis server used by Sidekiq. Should match the URL in config/resque.yml.
+ # :redis_url: redis://localhost:6379
+ # # Always "resque:gitlab".
+ # :namespace: resque:gitlab
+ # # Always "incoming_email".
+ # :queue: incoming_email
+ # # Always "EmailReceiverWorker"
+ # :worker: EmailReceiverWorker
diff --git a/doc/README.md b/doc/README.md
index 0524fda3ed6..337c4e6a62d 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -29,6 +29,7 @@
- [System hooks](system_hooks/system_hooks.md) Notifications when users, projects and keys are changed.
- [Update](update/README.md) Update guides to upgrade your installation.
- [Welcome message](customization/welcome_message.md) Add a custom welcome message to the sign-in page.
+- [Reply by email](reply_by_email/README.md) Allow users to comment on issues and merge requests by replying to notification emails.
## Contributor documentation
diff --git a/doc/reply_by_email/README.md b/doc/reply_by_email/README.md
new file mode 100644
index 00000000000..fffc120d2bb
--- /dev/null
+++ b/doc/reply_by_email/README.md
@@ -0,0 +1,85 @@
+# Reply by email
+
+GitLab can be set up to allow users to comment on issues and merge requests by replying to notification emails.
+
+In order to do this, you need access to an IMAP-enabled email account, with a provider or server that supports [email sub-addressing](https://en.wikipedia.org/wiki/Email_address#Sub-addressing). Sub-addressing is a feature where any email to `user+some_arbitrary_tag@example.com` will end up in the mailbox for `user@example.com`, and is supported by providers such as Gmail, Yahoo! Mail, Outlook.com and iCloud, as well as the [Postfix](http://www.postfix.org/) mail server which you can run on-premises.
+
+## Set it up
+
+In this example, we'll use the Gmail address `gitlab-replies@gmail.com`. If you're actually using Gmail with Reply by email, make sure you have [IMAP access enabled](https://support.google.com/mail/troubleshooter/1668960?hl=en#ts=1665018) and [allow less secure apps to access the account](https://support.google.com/accounts/answer/6010255).
+
+### Installations from source
+
+
+1. Find the `reply_by_email` section in `config/gitlab.yml`, enable the feature and enter the email address including a placeholder for the `reply_key`:
+
+ ```yaml
+ reply_by_email:
+ enabled: true
+ address: "gitlab-replies+%{reply_key}@gmail.com"
+ ```
+
+ As mentioned, the part after `+` is ignored, and this will end up in the mailbox for `gitlab-replies@gmail.com`.
+
+2. Find `config/mail_room.yml.example` and copy it to `config/mail_room.yml`:
+
+ ```sh
+ cp config/mail_room.yml.example config/mail_room.yml
+ ```
+
+3. Uncomment the configuration options in `config/mail_room.yml` and fill in the details for your specific IMAP server and email account:
+
+ ```yaml
+ :mailboxes:
+ -
+ # IMAP server host
+ :host: "imap.gmail.com"
+ # IMAP server port
+ :port: 993
+ # Whether the IMAP server uses SSL
+ :ssl: true
+ # Email account username. Usually the full email address.
+ :email: "gitlab-replies@gmail.com"
+ # Email account password
+ :password: "[REDACTED]"
+ # The name of the mailbox where incoming mail will end up. Usually "inbox".
+ :name: "inbox"
+ # Always "sidekiq".
+ :delivery_method: sidekiq
+ :delivery_options:
+ # The URL to the Redis server used by Sidekiq. Should match the URL in config/resque.yml.
+ :redis_url: redis://localhost:6379
+ # Always "resque:gitlab".
+ :namespace: resque:gitlab
+ # Always "incoming_email".
+ :queue: incoming_email
+ # Always "EmailReceiverWorker"
+ :worker: EmailReceiverWorker
+ ```
+
+
+4. Find `lib/support/init.d/gitlab.default.example` and copy it to `/etc/default/gitlab`:
+
+ ```sh
+ sudo cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
+ ```
+
+5. Edit `/etc/default/gitlab` to enable `mail_room`:
+
+ ```sh
+ mail_room_enabled=true
+ ```
+
+6. Restart GitLab
+
+ ```sh
+ sudo service gitlab restart
+ ```
+
+8. Reply by email should now be working.
+
+Note: If you're running GitLab in development mode and using `foreman`, make sure to also uncomment the `mail_room` line in your `Procfile`.
+
+### Omnibus package installations
+
+TODO