From 323e2f54ba79ffabc7c54b59d12d5e66431b988a Mon Sep 17 00:00:00 2001 From: dharsanb Date: Mon, 10 Jun 2024 01:29:19 +0530 Subject: [PATCH 1/9] fix(readme): fixed readme link to docs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 58cb0961..2d53242f 100644 --- a/README.md +++ b/README.md @@ -55,5 +55,5 @@ Tested Systems: ## 📄 Documentation -For detailed documentation, visit [docs.dokploy.com/docs](https://docs.dokploy.com). +For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com). From 3c00937b94ca1e4ad5d9bbc9492857aaff5e8939 Mon Sep 17 00:00:00 2001 From: hehehai Date: Thu, 13 Jun 2024 20:42:46 +0800 Subject: [PATCH 2/9] fix: env editor width overflow --- .../advanced/traefik/update-traefik-config.tsx | 16 ++++++++++++---- .../application/advanced/volumes/add-volumes.tsx | 6 +++--- .../dashboard/application/environment/show.tsx | 2 +- components/dashboard/compose/enviroment/show.tsx | 2 +- .../compose/general/compose-file-editor.tsx | 6 +++--- .../dashboard/file-system/show-traefik-file.tsx | 2 +- .../environment/show-mariadb-environment.tsx | 2 +- .../mongo/environment/show-mongo-environment.tsx | 2 +- .../mysql/environment/show-mysql-environment.tsx | 2 +- .../environment/show-postgres-environment.tsx | 2 +- .../redis/environment/show-redis-environment.tsx | 2 +- components/dashboard/settings/web-server.tsx | 2 +- .../web-server/show-main-traefik-config.tsx | 2 +- .../web-server/show-server-middleware-config.tsx | 2 +- .../web-server/show-server-traefik-config.tsx | 2 +- components/shared/code-editor.tsx | 2 +- components/ui/dialog.tsx | 6 ++++-- styles/globals.css | 2 -- 18 files changed, 35 insertions(+), 27 deletions(-) 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 ( - + { + setOpen(open) + if (!open) { + form.reset(); + } + }}> @@ -122,7 +130,7 @@ export const UpdateTraefikConfig = ({ applicationId }: Props) => {
@@ -209,7 +209,7 @@ export const AddVolumes = ({ /> @@ -233,7 +233,7 @@ export const AddVolumes = ({ /> diff --git a/components/dashboard/application/environment/show.tsx b/components/dashboard/application/environment/show.tsx index 72f25d2e..1e91e491 100644 --- a/components/dashboard/application/environment/show.tsx +++ b/components/dashboard/application/environment/show.tsx @@ -124,7 +124,7 @@ export const ShowEnvironment = ({ applicationId }: Props) => { { { { {
{ { { { { { Space - + Actions diff --git a/components/dashboard/settings/web-server/show-main-traefik-config.tsx b/components/dashboard/settings/web-server/show-main-traefik-config.tsx index 4a14d220..16f69b77 100644 --- a/components/dashboard/settings/web-server/show-main-traefik-config.tsx +++ b/components/dashboard/settings/web-server/show-main-traefik-config.tsx @@ -95,7 +95,7 @@ export const ShowMainTraefikConfig = ({ children }: Props) => {
{
{
{props.disabled && ( -
+
)}
); diff --git a/components/ui/dialog.tsx b/components/ui/dialog.tsx index 775c93a9..3c9ec741 100644 --- a/components/ui/dialog.tsx +++ b/components/ui/dialog.tsx @@ -36,12 +36,14 @@ const DialogContent = React.forwardRef< - {children} +
+ {children} +
Close diff --git a/styles/globals.css b/styles/globals.css index 629d2985..5b71cdff 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -127,10 +127,8 @@ background-color: transparent; } - .compose-file-editor .cm-editor { @apply min-h-[25rem]; - } From 7df415a3869dc5d3ce56169db44108b5a2495a3e Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 15 Jun 2024 03:15:02 -0600 Subject: [PATCH 3/9] chore: add issue template --- .github/ISSUE_TEMPLATE/bug_report.yml | 62 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 5 ++ .github/ISSUE_TEMPLATE/feature-request.yml | 33 ++++++++++++ 3 files changed, 100 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature-request.yml 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 From bc28464430e07ad827f6acc702cf477c4819bf81 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 15 Jun 2024 04:01:35 -0600 Subject: [PATCH 4/9] chore: update readme --- README.md | 85 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 57 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 2d53242f..4c874cef 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,34 @@ -
+ + + + + +
+
-
-Reflex Logo -
-
+### 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. + +* **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. +* **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. -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. - - - -## 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. -- **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 @@ -40,7 +39,35 @@ To get started run the following command in a VPS: curl -sSL https://dokploy.com/install.sh | sh ``` -Tested Systems: + +## 📄 Documentation + +For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com). + + +## Showcase + + +[![Watch the video](https://i.sstatic.net/Vp2cE.png)](https://youtu.be/mznYKPvhcfw) + + + + +## 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: + +https://opencollective.com/dokploy + + + + + + -## 📄 Documentation -For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com). + +## Explanation +[English](README.md) | [中文](README-zh.md) | [Deutsch](README-de.md) | [Русский Язык](README-ru.md) + From 68c2272e9843098f319686135343953dfd5442b1 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 15 Jun 2024 04:02:24 -0600 Subject: [PATCH 5/9] chore: update readme --- README.md | 60 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 4c874cef..a8012ca2 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,31 @@ - - - - - - -
- +

+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. +Dokploy include multiples features to make your life easier. + * **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. @@ -45,40 +45,44 @@ curl -sSL https://dokploy.com/install.sh | sh For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com). -## Showcase - +## Video Tutorial + + Watch the video + -[![Watch the video](https://i.sstatic.net/Vp2cE.png)](https://youtu.be/mznYKPvhcfw) - - - ## 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 - +- Centos 8 From 101bbd44d8e3140fe2c757682cacd0beef9aa22b Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 15 Jun 2024 04:08:32 -0600 Subject: [PATCH 6/9] Update README.md --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a8012ca2..e907865c 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,13 @@

Dokploy

-
-

-Dokploy is a free self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases.

+
+
+ +
+Dokploy is a free self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases. ### Features From fc2abac9898693be3169e091771b6e098a8add1e Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 15 Jun 2024 19:27:31 -0600 Subject: [PATCH 7/9] chore: update banner image --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e907865c..2f766e6a 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com). ## Video Tutorial - Watch the video + Watch the video From bdc488e1791073b00a80bbd8b4363d5f3c3218d1 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Wed, 19 Jun 2024 00:45:33 -0600 Subject: [PATCH 8/9] fix(#149): use database user in mongodump --- server/utils/backups/mongo.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/utils/backups/mongo.ts b/server/utils/backups/mongo.ts index ff2fbd18..5fc1e23f 100644 --- a/server/utils/backups/mongo.ts +++ b/server/utils/backups/mongo.ts @@ -8,7 +8,7 @@ import { getServiceContainer } from "../docker/utils"; // mongodb://mongo:Bqh7AQl-PRbnBu@localhost:27017/?tls=false&directConnection=true export const runMongoBackup = async (mongo: Mongo, backup: BackupSchedule) => { - const { appName, databasePassword } = mongo; + const { appName, databasePassword, databaseUser } = mongo; const { prefix, database } = backup; const destination = backup.destination; const backupFileName = `${new Date().toISOString()}.dump.gz`; @@ -23,7 +23,7 @@ export const runMongoBackup = async (mongo: Mongo, backup: BackupSchedule) => { ); await execAsync( - `docker exec ${containerId} sh -c "mongodump -d '${database}' -u 'mongo' -p '${databasePassword}' --authenticationDatabase=admin --archive=${containerPath} --gzip"`, + `docker exec ${containerId} sh -c "mongodump -d '${database}' -u '${databaseUser}' -p '${databasePassword}' --authenticationDatabase=admin --archive=${containerPath} --gzip"`, ); await execAsync(`docker cp ${containerId}:${containerPath} ${hostPath}`); await uploadToS3(destination, bucketDestination, hostPath); From 3f2eeaf386c948f9a01db81cc950bb07b7ba63fe Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Fri, 21 Jun 2024 10:37:26 -0600 Subject: [PATCH 9/9] chore: bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 36b8dab3..8e70c6ed 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dokploy", - "version": "v0.2.2", + "version": "v0.2.3", "private": true, "license": "AGPL-3.0-only", "type": "module",