diff --git a/.gitignore b/.gitignore
index bfbda236c..61e009710 100644
--- a/.gitignore
+++ b/.gitignore
@@ -53,4 +53,5 @@ yarn-error.log*
/.data
/.main
-*.lockb
\ No newline at end of file
+*.lockb
+*.rdb
diff --git a/LICENSE.MD b/LICENSE.MD
index 9b02d8669..9c53a3bc0 100644
--- a/LICENSE.MD
+++ b/LICENSE.MD
@@ -1,3 +1,5 @@
+# License
+
Copyright 2024 Mauricio Siu.
Licensed under the Apache License, Version 2.0 (the "License");
@@ -9,16 +11,13 @@ You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
+See the License for the specific language governing permissions and limitations under the License.
-Appendix:
+## Appendix
-In cases of conflict, the provisions in this appendix supersede those in the general Apache License.
+In the event of a conflict, the provisions in this appendix shall take precedence over those in the Apache License.
-- **Modification of Paid Features:** Written consent or a formal agreement is required for modifying any paid features of Dokploy.
-- **Prohibition of Unauthorized Resale:** No party is permitted to sell, resell, or otherwise distribute for commercial gain, the software or any of its components, including both original and modified versions, without prior written consent from the copyright holder.
-- **Commercial Distribution:** Any distribution of Dokploy, whether for direct profit or indirect financial benefit, through commercial channels is strictly prohibited without a separate commercial agreement negotiated with the copyright holder.
-- **Open Source Distribution of Free Features:** Any modifications to the free features of Dokploy must be distributed freely and must not be included in any paid or commercial package unless they comply with the license and appendix terms specified in this agreement.
+- **Modification Distribution:** Any modifications to the software must be distributed freely.
+- **Future Paid Features:** Any future paid features of Dokploy cannot be sold or offered as a service by any party other than the copyright holder without prior written consent.
For further inquiries or permissions, please contact us directly.
diff --git a/README-de.md b/README-de.md
new file mode 100644
index 000000000..29f3482c4
--- /dev/null
+++ b/README-de.md
@@ -0,0 +1,48 @@
+
+
+
+
Dokploy
+
+
+
+
+
+
+
+
+Dokploy ist eine kostenlose und self-hostable Platform as a Service (PaaS), welche das hosten und managen von deinen Projekten und Datenbanken vereinfacht, das geschieht mithilfe von Docker und Treafik. Es ist designt, um deine Leistung und die Sicherheit deiner Projekte zu verbessern. Dokploy erlaubt dir schnell und einfach auf jeder VPS deine Projekte zu verwirklichen.
+
+
+## Erklärung
+[English](README.md) | [中文](README-zh.md) | [Deutsch](README-de.md) | [Русский Язык](README-ru.md)
+
+
+
+
+## 🌟 Vorteile
+
+- **Projekte**: - **Projekte**: Hoste jegliche Art von Projekt (Node.js, PHP, Python, Go, Ruby, etc.) mit Einfachheit.
+- **Datenbanken**: Erstelle und manage Datenbanken, wie MySQL, PostgreSQL, MongoDB, MariaDB, Redis, und mehr.
+- **Docker Management**: Einfach Docker container hosten und managen.
+- **Traefik Integration**: Automatische Integration mit Traefik für routing und load balancing
+- **Real-time Monitoring**: Monitor von CPU, RAM, Speicher, und network Nutzung.
+- **Database Backups**: Automatische Backups mit Support für mehrere Speicher Systeme.
+
+
+## 🚀 Loslegen
+
+Um anzufangen führe einfach den folgende command in einer VPS aus:
+
+```bash
+curl -sSL https://dokploy.com/install.sh | sh
+```
+
+Getestete Systems:
+
+- Ubuntu 20.04
+- Debian 11
+
+## 📄 Dokumentation
+
+Für eine detaillierte Dokumentation, siehe [docs.dokploy.com/docs](https://docs.dokploy.com)
+
diff --git a/README-ru.md b/README-ru.md
new file mode 100644
index 000000000..ac4ff6647
--- /dev/null
+++ b/README-ru.md
@@ -0,0 +1,47 @@
+
+
Dokploy
+
+
+
+
+
+
+
+
+
+Dokploy - это бесплатная самоустанавливаемая Платформа как Сервис (PaaS), которая упрощает развертывание и управление приложениями и базами данных с использованием Docker и Traefik. Разработанный для повышения эффективности и безопасности, Dokploy позволяет развертывать ваши приложения на любом VPS.
+
+
+
+## Объяснение
+[English](README.md) | [中文](README-zh.md) | [Deutsch](README-de.md)
+
+
+
+
+## 🌟 Особенности
+
+- **Приложения**: Легко развертывать любой тип приложения (Node.js, PHP, Python, Go, Ruby и др.).
+- **Базы данных**: Создавайте и управляйте базами данных с поддержкой MySQL, PostgreSQL, MongoDB, MariaDB, Redis и других.
+- **Управление Docker**: Легко развертывать и управляйте контейнерами Docker.
+- **Интеграция с Traefik**: Автоматически интегрируется с Traefik для маршрутизации и балансировки нагрузки.
+- **Мониторинг в реальном времени**: Отслеживайте использование CPU, памяти, хранилища и сети.
+- **Резервное копирование баз данных**: Автоматизируйте резервное копирование с поддержкой нескольких мест хранения.
+
+
+## 🚀 Начало работы
+
+Чтобы установить, выполните следующую команду на VPS:
+
+
+```bash
+curl -sSL https://dokploy.com/install.sh | sh
+```
+
+Проверенные системы:
+
+- Ubuntu 20.04
+- Debian 11
+
+## 📄 Документация
+Для подробной документации посетите docs.dokploy.com/docs.
\ No newline at end of file
diff --git a/README-zh.md b/README-zh.md
index 0e4982e08..010ca799c 100644
--- a/README-zh.md
+++ b/README-zh.md
@@ -18,6 +18,10 @@ Dokploy 是一个免费的自托管平台即服务 (PaaS),它使用 Docker 和
[中文](README-zh.md)
+[Deutsch](README-de.md)
+
+[Русский Язык](README-ru.md)
+
diff --git a/README.md b/README.md
index a1c4708a9..ff142f1e7 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ Dokploy is a free self-hostable Platform as a Service (PaaS) that simplifies the
## Explanation
-[English](README.md) | [中文](README-zh.md)
+[English](README.md) | [中文](README-zh.md) | [Deutsch](README-de.md) | [Русский Язык](README-ru.md)
diff --git a/components/auth/login-2fa.tsx b/components/auth/login-2fa.tsx
index 17b2d483e..6bf03d0c3 100644
--- a/components/auth/login-2fa.tsx
+++ b/components/auth/login-2fa.tsx
@@ -61,7 +61,7 @@ export const Login2FA = ({ authId }: Props) => {
id: authId,
})
.then(() => {
- toast.success("Signin succesfully", {
+ toast.success("Signin successfully", {
duration: 2000,
});
diff --git a/components/dashboard/application/advanced/general/add-command.tsx b/components/dashboard/application/advanced/general/add-command.tsx
index b7de2ae62..a898607d7 100644
--- a/components/dashboard/application/advanced/general/add-command.tsx
+++ b/components/dashboard/application/advanced/general/add-command.tsx
@@ -26,11 +26,11 @@ interface Props {
applicationId: string;
}
-const AddRedirectchema = z.object({
+const AddRedirectSchema = z.object({
command: z.string(),
});
-type AddCommand = z.infer;
+type AddCommand = z.infer;
export const AddCommand = ({ applicationId }: Props) => {
const { data } = api.application.one.useQuery(
@@ -48,7 +48,7 @@ export const AddCommand = ({ applicationId }: Props) => {
defaultValues: {
command: "",
},
- resolver: zodResolver(AddRedirectchema),
+ resolver: zodResolver(AddRedirectSchema),
});
useEffect(() => {
diff --git a/components/dashboard/application/advanced/ports/add-port.tsx b/components/dashboard/application/advanced/ports/add-port.tsx
index ceb9657cb..52b303a57 100644
--- a/components/dashboard/application/advanced/ports/add-port.tsx
+++ b/components/dashboard/application/advanced/ports/add-port.tsx
@@ -18,8 +18,8 @@ import {
} from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { api } from "@/utils/api";
+import { AlertBlock } from "@/components/shared/alert-block";
import { zodResolver } from "@hookform/resolvers/zod";
-import { AlertTriangle } from "lucide-react";
import { useEffect } from "react";
import { useForm } from "react-hook-form";
import { toast } from "sonner";
@@ -33,7 +33,7 @@ import {
} from "@/components/ui/select";
import { z } from "zod";
-const AddPortchema = z.object({
+const AddPortSchema = z.object({
publishedPort: z.number().int().min(1).max(65535),
targetPort: z.number().int().min(1).max(65535),
protocol: z.enum(["tcp", "udp"], {
@@ -41,7 +41,7 @@ const AddPortchema = z.object({
}),
});
-type AddPort = z.infer;
+type AddPort = z.infer;
interface Props {
applicationId: string;
@@ -62,7 +62,7 @@ export const AddPort = ({
publishedPort: 0,
targetPort: 0,
},
- resolver: zodResolver(AddPortchema),
+ resolver: zodResolver(AddPortSchema),
});
useEffect(() => {
@@ -100,14 +100,7 @@ export const AddPort = ({
Ports are used to expose your application to the internet.
- {isError && (
-