diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 00000000..33bd3288
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,62 @@
+name: Bug Report
+description: Create a bug report
+labels: ['bug']
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Before opening a new issue, please do a search of existing issues.
+
+ If you need help with your own project, you can start a discussion in the [Q&A Section](https://github.com/Dokploy/dokploy/discussions).
+ - type: textarea
+ attributes:
+ label: To Reproduce
+ description: A step-by-step description of how to reproduce the issue, or a link to the reproducible repository.
+ placeholder: |
+ 1. Create a application
+ 2. Click X
+ 3. Y will happen
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Current vs. Expected behavior
+ description: A clear and concise description of what the bug is, and what you expected to happen.
+ placeholder: 'Following the steps from the previous section, I expected A to happen, but I observed B instead'
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Provide environment information
+ description: Please provide the following information about your environment.
+ render: bash
+ placeholder: |
+ Operating System:
+ OS: Ubuntu 20.04
+ Arch: arm64
+ Dokploy version: 0.2.2'
+ VPS Provider: DigitalOcean, Hetzner, Linode, etc.
+ What applications/services are you tying to deploy?
+ eg - Database, Nextjs App, laravel, etc.
+ validations:
+ required: true
+ - type: dropdown
+ attributes:
+ label: Which area(s) are affected? (Select all that apply)
+ multiple: true
+ options:
+ - 'Installation'
+ - 'Application'
+ - 'Databases'
+ - 'Docker Compose'
+ - 'Traefik'
+ - 'Docker'
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Additional context
+ description: |
+ Any extra information that might help us investigate.
+ placeholder: |
+ I tested on a DigitalOcean VPS with Ubuntu 20.04 and Docker version 20.10.12.
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 00000000..da4c3352
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Questions?
+ url: https://github.com/Dokploy/dokploy/discussions
+ about: Ask your questions here.
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml
new file mode 100644
index 00000000..bfa9de8b
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature-request.yml
@@ -0,0 +1,33 @@
+name: Feature Request
+description: Suggest a new feature or improvement to the project
+labels: ['enhancement']
+body:
+ - type: textarea
+ attributes:
+ label: What problem will this feature address?
+ description: A clear and concise description of what the problem is.
+ placeholder: |
+ I'm always frustrated when I can't do X
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Describe the solution you'd like
+ description: A clear and concise description of what you want to happen.
+ placeholder: Add X to the core
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Describe alternatives you've considered
+ description: A clear and concise description of any alternative solutions or features you've considered.
+ placeholder: |
+ Maybe use Y as a workaround?
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Additional context
+ description: Add any other context or screenshots about the feature request here.
+ validations:
+ required: false
\ No newline at end of file
diff --git a/README.md b/README.md
index 58cb0961..2f766e6a 100644
--- a/README.md
+++ b/README.md
@@ -1,36 +1,37 @@
-
Dokploy
+
+
+
-
-
-
+
+
+Dokploy is a free self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases.
+### Features
-Dokploy is a free self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases using Docker and Traefik. Designed to enhance efficiency and security, Dokploy allows you to deploy your applications on any VPS.
+Dokploy include multiples features to make your life easier.
-
-## Explanation
-[English](README.md) | [中文](README-zh.md) | [Deutsch](README-de.md) | [Русский Язык](README-ru.md)
+* **Applications**: Deploy any type of application (Node.js, PHP, Python, Go, Ruby, etc.).
+* **Databases**: Create and manage databases with support for MySQL, PostgreSQL, MongoDB, MariaDB, Redis.
+* **Backups**: Automate backups for databases to a external storage destination.
+* **Docker Compose**: Native support for Docker Compose to manage complex applications.
+* **Multi Node**: Scale applications to multiples nodes using docker swarm to manage the cluster.
+* **Templates**: Deploy in a single click open source templates (Plausible, Pocketbase, Calcom, etc.).
+* **Traefik Integration**: Automatically integrates with Traefik for routing and load balancing.
+* **Real-time Monitoring**: Monitor CPU, memory, storage, and network usage, for every resource.
+* **Docker Management**: Easily deploy and manage Docker containers.
+* **CLI (Soon⌛)**: Manage your applications and databases using the command line.
+* **Self-Hosted**: Self-host Dokploy on your VPS.
-## 🌟 Features
-
-- **Applications**: Deploy any type of application (Node.js, PHP, Python, Go, Ruby, etc.) with ease.
-- **Databases**: Create and manage databases with support for MySQL, PostgreSQL, MongoDB, MariaDB, Redis, and more.
-- **Docker Management**: Easily deploy and manage Docker containers.
-- **Traefik Integration**: Automatically integrates with Traefik for routing and load balancing.
-- **Real-time Monitoring**: Monitor CPU, memory, storage, and network usage.
-- **Database Backups**: Automate backups with support for multiple storage destinations.
-
-
## 🚀 Getting Started
To get started run the following command in a VPS:
@@ -40,20 +41,54 @@ To get started run the following command in a VPS:
curl -sSL https://dokploy.com/install.sh | sh
```
-Tested Systems:
-- Ubuntu 24.04 LTS (Noble Numbat)
-- Ubuntu 23.10 (Mantic Minotaur)
-- Ubuntu 22.04 LTS (Jammy Jellyfish)
-- Ubuntu 20.04 LTS (Focal Fossa)
-- Ubuntu 18.04 LTS (Bionic Beaver)
+## 📄 Documentation
+
+For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com).
+
+
+## Video Tutorial
+
+
+
+
+
+## Donations
+
+If you like dokploy, and want to support the project to cover the costs of hosting, testing and development new features, you can donate to the project using the following link:
+
+Thanks to all the supporters!
+
+https://opencollective.com/dokploy
+
+
+
+
+
+## Contributors
+
+
+
+
+
+
+
+## Support OS
+
+- Ubuntu 24.04 LTS
+- Ubuntu 23.10
+- Ubuntu 22.04 LTS
+- Ubuntu 20.04 LTS
+- Ubuntu 18.04 LTS
- Debian 12
- Debian 11
- Fedora 40
- Centos 9
- Centos 8
-## 📄 Documentation
-For detailed documentation, visit [docs.dokploy.com/docs](https://docs.dokploy.com).
+
+## Explanation
+[English](README.md) | [中文](README-zh.md) | [Deutsch](README-de.md) | [Русский Язык](README-ru.md)
+
diff --git a/components/dashboard/application/advanced/traefik/update-traefik-config.tsx b/components/dashboard/application/advanced/traefik/update-traefik-config.tsx
index 13bec242..659353ec 100644
--- a/components/dashboard/application/advanced/traefik/update-traefik-config.tsx
+++ b/components/dashboard/application/advanced/traefik/update-traefik-config.tsx
@@ -19,7 +19,7 @@ import {
import { api } from "@/utils/api";
import { AlertBlock } from "@/components/shared/alert-block";
import { zodResolver } from "@hookform/resolvers/zod";
-import { useEffect } from "react";
+import { useEffect, useState } from "react";
import { useForm } from "react-hook-form";
import { toast } from "sonner";
import { z } from "zod";
@@ -58,6 +58,7 @@ export const validateAndFormatYAML = (yamlText: string) => {
};
export const UpdateTraefikConfig = ({ applicationId }: Props) => {
+ const [open, setOpen] = useState(false);
const { data, refetch } = api.application.readTraefikConfig.useQuery(
{
applicationId,
@@ -81,7 +82,7 @@ export const UpdateTraefikConfig = ({ applicationId }: Props) => {
traefikConfig: data || "",
});
}
- }, [form, form.reset, data]);
+ }, [data]);
const onSubmit = async (data: UpdateTraefikConfig) => {
const { valid, error } = validateAndFormatYAML(data.traefikConfig);
@@ -100,6 +101,8 @@ export const UpdateTraefikConfig = ({ applicationId }: Props) => {
.then(async () => {
toast.success("Traefik config Updated");
refetch();
+ setOpen(false);
+ form.reset();
})
.catch(() => {
toast.error("Error to update the traefik config");
@@ -107,7 +110,12 @@ export const UpdateTraefikConfig = ({ applicationId }: Props) => {
};
return (
-