diff --git a/apps/docs/api.json b/apps/docs/api.json
index 62e798a..9f6f1ac 100644
--- a/apps/docs/api.json
+++ b/apps/docs/api.json
@@ -11887,6 +11887,305 @@
}
}
},
+ "/gitea.create": {
+ "post": {
+ "operationId": "gitea-create",
+ "tags": ["gitea"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "gitProviderId": {
+ "type": "string"
+ },
+ "authId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "token": {
+ "type": "string",
+ "nullable": true
+ },
+ "baseUrl": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": ["authId", "name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitea.one": {
+ "get": {
+ "operationId": "gitea-one",
+ "tags": ["gitea"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "giteaId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitea.giteaProviders": {
+ "get": {
+ "operationId": "gitea-giteaProviders",
+ "tags": ["gitea"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitea.getGiteaRepositories": {
+ "get": {
+ "operationId": "gitea-getGiteaRepositories",
+ "tags": ["gitea"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "giteaId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitea.getGiteaBranches": {
+ "get": {
+ "operationId": "gitea-getGiteaBranches",
+ "tags": ["gitea"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "giteaId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ {
+ "name": "owner",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "repo",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "number"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitea.testConnection": {
+ "post": {
+ "operationId": "gitea-testConnection",
+ "tags": ["gitea"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "giteaId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["giteaId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitea.update": {
+ "post": {
+ "operationId": "gitea-update",
+ "tags": ["gitea"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "giteaId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "token": {
+ "type": "string",
+ "nullable": true
+ },
+ "baseUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitProviderId": {
+ "type": "string"
+ }
+ },
+ "required": ["giteaId", "gitProviderId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
"/github.one": {
"get": {
"operationId": "github-one",
@@ -12682,6 +12981,9 @@
},
{
"name": "gitlab"
+ },
+ {
+ "name": "gitea"
}
],
"externalDocs": {
diff --git a/apps/docs/content/docs/api/generated/reference-application.mdx b/apps/docs/content/docs/api/generated/reference-application.mdx
index 3860b11..4823e2f 100644
--- a/apps/docs/content/docs/api/generated/reference-application.mdx
+++ b/apps/docs/content/docs/api/generated/reference-application.mdx
@@ -36,6 +36,9 @@ _openapi:
- depth: 2
title: Application save Gitlab Provider
url: '#application-save-gitlab-provider'
+ - depth: 2
+ title: Application save Gitea Provider
+ url: '#application-save-gitea-provider'
- depth: 2
title: Application save Bitbucket Provider
url: '#application-save-bitbucket-provider'
@@ -93,6 +96,8 @@ _openapi:
id: application-save-github-provider
- content: Application save Gitlab Provider
id: application-save-gitlab-provider
+ - content: Application save Gitea Provider
+ id: application-save-gitea-provider
- content: Application save Bitbucket Provider
id: application-save-bitbucket-provider
- content: Application save Docker Provider
@@ -118,4 +123,4 @@ _openapi:
contents: []
---
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/generated/reference-gitea.mdx b/apps/docs/content/docs/api/generated/reference-gitea.mdx
new file mode 100644
index 0000000..9e1640b
--- /dev/null
+++ b/apps/docs/content/docs/api/generated/reference-gitea.mdx
@@ -0,0 +1,46 @@
+---
+title: Gitea
+full: true
+_openapi:
+ toc:
+ - depth: 2
+ title: Gitea create
+ url: '#gitea-create'
+ - depth: 2
+ title: Gitea one
+ url: '#gitea-one'
+ - depth: 2
+ title: Gitea Gitea Providers
+ url: '#gitea-gitea-providers'
+ - depth: 2
+ title: Gitea get Gitea Repositories
+ url: '#gitea-get-gitea-repositories'
+ - depth: 2
+ title: Gitea get Gitea Branches
+ url: '#gitea-get-gitea-branches'
+ - depth: 2
+ title: Gitea test Connection
+ url: '#gitea-test-connection'
+ - depth: 2
+ title: Gitea update
+ url: '#gitea-update'
+ structuredData:
+ headings:
+ - content: Gitea create
+ id: gitea-create
+ - content: Gitea one
+ id: gitea-one
+ - content: Gitea Gitea Providers
+ id: gitea-gitea-providers
+ - content: Gitea get Gitea Repositories
+ id: gitea-get-gitea-repositories
+ - content: Gitea get Gitea Branches
+ id: gitea-get-gitea-branches
+ - content: Gitea test Connection
+ id: gitea-test-connection
+ - content: Gitea update
+ id: gitea-update'
+ contents: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/reference-application.mdx b/apps/docs/content/docs/api/reference-application.mdx
index 3860b11..6fb6e9b 100644
--- a/apps/docs/content/docs/api/reference-application.mdx
+++ b/apps/docs/content/docs/api/reference-application.mdx
@@ -36,6 +36,9 @@ _openapi:
- depth: 2
title: Application save Gitlab Provider
url: '#application-save-gitlab-provider'
+ - depth: 2
+ title: Application save Gitea Provider
+ url: '#application-save-gitea-provider'
- depth: 2
title: Application save Bitbucket Provider
url: '#application-save-bitbucket-provider'
@@ -93,6 +96,8 @@ _openapi:
id: application-save-github-provider
- content: Application save Gitlab Provider
id: application-save-gitlab-provider
+ - content: Application save Gitea Provider
+ id: application-save-gitea-provider
- content: Application save Bitbucket Provider
id: application-save-bitbucket-provider
- content: Application save Docker Provider
@@ -118,4 +123,4 @@ _openapi:
contents: []
---
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/reference-gitea.mdx b/apps/docs/content/docs/api/reference-gitea.mdx
new file mode 100644
index 0000000..a2fb833
--- /dev/null
+++ b/apps/docs/content/docs/api/reference-gitea.mdx
@@ -0,0 +1,54 @@
+---
+title: Gitea
+full: true
+_openapi:
+ toc:
+ - depth: 2
+ title: Gitea create
+ url: '#gitea-create'
+ - depth: 2
+ title: Gitea one
+ url: '#gitea-one'
+ - depth: 2
+ title: Gitea gitea Providers
+ url: '#gitea-gitea-providers'
+ - depth: 2
+ title: Gitea get Gitea Repositories
+ url: '#gitea-get-gitea-repositories'
+ - depth: 2
+ title: Gitea get Gitea Branches
+ url: '#gitea-get-gitea-branches'
+ - depth: 2
+ title: Gitea test Connection
+ url: '#gitea-test-connection'
+ - depth: 2
+ title: Gitea update
+ url: '#gitea-update'
+ structuredData:
+ headings:
+ - content: Gitea create
+ id: gitea-create
+ - content: Gitea one
+ id: gitea-one
+ - content: Gitea gitea Providers
+ id: gitea-gitea-providers
+ - content: Gitea get Gitea Repositories
+ id: gitea-get-gitea-repositories
+ - content: Gitea get Gitea Branches
+ id: gitea-get-gitea-branches
+ - content: Gitea test Connection
+ id: gitea-test-connection
+ - content: Gitea update
+ id: gitea-update
+ contents: []
+---
+
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/core/(Git-Sources)/gitea.mdx b/apps/docs/content/docs/core/(Git-Sources)/gitea.mdx
new file mode 100644
index 0000000..0a20be3
--- /dev/null
+++ b/apps/docs/content/docs/core/(Git-Sources)/gitea.mdx
@@ -0,0 +1,77 @@
+---
+title: Gitea
+description: 'Configure Gitea repositories for deployments. This includes setting up access tokens, repository names, and branches.'
+---
+
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+Dokploy offers a way to connect your Gitea Repository to your Dokploy panel, you can use Organizations or personal accounts.
+
+
+Go to `Git` and select `Gitea` as the source, then you can use the following options:
+
+- **Application ID**: Select the application ID that you want to connect to Dokploy.
+- **Personal Secret**: Select the secret that you want to connect to Dokploy.
+- **Organization Name(Optional)**: Select the organization name that you want to connect to Dokploy (Ideal for Gitea Organizations).
+
+Follow the steps to connect your Gitea account to Dokploy:
+
+1. Go to your Gitea instance's settings (e.g., `https://gitea.com/user/settings/applications`) and scroll to the `Create a new OAuth2 Application`.
+2. Set Application Name: e.g., `Dokploy-Gitea-App`. Choose any name you want.
+3. Redirect URI: Copy the `Redirect URI` from Dokploy. e.g., `https://dokploy.com/api/providers/gitea/callback`.
+4. Check Confidential Client
+5. Click on `Create Application`.
+6. Copy the `Client ID` and `Client Secret` from Gitea and paste them in Dokploy's `Gitea` Modal section.
+7. Click on `Configure Gitea App`.
+8. That operation will save the Gitea Provider configuration and redirect you to Gitia to authorize Dokploy to have access.
+9. Click on `Authorize`.
+10. You will be redirected to the `Git` section of Dokploy.
+11. Now you can use the repositories from your Gitea Account in `Applications` or `Docker Compose` services.
+
+
+Dokploy doesn't support Gitea Automatic deployments on each push you make to your repository.
+
+
+
+## Setup Automatic Deployments
+
+You can configure automatic deployments in Dokploy for the Following Services:
+
+1. **Applications**
+2. **Docker Compose**
+
+The steps are the same for both services.
+
+1. Go to either `Applications` or `Docker Compose` and go to `Deployments` Tab.
+2. Copy the `Webhook URL`.
+3. Go to your Gitea Account and select the repository.
+4. In the left menu, select `Settings` and then `Webhooks`.
+5. Click on `Add Webhook`.
+6. Set the `URL` to the one you copied in the previous step.
+7. In the Trigger section, select `Push Events`.
+8. Click on `Add Webhook`.
+9. Click on `Save`.
+10. Now you have automatic deployments enabled for the selected repository.
+
+
+## Clarification on Automatic Deployments
+
+By default, Dokploy will automatically deploy your application on the Branch you have selected.
+
+e.g., Let's suppose you have an `application` in this way:
+
+Repository: `my-app`
+Branch: `feature`
+
+If you try to make a push on another branch e.g., `main`, Dokploy will not automatically deploy your application, because
+your application has selected `feature` as the Branch.
+
+
+In the case you want to have multiple applications in the same repository, e.g., (development, staging, production), you can create 3 `Applications` in Dokploy
+and select the branch in each of them.
+
+This is very useful if you want to have multiple environments for the same application.
+
+
+Normal
\ No newline at end of file
diff --git a/apps/docs/content/docs/core/applications/going-production.mdx b/apps/docs/content/docs/core/applications/going-production.mdx
index d64ade3..2769982 100644
--- a/apps/docs/content/docs/core/applications/going-production.mdx
+++ b/apps/docs/content/docs/core/applications/going-production.mdx
@@ -16,7 +16,7 @@ and all your application will be down for this reasson, this is mainly problem f
You have two options to solve this problem:
1. Increase the resources of your server CPU, RAM, Disk (Probably is not a good idea and cheapest solution)
-2. Build & Publish the application in a CI/CD pipeline eg. Github Actions, Gitlab CI, etc. (Recommended)
+2. Build & Publish the application in a CI/CD pipeline eg. Github Actions, Gitlab CI, Gitea Actions, etc. (Recommended)
### Build & Publish the application in a CI/CD pipeline
diff --git a/apps/docs/content/docs/core/auto-deploy.mdx b/apps/docs/content/docs/core/auto-deploy.mdx
index 6385fcc..3635d66 100644
--- a/apps/docs/content/docs/core/auto-deploy.mdx
+++ b/apps/docs/content/docs/core/auto-deploy.mdx
@@ -52,7 +52,7 @@ Webhooks allow you to automatically deploy your application whenever changes are
#### Important Notes
-- **Branch Matching**: When using Git-based providers (GitHub, GitLab, etc.), ensure that the branch configured in Dokploy matches the branch you intend to push to. Misalignment will result in a "Branch Not Match" error.
+- **Branch Matching**: When using Git-based providers (GitHub, GitLab, Gitea, etc.), ensure that the branch configured in Dokploy matches the branch you intend to push to. Misalignment will result in a "Branch Not Match" error.
- **Docker Tags**: For deployments using DockerHub, ensure the tag pushed matches the one specified in Dokploy.
- The steps are the same for all the providers.
diff --git a/apps/docs/content/docs/core/comparison.mdx b/apps/docs/content/docs/core/comparison.mdx
index b82b6b9..96089ce 100644
--- a/apps/docs/content/docs/core/comparison.mdx
+++ b/apps/docs/content/docs/core/comparison.mdx
@@ -13,8 +13,9 @@ Comparison of the following deployment tools:
| **Multi node support** | ✅ | ✅ | ❌ | ✅ |
| **Traefik Integration** | ✅ | ✅ | Available via Plugins | ✅ |
| **User Permission Management** | ✅ | ❌ | ❌ | ✅ |
-| **Bitbucket Integration** | ✅ | ❌ | ❌ | ❌ |
-| **Gitlab Integration** | ✅ | ❌ | ❌ | ❌ |
+| **Bitbucket Integration** | ✅ | ❌ | ❌ | ✅ |
+| **Gitlab Integration** | ✅ | ❌ | ❌ | ✅ |
+| **Gitea Integration** | ✅ | ❌ | ✅ | ✅ |
| **Advanced User Permission Management** | ✅ | ❌ | ❌ | ❌ |
| **Terminal Access Built In** | ✅ | ❌ | ❌ | ✅ |
| **Database Support** | ✅ | ✅ | ❌ | ✅ |
diff --git a/apps/docs/content/docs/core/providers.mdx b/apps/docs/content/docs/core/providers.mdx
index bfacc77..6b9e25c 100644
--- a/apps/docs/content/docs/core/providers.mdx
+++ b/apps/docs/content/docs/core/providers.mdx
@@ -8,16 +8,18 @@ Dokploy offers several deployment methods, streamlining the process whether you'
1. GitHub
2. Gitlab
3. Bitbucket
-4. Git
-5. Docker (Only Applications)
-6. Drag and Drop .zip (Only Applications)
-7. Raw (Only Docker Compose)
+4. Gitea
+5. Git
+6. Docker (Only Applications)
+7. Drag and Drop .zip (Only Applications)
+8. Raw (Only Docker Compose)
-## GitHub, Gitlab, Bitbucket
+## GitHub, Gitlab, Bitbucket, Gitea
1. [Github](/docs/core/github) Guide.
2. [Gitlab](/docs/core/gitlab) guide.
3. [Bitbucket](/docs/core/bitbucket) guide.
+4. [Gitea](/docs/core/gitea) guide.
## Git
@@ -73,3 +75,4 @@ You can upload a zip file directly from your computer and trigger a deployment.
You specify a docker compose file directly in the code editor and trigger a deployment.
+Normal
\ No newline at end of file
diff --git a/apps/docs/content/docs/core/watch-paths.mdx b/apps/docs/content/docs/core/watch-paths.mdx
index 8ae2019..4be87f9 100644
--- a/apps/docs/content/docs/core/watch-paths.mdx
+++ b/apps/docs/content/docs/core/watch-paths.mdx
@@ -1,34 +1,3 @@
----
-title: Watch Paths
-description: Learn how to use watch paths in your application or docker compose.
----
-
-Watch paths are a feature that allows you to monitor specific directories or files for changes and automatically trigger actions when modifications occur.
-
-## Overview
-
-Watch paths functionality is available for both standalone applications and Docker Compose configurations. This feature helps automate deployments based on file changes in your repository.
-
-## Supported Source Providers
-
-The following source control providers are supported:
-
-- GitHub
-- GitLab
-- Bitbucket
-- Git (works with Bitbucket, Github, and GitLab repositories)
-
-## Basic Usage
-
-Let's say you have a project with the following directory structure:
-
-```
-my-app/
-├── src/
-│ ├── index.js
-├── public/
-```
-
By default, dokploy accepts an array of paths, allowing you to monitor multiple locations. For example:
- To trigger deployments when any file in the `src/` directory changes, use the pattern: `src/*`
@@ -42,8 +11,9 @@ Watch Paths works out of the box with zero configuration when using GitHub as yo
- [Bitbucket Integration](/docs/core/bitbucket)
- [GitLab Integration](/docs/core/gitlab)
- [GitHub Integration](/docs/core/github)
+- [Gitea Integration](/docs/core/gitea)
-Note: When using the Git provider, the functionality will only work with GitHub, GitLab, or Bitbucket repositories.
+Note: When using the Git provider, the functionality will only work with GitHub, GitLab, Bitbucket, or Gitea repositories.
## Pattern Matching Features
@@ -69,3 +39,4 @@ We support a wide range of pattern matching features:
- Regex logical "or":
- `foo/(abc|xyz).js` (matches foo/abc.js or foo/xyz.js)
+Normal
\ No newline at end of file
diff --git a/filestructure.txt b/filestructure.txt
index bfca555..d4c8c5d 100644
--- a/filestructure.txt
+++ b/filestructure.txt
@@ -101,6 +101,7 @@
|-- reference-gitProvider.mdx
|-- reference-github.mdx
|-- reference-gitlab.mdx
+ |-- reference-gitea.mdx
|-- reference-mariadb.mdx
|-- reference-mongo.mdx
|-- reference-mounts.mdx
@@ -135,6 +136,7 @@
|-- reference-gitProvider.mdx
|-- reference-github.mdx
|-- reference-gitlab.mdx
+ |-- reference-gitea.mdx
|-- reference-mariadb.mdx
|-- reference-mongo.mdx
|-- reference-mounts.mdx
@@ -165,6 +167,7 @@
|-- bitbucket.mdx
|-- github.mdx
|-- gitlab.mdx
+ |-- gitea.mdx
|-- (Notifications)
|-- discord.mdx
|-- email.mdx