-
-
Notifications
You must be signed in to change notification settings - Fork 400
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #475 from Dokploy/canary
v0.9.0
- Loading branch information
Showing
209 changed files
with
11,502 additions
and
3,393 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,23 @@ | ||
--- | ||
title: 'Comparison' | ||
description: 'A comparison of Dokploy, CapRover, Dokku, and Coolify' | ||
title: "Comparison" | ||
description: "A comparison of Dokploy, CapRover, Dokku, and Coolify" | ||
--- | ||
|
||
Comparison of the following deployment tools: | ||
|
||
| Feature | Dokploy | CapRover | Dokku | Coolify | | ||
|-----------------------------------|---------------------------------------|--------------------------------------|--------------------------------------|--------------------------------------| | ||
| **User Interface** | ✅ | ✅ | ❌ | ✅ | | ||
| **Docker compose support** | ✅ | ❌ | ❌ | ✅ | | ||
| **API/CLI** | ✅ | ✅ | ✅ | ✅ | | ||
| **Multi node support** | ✅ | ✅ | ❌ | ✅ | | ||
| **Traefik Integration** | ✅ | ✅ | Available via Plugins | ✅ | | ||
| **User Permission Management** | ✅ | ❌ | ❌ | ✅ | | ||
| **Advanced User Permission Management** | ✅ | ❌ | ❌ | ❌ | | ||
| **Terminal Access Built In** | ✅ | ❌ | ❌ | ✅ | | ||
| **Database Support** | ✅ | ✅ | ❌ | ✅ | | ||
| **Monitoring** | ✅ | ✅ | ❌ | ❌ | | ||
| **Backups** | ✅ | Available via Plugins | Available via Plugins | ✅ | | ||
| **Open Source** | ✅ | ✅ | ✅ | ✅ | | ||
| **Cloud/Paid Version** | ❌ | ✅ | ❌ | ✅ | | ||
| Feature | Dokploy | CapRover | Dokku | Coolify | | ||
| --------------------------------------- | ------- | --------------------- | --------------------- | ------- | | ||
| **User Interface** | ✅ | ✅ | ❌ | ✅ | | ||
| **Docker compose support** | ✅ | ❌ | ❌ | ✅ | | ||
| **API/CLI** | ✅ | ✅ | ✅ | ✅ | | ||
| **Multi node support** | ✅ | ✅ | ❌ | ✅ | | ||
| **Traefik Integration** | ✅ | ✅ | Available via Plugins | ✅ | | ||
| **User Permission Management** | ✅ | ❌ | ❌ | ✅ | | ||
| **Advanced User Permission Management** | ✅ | ❌ | ❌ | ❌ | | ||
| **Terminal Access Built In** | ✅ | ❌ | ❌ | ✅ | | ||
| **Database Support** | ✅ | ✅ | ❌ | ✅ | | ||
| **Monitoring** | ✅ | ✅ | ❌ | ❌ | | ||
| **Backups** | ✅ | Available via Plugins | Available via Plugins | ✅ | | ||
| **Open Source** | ✅ | ✅ | ✅ | ✅ | | ||
| **Multi Server Support** | ✅ | ❌ | ❌ | ✅ | | ||
| **Cloud/Paid Version** | ❌ | ✅ | ✅ | ✅ | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
--- | ||
title: Example | ||
description: "Example to setup a remote server and deploy application in a VPS." | ||
--- | ||
|
||
import { Callout } from "fumadocs-ui/components/callout"; | ||
|
||
Multi server allows you to deploy your apps remotely to different servers without needing to build and run them where the Dokploy UI is installed. | ||
|
||
## Requirements | ||
|
||
1. To install Dokploy UI, follow the [installation guide](en/docs/core/get-started/installation). | ||
|
||
2. Create an SSH key by going to `/dashboard/settings/ssh-keys` and add a new key. Be sure to copy the public key. | ||
|
||
<ImageZoom | ||
src="/assets/ssh-keys.png" | ||
alt="Architecture Diagram" | ||
width={1000} | ||
height={600} | ||
className="rounded-lg" | ||
/> | ||
|
||
3. Decide which remote server to deploy your apps on. We recommend these reliable providers: | ||
|
||
- [Hostinger](https://www.hostinger.com/vps-hosting?ref=dokploy) Get 20% off with this [referral link](https://www.hostinger.com/vps-hosting?REFERRALCODE=1SIUMAURICI97). | ||
- [DigitalOcean](https://www.digitalocean.com/pricing/droplets#basic-droplets) Get $200 credits for free with this [referral link](https://m.do.co/c/db24efd43f35). | ||
- [Hetzner](https://www.hetzner.com/cloud/) Get €20 credits with this [referral link](https://hetzner.cloud/?ref=vou4fhxJ1W2D). | ||
- [Linode](https://www.linode.com/es/pricing/#compute-shared). | ||
- [Vultr](https://www.vultr.com/pricing/#cloud-compute). | ||
- [Scaleway](https://www.scaleway.com/en/pricing/?tags=baremetal,available). | ||
- [Google Cloud](https://cloud.google.com/). | ||
- [AWS](https://aws.amazon.com/ec2/pricing/). | ||
|
||
4. When creating the server, it should ask for SSH keys. Ideally, use your computer's public key and the key you generated in the previous step. Here's how to add the public key in Hostinger: | ||
|
||
<ImageZoom | ||
src="/assets/hostinger-add-sshkey.png" | ||
alt="Adding SSH key" | ||
width={1000} | ||
height={600} | ||
className="rounded-lg" | ||
/> | ||
|
||
<Callout>The steps are similar across other providers.</Callout> | ||
|
||
5. Copy the server’s IP address and ensure you know the username (often `root`). Fill in all fields and click `Create`. | ||
|
||
<ImageZoom | ||
src="/assets/multi-server-add-server.png" | ||
alt="Add server" | ||
width={1000} | ||
height={600} | ||
className="rounded-lg" | ||
/> | ||
|
||
6. To test connectivity, open the server dropdown and click `Enter Terminal`. If everything is correct, you should be able to interact with the remote server. | ||
|
||
7. Click `Setup Server` to proceed. There are two tabs: SSH Keys and Deployments. This guide explains the easy way, but you can follow the manual process via the Dokploy UI if you prefer. | ||
|
||
<ImageZoom | ||
src="/assets/multi-server-setup-2.png" | ||
alt="Setup process" | ||
width={1000} | ||
height={600} | ||
className="rounded-lg" | ||
/> | ||
|
||
8. Click `Deployments`, then `Setup Server`. If everything is correct, you should see output similar to this: | ||
|
||
<ImageZoom | ||
src="/assets/multi-server-setup-3.png" | ||
alt="Server setup output" | ||
width={1000} | ||
height={600} | ||
className="rounded-lg" | ||
/> | ||
|
||
<Callout> | ||
You only need to run this setup once. If Dokploy updates later, check the | ||
release notes to see if rerunning this command is required. | ||
</Callout> | ||
|
||
9. You're ready to deploy your apps! Let's test it out: | ||
|
||
<ImageZoom | ||
src="/assets/multi-server-add-app.png" | ||
alt="Add app" | ||
width={1000} | ||
height={600} | ||
className="rounded-lg" | ||
/> | ||
|
||
10. To check which server an app belongs to, you’ll see the server name at the top. If no server is selected, it defaults to `Dokploy Server`. Click `Deploy` to start building your app on the remote server. You can check the `Logs` tab to see the build process. For this example, we’ll use a test repo: | ||
Repo: `https://github.com/Dokploy/examples.git` | ||
Branch: `main` | ||
Build Path: `/astro` | ||
|
||
<ImageZoom | ||
src="/assets/multi-server-setup-app.png" | ||
alt="App setup" | ||
width={1000} | ||
height={600} | ||
className="rounded-lg" | ||
/> | ||
|
||
11. Once the build is done, go to `Domains` and create a free domain. Just click `Create` and you’re good to go! 🎊 | ||
|
||
{" "} | ||
|
||
<ImageZoom | ||
src="/assets/multi-server-finish.png" | ||
alt="Finished setup" | ||
width={1000} | ||
height={600} | ||
className="rounded-lg" | ||
/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
--- | ||
title: Overview | ||
description: "Deploy your apps to multiple servers remotely." | ||
--- | ||
|
||
import { Callout } from "fumadocs-ui/components/callout"; | ||
|
||
Multi server allows you to deploy your apps remotely to different servers without needing to build and run them where the Dokploy UI is installed. | ||
|
||
To use the multi-server feature, you need to have Dokploy UI installed either locally or on a remote server. We recommend using a remote server for better connectivity, security, and isolation, for remote instances we install only a traefik instance. | ||
|
||
If you plan to only deploy apps to remote servers and use Dokploy UI for managing deployments, Dokploy will use around 250 MB of RAM and minimal CPU, so a low-resource server should be sufficient. | ||
|
||
All the features we have documented previously are supported by Dokploy Multi Server. The only feature not supported is remote server monitoring, due to performance reasons. However, all functionalities should work the same as when deploying on the same server where Dokploy UI is installed. | ||
|
||
## Features | ||
|
||
1. **Enter the terminal**: Allows you to access the terminal of the remote server. | ||
2. **Setup Server**: Allows you to configure the remote server. | ||
- **SSH Keys**: Steps to add SSH keys to the remote server. | ||
- **Deployments**: Steps to configure the remote server for deploying applications. | ||
3. **Edit Server**: Allows you to modify the remote server's details, such as SSH key, name, description, IP, etc. | ||
4. **View Actions**: Lets you perform actions like managing the Traefik instance, storage, and activating Docker cleanup. | ||
5. **Show Traefik File System**: Displays the contents of the remote server's directory. | ||
6. **Show Docker Containers**: Shows the Docker containers running on the remote server. | ||
|
||
<Callout> | ||
Remote server monitoring is not supported due to performance reasons. | ||
</Callout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.