docs: update deployment and add MCP instructions
Simplifies deployment documentation by moving platform-specific instructions to separate files. Adds new section for MCP (Multi-Cloud Platform) integration with OpenAPI configuration example. Key changes: - Fixes shadcn-vue capitalization in tech stack - Removes "Support for Other Deployment Platforms" from roadmap - Adds documentation for MCP server configuration - Reorganizes deployment instructions into platform-specific guides
This commit is contained in:
parent
d33837a056
commit
5c558fb094
3 changed files with 70 additions and 21 deletions
49
README.md
49
README.md
|
|
@ -74,7 +74,7 @@ Site Token: SinkCool
|
|||
- **Framework**: [Nuxt](https://nuxt.com/)
|
||||
- **Database**: [Cloudflare Workers KV](https://developers.cloudflare.com/kv/)
|
||||
- **Analytics Engine**: [Cloudflare Workers Analytics Engine](https://developers.cloudflare.com/analytics/)
|
||||
- **UI Components**: [Shadcn-vue](https://www.shadcn-vue.com/)
|
||||
- **UI Components**: [shadcn-vue](https://www.shadcn-vue.com/)
|
||||
- **Styling:** [Tailwind CSS](https://tailwindcss.com/)
|
||||
- **Deployment**: [Cloudflare](https://www.cloudflare.com/)
|
||||
|
||||
|
|
@ -94,31 +94,12 @@ We welcome your contributions and PRs.
|
|||
- [ ] Analytics Enhancements (Support for merging filter conditions)
|
||||
- [ ] Dashboard Performance Optimization (Infinite loading)
|
||||
- [ ] Units Test
|
||||
- [ ] Support for Other Deployment Platforms
|
||||
|
||||
## 🏗️ Deployment
|
||||
|
||||
> Video tutorial: [Watch here](https://www.youtube.com/watch?v=MkU23U2VE9E)
|
||||
|
||||
1. [Fork](https://github.com/ccbikai/Sink/fork) the repository to your GitHub account.
|
||||
2. Create a project in [Cloudflare Pages](https://developers.cloudflare.com/pages/).
|
||||
3. Select the `Sink` repository and choose the `Nuxt.js` preset.
|
||||
4. Configure the following environment variables:
|
||||
- `NUXT_SITE_TOKEN`: Must be longer than **8** characters. This token grants access to your dashboard.
|
||||
- `NUXT_CF_ACCOUNT_ID`: Locate your [account ID](https://developers.cloudflare.com/fundamentals/setup/find-account-and-zone-ids/).
|
||||
- `NUXT_CF_API_TOKEN`: Create a [Cloudflare API token](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/) with at least `Account.Account Analytics` permissions. [See reference.](https://developers.cloudflare.com/analytics/analytics-engine/sql-api/#authentication)
|
||||
|
||||
5. Save and deploy the project.
|
||||
6. Cancel the deployment, then navigate to **Settings** -> **Bindings** -> **Add**:
|
||||
- **KV Namespace**: Bind the variable name `KV` to a [KV namespace](https://developers.cloudflare.com/kv/) (create a new one under **Storage & Databases** -> **KV**).
|
||||
- **Workers AI** (_Optional_): Bind the variable name `AI` to the Workers AI Catalog.
|
||||
- **Analytics Engine**:
|
||||
- In **Workers & Pages**, go to **Account details** on the right side, find `Analytics Engine`, and click `Set up` to enable the free version.
|
||||
- Return to **Settings** -> **Bindings** -> **Add** and select **Analytics engine**.
|
||||
- Bind the variable name `ANALYTICS` to the `sink` dataset.
|
||||
|
||||
7. Redeploy the project.
|
||||
8. Update code, refer to the official GitHub documentation [Syncing a fork branch from the web UI](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork#syncing-a-fork-branch-from-the-web-ui).
|
||||
We currently support deployment to [Cloudflare Workers](./docs/deployment/workers.md) (recommended) and [Cloudflare Pages](./docs/deployment/pages.md).
|
||||
|
||||
## ⚒️ Configuration
|
||||
|
||||
|
|
@ -128,6 +109,32 @@ We welcome your contributions and PRs.
|
|||
|
||||
[API Docs](./docs/api.md)
|
||||
|
||||
## 🧰 MCP
|
||||
|
||||
We currently do not support native MCP Server, but we have OpenAPI documentation, and you can use the following method to support MCP.
|
||||
|
||||
> Replace the domain name in `OPENAPI_SPEC_URL` with your own domain name.
|
||||
>
|
||||
> The `API_KEY` is the same as the `NUXT_SITE_TOKEN` in the environment variables.
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"sink": {
|
||||
"command": "uvx",
|
||||
"args": [
|
||||
"mcp-openapi-proxy"
|
||||
],
|
||||
"env": {
|
||||
"OPENAPI_SPEC_URL": "https://sink.cool/_docs/openapi.json",
|
||||
"API_KEY": "SinkCool",
|
||||
"TOOL_WHITELIST": "/api/link/create"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 🙋🏻 FAQs
|
||||
|
||||
[FAQs](./docs/faqs.md)
|
||||
|
|
|
|||
23
docs/deployment/pages.md
Normal file
23
docs/deployment/pages.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# Deployment on Cloudflare Pages
|
||||
|
||||
1. [Fork](https://github.com/ccbikai/Sink/fork) the repository to your GitHub account.
|
||||
2. Create a project in [Cloudflare Pages](https://developers.cloudflare.com/pages/).
|
||||
3. Select the `Sink` repository and choose the `Nuxt.js` preset.
|
||||
4. Configure the following environment variables:
|
||||
- `NUXT_SITE_TOKEN`: Must be at least **8** characters long. This token grants access to your dashboard.
|
||||
- `NUXT_CF_ACCOUNT_ID`: Find your [account ID](https://developers.cloudflare.com/fundamentals/setup/find-account-and-zone-ids/).
|
||||
- `NUXT_CF_API_TOKEN`: Create a [Cloudflare API token](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/) with at least `Account.Account Analytics` permission. [See reference.](https://developers.cloudflare.com/analytics/analytics-engine/sql-api/#authentication)
|
||||
|
||||
5. Save and deploy the project.
|
||||
6. Cancel the deployment, then go to **Settings** -> **Bindings** -> **Add**:
|
||||
- **KV Namespace**: Bind the variable name `KV` to a [KV namespace](https://developers.cloudflare.com/kv/) (create a new one under **Storage & Databases** -> **KV**).
|
||||
- **Workers AI** (_Optional_): Bind the variable name `AI` to the Workers AI Catalog.
|
||||
- **Analytics Engine**:
|
||||
- In **Workers & Pages**, go to **Account details** in the right panel, locate `Analytics Engine`, and click `Set up` to enable the free tier.
|
||||
- Return to **Settings** -> **Bindings** -> **Add** and select **Analytics engine**.
|
||||
- Bind the variable name `ANALYTICS` to the `sink` dataset.
|
||||
|
||||
7. Add Compatibility flags
|
||||
- Go to **Settings** -> **Runtime** -> **Compatibility flags** and set the following flags `nodejs_compat`.
|
||||
8. Redeploy the project.
|
||||
9. To update code, refer to the official GitHub documentation [Syncing a fork branch from the web UI](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork#syncing-a-fork-branch-from-the-web-ui).
|
||||
19
docs/deployment/workers.md
Normal file
19
docs/deployment/workers.md
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# Deployment on Cloudflare Workers
|
||||
|
||||
1. [Fork](https://github.com/ccbikai/Sink/fork) the repository to your GitHub account.
|
||||
2. Create a [KV namespace](https://developers.cloudflare.com/kv/) (under **Storage & Databases** -> **KV**), and copy the namespace ID.
|
||||
3. Update the `kv_namespaces` ID in `wrangler.jsonc` with your own namespace ID.
|
||||
4. Create a project in [Cloudflare Workers](https://developers.cloudflare.com/workers/).
|
||||
5. Select the `Sink` repository and use the following build and deploy commands:
|
||||
- **Build command**: `pnpm run build` or `npm run build`
|
||||
- **Deploy command**: `npx wrangler deploy`
|
||||
|
||||
6. Save and deploy the project.
|
||||
7. After deployment, go to **Settings** -> **Variables and Secrets** -> **Add**, and configure the following environment variables:
|
||||
- `NUXT_SITE_TOKEN`: Must be at least **8** characters long. This token grants access to your dashboard.
|
||||
- `NUXT_CF_ACCOUNT_ID`: Find your [account ID](https://developers.cloudflare.com/fundamentals/setup/find-account-and-zone-ids/).
|
||||
- `NUXT_CF_API_TOKEN`: Create a [Cloudflare API token](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/) with at least `Account.Account Analytics` permission. [See reference.](https://developers.cloudflare.com/analytics/analytics-engine/sql-api/#authentication)
|
||||
|
||||
8. Enable Analytics Engine. In **Workers & Pages**, go to **Account details** in the right panel, locate **Analytics Engine**, and click **Set up** to enable the free tier.
|
||||
9. Redeploy the project.
|
||||
10. To update your code, refer to the official GitHub documentation: [Syncing a fork branch from the web UI](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork-branch-from-the-web-ui).
|
||||
Loading…
Reference in a new issue