-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# Conflicts: # package.json # src/flux/stores/thread-counts-store.coffee # src/flux/tasks/task.coffee
- Loading branch information
Showing
632 changed files
with
17,751 additions
and
8,835 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
# Configuration | ||
|
||
This document outlines configuration options which aren't exposed via N1's | ||
preferences interface, but may be useful. | ||
|
||
## Running Against Open Source Sync Engine | ||
|
||
N1 needs to fetch mail from a running instance of the [Nylas Sync | ||
Engine](https://github.com/nylas/sync-engine). The Sync Engine is what | ||
abstracts away IMAP, POP, and SMTP to serve your email on any provider | ||
through a modern, RESTful API. | ||
|
||
By default the N1 source points to our hosted version of the sync-engine; | ||
however, the Sync Engine is open source and you can run it yourself. | ||
|
||
1. Install the Nylas Sync Engine in a Vagrant virtual machine by following the | ||
[installation and setup](https://github.com/nylas/sync-engine#installation-and-setup) | ||
instructions. | ||
|
||
2. Once you've installed the sync engine, add accounts by running the inbox-auth | ||
script. For Gmail accounts, the syntax is simple: `bin/inbox-auth [email protected]` | ||
|
||
3. Start the sync engine by running `bin/inbox-start` and the API via `bin/inbox-api`. | ||
|
||
4. After you've linked accounts to the Sync Engine, open or create a file at | ||
`~/.nylas/config.cson`. This is the config file that N1 reads at launch. | ||
|
||
Replace `env: "production"` with `env: "local"` at the top level of the config. | ||
This tells N1 to look at `localhost:5555` for the sync engine. If you've deployed | ||
the sync engine elsewhere, add the following block beneath `env: "local"`: | ||
|
||
``` | ||
syncEngine: | ||
APIRoot: "http://mysite.com:5555" | ||
``` | ||
|
||
NOTE: If you are using a custom network layout and your sync engine is not on | ||
`localhost:5555`, use `env: custom` instead along with your alternate IP for the | ||
API Root, for example `192.168.1.00:5555` | ||
|
||
``` | ||
env: "custom" | ||
syncEngine: | ||
APIRoot: "http://192.168.1.100:5555" | ||
``` | ||
|
||
Copy the JSON array of accounts returned from the Sync Engine's `/accounts` | ||
endpoint (ex. `http://localhost:5555/accounts`) into the config file at the | ||
path `*.nylas.accounts`. | ||
|
||
N1 will look for access tokens for these accounts under `*.nylas.accountTokens`, | ||
but the open source version of the sync engine does not provide access tokens. | ||
When you make requests to the open source API, you provide an account | ||
ID in the HTTP Basic Auth username field instead of an account token. | ||
|
||
For each account you've created, add an entry to `*.nylas.accountTokens` | ||
with the account ID as both the key and value. | ||
|
||
The final `config.cson` file should look something like this: | ||
|
||
"*": | ||
env: "local" | ||
nylas: | ||
accounts: [ | ||
{ | ||
server_id: "{ACCOUNT_ID_1}" | ||
object: "account" | ||
account_id: "{ACCOUNT_ID_1}" | ||
name: "{YOUR NAME}" | ||
provider: "{PROVIDER_NAME}" | ||
email_address: "{YOUR_EMAIL_ADDRESS}" | ||
organization_unit: "{folder or label}" | ||
id: "{ACCOUNT_ID_1}" | ||
} | ||
{ | ||
server_id: "{ACCOUNT_ID_2}" | ||
object: "account" | ||
account_id: "{ACCOUNT_ID_2}" | ||
name: "{YOUR_NAME}" | ||
provider: "{PROVIDER_NAME}" | ||
email_address: "{YOUR_EMAIL_ADDRESS}" | ||
organization_unit: "{folder or label}" | ||
id: "{ACCOUNT_ID_2}" | ||
} | ||
] | ||
accountTokens: | ||
"{ACCOUNT_ID_1}": "{ACCOUNT_ID_1}" | ||
"{ACCOUNT_ID_2}": "{ACCOUNT_ID_2}" | ||
|
||
Note: `{ACCOUNT_ID_1}` refers to the database ID of the `Account` object | ||
you create when setting up the Sync Engine. The JSON above should match | ||
fairly closely with the Sync Engine `Account` object. | ||
|
||
|
||
## Other Config Options | ||
|
||
- `core.workspace.interfaceZoom`: If you'd like the N1 interface to be smaller or larger, this option allows you to scale the UI globally. (Default: 1) |
Oops, something went wrong.