Skip to content

Commit

Permalink
Merge pull request #103 from Dokploy/canary
Browse files Browse the repository at this point in the history
v0.0.4
  • Loading branch information
Siumauricio authored May 23, 2024
2 parents 17da902 + 0c19458 commit 56a94ad
Show file tree
Hide file tree
Showing 66 changed files with 696 additions and 576 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,5 @@ yarn-error.log*
/.data
/.main

*.lockb
*.lockb
*.rdb
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ pnpm run docker:push
In the case you lost your password, you can reset it using the following command

```bash
pnpm run build-server
pnpm run reset-password
```

If you want to test the webhooks on development mode using localtunnel, make sure to install `localtunnel`
Expand Down Expand Up @@ -150,4 +150,4 @@ curl -sSL "https://github.com/buildpacks/pack/releases/download/v0.32.1/pack-v0.
- If your pull request fixes an open issue, please reference the issue in the pull request description.
- Once your pull request is merged, you will be automatically added as a contributor to the project.

Thank you for your contribution!
Thank you for your contribution!
30 changes: 9 additions & 21 deletions LICENSE.MD
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
Copyright 2024-2024 Mauricio Siu.
# License

Copyright 2024 Mauricio Siu.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand All @@ -9,27 +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.

Appendix:
In case of a conflict, the terms of this appendix supersede the general apache license.

- Unless provided with a written agreement or permission, the paid features of Dokploy (as a service) cannot be modified.
- Unless provided with a written agreement or permission, no persons are permitted to redistribute another paid version of Dokploy.
- Unless provided with a written agreement or permission, no persons are permitted to create the same paid version of Dokploy.
- Furthermore, any modifications of free features of Dokploy should be distributed as free & opensource software.

Appendix B:

- **Prohibition of Resale Without Permission:** Notwithstanding any provisions in the main body of the Apache License, Version 2.0, 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, through any form of commercial distribution channels, including but not limited to online marketplaces, software as a service (SaaS) platforms, or physical media distribution, without prior written consent from the copyright holder.

- **Commercial Distribution:** Any form of 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. This includes but is not limited to, offerings on software marketplaces or through third-party distributors.

- **Modification of Paid Features:** The paid features of Dokploy (as a service) may not be modified, integrated into other software, or redistributed in any form without explicit written permission from the copyright holder.
See the License for the specific language governing permissions and limitations under the License.

- **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 without complying with the open-source license terms stipulated in this agreement.
## Appendix

If you have any questions, please feel free to reach out to us.
In the event of a conflict, the provisions in this appendix shall take precedence over those in the Apache License.

- **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.
50 changes: 50 additions & 0 deletions README-de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@


<div align="center">
<h1 align="center">Dokploy</h1>
</div>

<div align="center" style="width:100%;">
<img src="https://raw.githubusercontent.com/Dokploy/dokploy/main/logo.png" alt="Reflex Logo" style="width:60%;">
</div>
<hr>


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
- Fedora 40
- Centos 9

## 📄 Dokumentation

Für eine detaillierte Dokumentation, siehe [docs.dokploy.com/docs](https://docs.dokploy.com)

49 changes: 49 additions & 0 deletions README-ru.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<div align="center">
<h1 align="center">Dokploy</h1>
</div>

<div align="center" style="width:100%;">
<img src="https://raw.githubusercontent.com/Dokploy/dokploy/main/logo.png" alt="Логотип Dokploy" style="width:60%;">
</div>
<hr>



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
- Fedora 40
- Centos 9

## 📄 Документация
Для подробной документации посетите docs.dokploy.com/docs.
53 changes: 53 additions & 0 deletions README-zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@


<div align="center">
<h1 align="center">Dokploy</h1>
</div>

<div align="center" style="width:100%;">
<img src="https://raw.githubusercontent.com/Dokploy/dokploy/main/logo.png" alt="Reflex Logo" style="width:60%;">
</div>
<hr>



Dokploy 是一个免费的自托管平台即服务 (PaaS),它使用 Docker 和 Traefik 简化了应用程序和数据库的部署和管理。 Dokploy 旨在提高效率和安全性,允许您在任何 VPS 上部署应用程序。

## 语言
[English](README.md)

[中文](README-zh.md)

[Deutsch](README-de.md)

[Русский Язык](README-ru.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
- Fedora 40
- Centos 9

## 📄 文档

如需查看详细的文档资料 请访问[docs.dokploy.com/docs](https://docs.dokploy.com)
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ Dokploy is a free self-hostable Platform as a Service (PaaS) that simplifies the



## Explanation
[English](README.md) | [中文](README-zh.md) | [Deutsch](README-de.md) | [Русский Язык](README-ru.md)




## 🌟 Features

- **Applications**: Deploy any type of application (Node.js, PHP, Python, Go, Ruby, etc.) with ease.
Expand All @@ -38,6 +44,8 @@ Tested Systems:

- Ubuntu 20.04
- Debian 11
- Fedora 40
- Centos 9

## 📄 Documentation

Expand Down
17 changes: 7 additions & 10 deletions TERMS_AND_CONDITIONS.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,22 @@
# Terms & Conditions

**Dokploy core** is a free and open-source solution intended as an alternative to established cloud platforms like Vercel and Netlify.

Dokploy core is a free and open-source program alternative to Vercel, Netlify, and other cloud services.
The Dokploy team endeavors to mitigate potential defects and issues through stringent testing and adherence to principles of clean coding. Dokploy is provided "AS IS" without any warranties, express or implied. Refer to the [License](https://github.com/Dokploy/Dokploy/blob/main/LICENSE) for details on permissions and restrictions.

Developers of Dokploy do their best to prevent bugs and issues through rigorous testing processes and clean code principles. Dokploy 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](https://github.com/Dokploy/Dokploy/blob/main/LICENSE).

By using Dokploy you agree to Terms and Conditions, and the license of Dokploy.

### Description of Service:

Dokploy core is an open-source program designed to streamline application deployment processes for personal and commercial use. Users are free to install, modify, and run Dokploy on their own machines or within their organizations to enhance their development and deployment workflows. While Dokploy encourages a wide range of uses to foster innovation and efficiency, it is crucial to note that selling Dokploy itself as a service or repackaging it as part of a commercial offering without explicit permission is strictly prohibited. This ensures that the open-source nature of Dokploy remains intact and benefits the community as a whole.
**Dokploy core** is an open-source tool designed to simplify the deployment of applications for both personal and business use. Users are permitted to install, modify, and operate Dokploy independently or within their organizations to improve their development and deployment operations. It is important to note that any commercial resale or redistribution of Dokploy as a service is strictly forbidden without explicit consent. This prohibition ensures the preservation of Dokploy's open-source character for the benefit of the entire community.

### Our Responsibility

Dokploy developers will do their best to ensure that Dokploy remains functional and major bugs are resolved quickly. If you have a feature request, you are more than welcome to open a request for it, but the ultimate decision whether or not the feature will be added is taken by Dokploy's core developers.
The Dokploy development team commits to maintaining the functionality of the software and addressing major issues promptly. While we welcome suggestions for new features, the decision to include them rests solely with the core developers of Dokploy.

### Usage Data

Dokploy doesn't collect any usage data. It is a free and open-source program, and it is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
**Dokploy** does not collect any user data. It is distributed as a free and open-source tool under the terms of "AS IS", without any implied warranties or conditions.

### Future changes
### Future Changes

Terms of Service / Terms & Conditions may change at any point without a prior notice.
The Terms of Service and Terms & Conditions are subject to change without prior notice.
2 changes: 1 addition & 1 deletion components/auth/login-2fa.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export const Login2FA = ({ authId }: Props) => {
id: authId,
})
.then(() => {
toast.success("Signin succesfully", {
toast.success("Signin successfully", {
duration: 2000,
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ interface Props {
applicationId: string;
}

const AddRedirectchema = z.object({
const AddRedirectSchema = z.object({
command: z.string(),
});

type AddCommand = z.infer<typeof AddRedirectchema>;
type AddCommand = z.infer<typeof AddRedirectSchema>;

export const AddCommand = ({ applicationId }: Props) => {
const { data } = api.application.one.useQuery(
Expand All @@ -48,7 +48,7 @@ export const AddCommand = ({ applicationId }: Props) => {
defaultValues: {
command: "",
},
resolver: zodResolver(AddRedirectchema),
resolver: zodResolver(AddRedirectSchema),
});

useEffect(() => {
Expand Down
17 changes: 5 additions & 12 deletions components/dashboard/application/advanced/ports/add-port.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand All @@ -33,15 +33,15 @@ 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"], {
required_error: "Protocol is required",
}),
});

type AddPort = z.infer<typeof AddPortchema>;
type AddPort = z.infer<typeof AddPortSchema>;

interface Props {
applicationId: string;
Expand All @@ -62,7 +62,7 @@ export const AddPort = ({
publishedPort: 0,
targetPort: 0,
},
resolver: zodResolver(AddPortchema),
resolver: zodResolver(AddPortSchema),
});

useEffect(() => {
Expand Down Expand Up @@ -100,14 +100,7 @@ export const AddPort = ({
Ports are used to expose your application to the internet.
</DialogDescription>
</DialogHeader>
{isError && (
<div className="flex flex-row gap-4 rounded-lg bg-red-50 p-2 dark:bg-red-950">
<AlertTriangle className="text-red-600 dark:text-red-400" />
<span className="text-sm text-red-600 dark:text-red-400">
{error?.message}
</span>
</div>
)}
{isError && <AlertBlock type="error">{error?.message}</AlertBlock>}

<Form {...form}>
<form
Expand Down
12 changes: 3 additions & 9 deletions components/dashboard/application/advanced/ports/update-port.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ 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, Pencil } from "lucide-react";
import { Pencil } from "lucide-react";
import { useEffect } from "react";
import { useForm } from "react-hook-form";
import { toast } from "sonner";
Expand Down Expand Up @@ -106,14 +107,7 @@ export const UpdatePort = ({ portId }: Props) => {
<DialogTitle>Update</DialogTitle>
<DialogDescription>Update the port</DialogDescription>
</DialogHeader>
{isError && (
<div className="flex flex-row gap-4 rounded-lg bg-red-50 p-2 dark:bg-red-950">
<AlertTriangle className="text-red-600 dark:text-red-400" />
<span className="text-sm text-red-600 dark:text-red-400">
{error?.message}
</span>
</div>
)}
{isError && <AlertBlock type="error">{error?.message}</AlertBlock>}

<Form {...form}>
<form
Expand Down
Loading

0 comments on commit 56a94ad

Please sign in to comment.