refactor(docs): add information about new providers

This commit is contained in:
Mauricio Siu
2024-09-01 23:20:47 -06:00
parent d9f5d20473
commit 463fcd17e7
4 changed files with 77 additions and 41 deletions

View File

@@ -6,14 +6,30 @@ description: Learn how to use providers in your application.
Dokploy offers several deployment methods, streamlining the process whether you're utilizing GitHub, any Git provider, Docker, or automated deployments. Dokploy offers several deployment methods, streamlining the process whether you're utilizing GitHub, any Git provider, Docker, or automated deployments.
- GitHub - GitHub
- Gitlab
- Bitbucket
- Git (Any Git Provider) - Git (Any Git Provider)
- Docker - Docker
## GitHub ## GitHub
Deploying via GitHub is straightforward: Deploying via GitHub:
1. Configure your GitHub repository in the `/dashboard/settings/server`. 1. Configure your GitHub repository in the `/dashboard/settings/git-providers`.
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
## Gitlab
Deploying via Gitlab:
1. Configure your Gitlab repository in the `/dashboard/settings/git-providers`.
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
## Bitbucket
Deploying via Bitbucket:
1. Configure your Bitbucket repository in the `/dashboard/settings/git-providers`.
2. When creating an application, Dokploy automatically retrieves the available repositories and branches. 2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
## Git ## Git
@@ -27,11 +43,21 @@ For deployments from any Git repository, whether public or private, you can use
For private repositories, authenticate using SSH. We provide a lock icon to generate an SSH key. For private repositories, authenticate using SSH. We provide a lock icon to generate an SSH key.
<ImageZoom src="/assets/dokploy-ssh-key.png" width={800} height={630} className="rounded-lg"/> <ImageZoom
src="/assets/dokploy-ssh-key.png"
width={800}
height={630}
className="rounded-lg"
/>
You can then copy the SSH key and paste it into the settings of your account. You can then copy the SSH key and paste it into the settings of your account.
<ImageZoom src="/assets/private-repository.png" width={800} height={630} className="rounded-lg"/> <ImageZoom
src="/assets/private-repository.png"
width={800}
height={630}
className="rounded-lg"
/>
This enables you to pull repositories from your private repository, a method consistent across nearly all providers. This enables you to pull repositories from your private repository, a method consistent across nearly all providers.

View File

@@ -10,12 +10,20 @@ Key Steps:
1. Add the service to the `dokploy-network`. 1. Add the service to the `dokploy-network`.
2. Use Traefik labels to configure routing. 2. Use Traefik labels to configure routing.
import { Callout } from "fumadocs-ui/components/callout";
<Callout title="Attention" type="info">
Since v0.7.0 Dokploy support domains natively. This means that you can
configure your domain directly in the Dokploy UI, without doing the rest of
the steps.
</Callout>
Example Scenario Example Scenario
Let's consider an application with three components: a frontend, a backend, and a database. We'll start with a basic Docker Compose file and then enhance it with domain configuration. Let's consider an application with three components: a frontend, a backend, and a database. We'll start with a basic Docker Compose file and then enhance it with domain configuration.
```yaml ```yaml
version: '3.8' version: "3.8"
services: services:
frontend: frontend:
@@ -60,7 +68,7 @@ volumes:
First, we'll add the dokploy-network to our services: First, we'll add the dokploy-network to our services:
```yaml ```yaml
version: '3.8' version: "3.8"
services: services:
frontend: frontend:
@@ -90,28 +98,8 @@ Step 2: Configuring Traefik Labels
Now, let's add Traefik labels to route domains to our services. We'll focus on the frontend and backend services: Now, let's add Traefik labels to route domains to our services. We'll focus on the frontend and backend services:
{/* It is necessary to add these labels:
1. `traefik.enable=true`
This label tells Traefik that this service should be routed by Traefik.
2. `traefik.http.routers.<UNIQUE-RULE>.rule=Host('your-domain.dokploy.com')`
This label tells Traefik that the domain to be used is `your-domain.dokploy.com`
3. `traefik.http.routers.<UNIQUE-RULE>.entrypoints=web`
This label tells Traefik that the service should be accessible via the `http` protocol.
4. `traefik.http.services.<UNIQUE-RULE>.loadbalancer.server.port=3000`
This label tells Traefik that the port to be used is `3000`
Note: For loadbalancer.server.port, ensure you assign the port that your service is using. It's important to note that you do not need to expose the port like this:
Nota: en el loadbalancer.server.port asegurate de asignar el puerto que tu servicio esta utilizando, y alcaramos no es necesario que expongas el puerto de esta manera
'3000:3000' esto es incorrecto, unicamente debes de asignar el puerto que tu servicio esta utilizando, en este caso `3000`
asegurate de crear los registros `A` que apunten a tu dominio, esto hazlo desde tu DNS provider. */}
```yaml ```yaml
version: '3.8' version: "3.8"
services: services:
frontend: frontend:
@@ -165,21 +153,18 @@ networks:
Understanding Traefik Labels Understanding Traefik Labels
1. `traefik.enable=true` Enables Traefik routing for the service.
1. `traefik.enable=true` Enables Traefik routing for the service.
2. `traefik.http.routers.<UNIQUE-RULE>.rule=Host('your-domain.dokploy.com')` Specifies the domain for the service 2. `traefik.http.routers.<UNIQUE-RULE>.rule=Host('your-domain.dokploy.com')` Specifies the domain for the service
3. `traefik.http.routers.<UNIQUE-RULE>.entrypoints=web` Sets the service to be accessible via HTTP. 3. `traefik.http.routers.<UNIQUE-RULE>.entrypoints=web` Sets the service to be accessible via HTTP.
4. `traefik.http.services.<UNIQUE-RULE>.loadbalancer.server.port=3000` Specifies the port your service is using internally. 4. `traefik.http.services.<UNIQUE-RULE>.loadbalancer.server.port=3000` Specifies the port your service is using internally.
**Note**: Replace `<UNIQUE-RULE>` with a unique identifier for each service (e.g., frontend-app, backend-app, etc.). **Note**: Replace `<UNIQUE-RULE>` with a unique identifier for each service (e.g., frontend-app, backend-app, etc.).
## Important Considerations ## Important Considerations
1. **Port Exposure**: Use `expose` instead of `ports` to expose ports to the host machine. This ensures that the ports are not exposed to the host machine. 1. **Port Exposure**: Use `expose` instead of `ports` to expose ports to the host machine. This ensures that the ports are not exposed to the host machine.
2. **DNS Configuration**: Ensure you create `A` records pointing to your domain in your DNS Provider Settings. 2. **DNS Configuration**: Ensure you create `A` records pointing to your domain in your DNS Provider Settings.
3. **HTTPS**: For HTTPS, you can use Let's Encrypt or other SSL/TLS certificates. 3. **HTTPS**: For HTTPS, you can use Let's Encrypt or other SSL/TLS certificates.
## Deployment ## Deployment

View File

@@ -6,14 +6,30 @@ description: "Learn how to use Docker Compose with Dokploy"
Dokploy offers several deployment methods, streamlining the process whether you're utilizing GitHub, any Git provider, Raw, or automated deployments. Dokploy offers several deployment methods, streamlining the process whether you're utilizing GitHub, any Git provider, Raw, or automated deployments.
- GitHub - GitHub
- Gitlab
- Bitbucket
- Git (Any Git Provider) - Git (Any Git Provider)
- Raw - Raw
## GitHub ## GitHub
Deploying via GitHub is straightforward: Deploying via GitHub:
1. Configure your GitHub repository in the `/dashboard/settings/server`. 1. Configure your GitHub repository in the `/dashboard/settings/git-providers`.
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
## Gitlab
Deploying via Gitlab:
1. Configure your Gitlab repository in the `/dashboard/settings/git-providers`.
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
## Bitbucket
Deploying via Bitbucket:
1. Configure your Bitbucket repository in the `/dashboard/settings/git-providers`.
2. When creating an application, Dokploy automatically retrieves the available repositories and branches. 2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
## Git ## Git
@@ -27,15 +43,24 @@ For deployments from any Git repository, whether public or private, you can use
For private repositories, authenticate using SSH. We provide a lock icon to generate an SSH key. For private repositories, authenticate using SSH. We provide a lock icon to generate an SSH key.
<ImageZoom src="/assets/dokploy-ssh-compose.png" width={800} height={630} className="rounded-lg"/> <ImageZoom
src="/assets/dokploy-ssh-compose.png"
width={800}
height={630}
className="rounded-lg"
/>
You can then copy the SSH key and paste it into the settings of your account. You can then copy the SSH key and paste it into the settings of your account.
<ImageZoom src="/assets/private-repository.png" width={800} height={630} className="rounded-lg"/> <ImageZoom
src="/assets/private-repository.png"
width={800}
height={630}
className="rounded-lg"
/>
This enables you to pull repositories from your private repository, a method consistent across nearly all providers. This enables you to pull repositories from your private repository, a method consistent across nearly all providers.
## Raw ## Raw
You specify a docker compose file directly in the code editor and trigger a deployment. You specify a docker compose file directly in the code editor and trigger a deployment.

View File

@@ -104,7 +104,7 @@ export const SaveGitlabProviderCompose = ({ composeId }: Props) => {
{ {
owner: repository?.owner, owner: repository?.owner,
repo: repository?.repo, repo: repository?.repo,
id: repository?.id, id: repository?.id || 0,
gitlabId: gitlabId, gitlabId: gitlabId,
}, },
{ {