mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
init: oauth docs (#2565)
* init: oauth docs * chore: update directories * update: feedback
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# GitHub OAuth
|
||||
|
||||
By default, Coder is accessible via built-in authentication. Alternatively, you
|
||||
can configure Coder to enable logging in through GitHub OAuth. See below for
|
||||
configuration steps.
|
||||
|
||||
## Step 1: Configure the OAuth application in GitHub
|
||||
|
||||
First, [https://developer.github.com/apps/building-oauth-apps/creating-an-oauth-app/](register a GitHub OAuth app). GitHub will ask you for the following Coder parameters:
|
||||
|
||||
- **Homepage URL**: Set to your Coder domain (e.g. `https://coder.domain.com`)
|
||||
- **User Authorization Callback URL**: Set to `https://coder.domain.com/api/v2/users/oauth2/github/callback`
|
||||
|
||||
Note the Client ID and Client Secret generated by GitHub. You will use these
|
||||
values in the next step.
|
||||
|
||||
## Step 2: Configure Coder with the OAuth credentials
|
||||
|
||||
Navigate to your Coder host and run the following command to start up the Coder
|
||||
server:
|
||||
|
||||
```console
|
||||
coder server --oauth2-github-allow-signups=true --oauth2-github-allowed-orgs="your-org" --oauth2-github-client-id="8d1...e05" --oauth2-github-client-secret="57ebc9...02c24c"
|
||||
```
|
||||
|
||||
Alternatively, if you are running Coder as a system service, you can achieve the
|
||||
same result as the command above by adding the following environment variables
|
||||
to the `/etc/coder.d/coder.env` file:
|
||||
|
||||
```console
|
||||
CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS=true
|
||||
CODER_OAUTH2_GITHUB_ALLOWED_ORGS="your-org"
|
||||
CODER_OAUTH2_GITHUB_CLIENT_ID="8d1...e05"
|
||||
CODER_OAUTH2_GITHUB_CLIENT_SECRET="57ebc9...02c24c"
|
||||
```
|
||||
|
||||
Once complete, run `sudo service coder restart` to reboot Coder.
|
||||
@@ -0,0 +1,95 @@
|
||||
# PostgreSQL
|
||||
|
||||
Coder ships with a built-in PostgreSQL database, but if you'd like to set up and
|
||||
use your own, refer to the following instructions.
|
||||
|
||||
For in-depth information, please see the [PostgreSQL
|
||||
documentation](https://www.postgresql.org/docs/current/tutorial-start.html).
|
||||
|
||||
## Step 1: Install and start PostgreSQL
|
||||
|
||||
### macOS with Homebrew
|
||||
|
||||
1. Install with Homebrew:
|
||||
|
||||
```console
|
||||
brew install postgres
|
||||
```
|
||||
|
||||
1. Start PostgreSQL with brew
|
||||
|
||||
```console
|
||||
brew services start postgresql
|
||||
```
|
||||
|
||||
1. Connect to PostgreSQL:
|
||||
|
||||
```console
|
||||
psql postgres
|
||||
```
|
||||
|
||||
### Debian/Ubuntu
|
||||
|
||||
1. Install PostgreSQL:
|
||||
|
||||
```console
|
||||
sudo apt-get install -y postgresql
|
||||
```
|
||||
|
||||
1. Start PostgreSQL:
|
||||
|
||||
```console
|
||||
sudo systemctl enable postgresql
|
||||
sudo systemctl start postgresql
|
||||
```
|
||||
|
||||
1. Connect to PostgreSQL:
|
||||
|
||||
```console
|
||||
sudo -u postgresql psql
|
||||
```
|
||||
|
||||
## Step 2: Create a database and user for Coder
|
||||
|
||||
1. Create the `coderuser` role:
|
||||
|
||||
```console
|
||||
create role coderuser with login;
|
||||
```
|
||||
|
||||
1. Create a database called `coder` and assign the owner:
|
||||
|
||||
```console
|
||||
create database coder owner coder;
|
||||
```
|
||||
|
||||
1. Set the password for `coderuser`:
|
||||
|
||||
```console
|
||||
\password coder # enter password when prompted
|
||||
```
|
||||
|
||||
1. Assign rights to the database to your user:
|
||||
|
||||
```console
|
||||
grant all privileges on database coder to coderuser;
|
||||
```
|
||||
|
||||
## Using your PostgreSQL database with Coder
|
||||
|
||||
To use your Postgres database with Coder, provide the `CODER_PG_CONNECTION_URL`
|
||||
variable:
|
||||
|
||||
```console
|
||||
postgresql://[user[:password]@][networkLocation][:port][/dbname][?param1=value1&...]
|
||||
```
|
||||
|
||||
Append to `coder server` to start your deployment. For example:
|
||||
|
||||
```console
|
||||
CODER_PG_CONNECTION_URL="postgres://<databaseUsername>@0.0.0.0/<databaseName>?sslmode=disable&password=<password>" \
|
||||
coder server -a 0.0.0.0:3000 --verbose
|
||||
```
|
||||
|
||||
> If you [installed Coder manually](install.md), you can add the
|
||||
> `CODER_PG_CONNECTION_URL` variable to `/etc/coder.d/coder.env`.
|
||||
Reference in New Issue
Block a user