feat: add Uptime Kuma integration with periodic ping task and configuration options
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
# Setting up Dropbox Integration
|
||||
|
||||
This guide explains how to set up the Dropbox integration for DocuNova.
|
||||
|
||||
## Required Configuration Parameters
|
||||
|
||||
| **Variable** | **Description** |
|
||||
|-------------------------|--------------------------------------------------|
|
||||
| `DROPBOX_APP_KEY` | Dropbox API app key |
|
||||
| `DROPBOX_APP_SECRET` | Dropbox API app secret |
|
||||
| `DROPBOX_REFRESH_TOKEN` | OAuth2 refresh token for Dropbox |
|
||||
| `DROPBOX_FOLDER` | Default folder path for Dropbox uploads |
|
||||
|
||||
For a complete list of configuration options, see the [Configuration Guide](ConfigurationGuide.md).
|
||||
|
||||
## Step-by-Step Setup Instructions
|
||||
|
||||
### 1. Create a Dropbox App
|
||||
|
||||
1. Go to the [Dropbox Developer Apps Console](https://www.dropbox.com/developers/apps)
|
||||
2. Click "Create app"
|
||||
3. Select "Scoped access" for API
|
||||
4. Choose "Full Dropbox" access (or "App folder" for more restricted access)
|
||||
5. Give your app a name (e.g., "DocuNova")
|
||||
6. Click "Create app"
|
||||
|
||||
### 2. Configure App Permissions
|
||||
|
||||
1. In your app's settings page, go to the "Permissions" tab
|
||||
2. Enable the following permissions:
|
||||
- `files.content.write` (to upload files)
|
||||
- `files.content.read` (if you need to read file content)
|
||||
3. Click "Submit" to save changes
|
||||
|
||||
### 3. Get App Key and Secret
|
||||
|
||||
1. On your app's settings page, find the "App key" and "App secret"
|
||||
2. Set these as `DROPBOX_APP_KEY` and `DROPBOX_APP_SECRET` in your configuration
|
||||
|
||||
### 4. Generate a Refresh Token
|
||||
|
||||
1. Go to the "OAuth 2" tab in your app settings
|
||||
2. Add a redirect URI: `http://localhost` (this is for the authorization flow)
|
||||
3. Generate an authorization URL with these instructions:
|
||||
|
||||
```
|
||||
https://www.dropbox.com/oauth2/authorize?client_id=YOUR_APP_KEY&response_type=code&token_access_type=offline
|
||||
```
|
||||
|
||||
4. Replace `YOUR_APP_KEY` with your app key
|
||||
5. Open this URL in your browser
|
||||
6. Authorize the app when prompted
|
||||
7. You'll be redirected to `localhost` with a code parameter in the URL
|
||||
8. Copy this code parameter
|
||||
|
||||
### 5. Exchange the Code for a Refresh Token
|
||||
|
||||
1. Use this curl command to exchange the code for tokens:
|
||||
|
||||
```bash
|
||||
curl -X POST https://api.dropboxapi.com/oauth2/token \
|
||||
-d code=YOUR_AUTH_CODE \
|
||||
-d grant_type=authorization_code \
|
||||
-d client_id=YOUR_APP_KEY \
|
||||
-d client_secret=YOUR_APP_SECRET \
|
||||
-d redirect_uri=http://localhost
|
||||
```
|
||||
|
||||
2. From the response, copy the `refresh_token` value
|
||||
|
||||
### 6. Configure DocuNova
|
||||
|
||||
1. Set `DROPBOX_APP_KEY`, `DROPBOX_APP_SECRET`, and `DROPBOX_REFRESH_TOKEN` with your values
|
||||
2. Set `DROPBOX_FOLDER` to the path where files should be uploaded (e.g., `/Documents/Uploads`)
|
||||
|
||||
The system will use the refresh token to automatically generate short-lived access tokens when needed, so you shouldn't need to worry about token expiration.
|
||||
Reference in New Issue
Block a user