diff --git a/ct/dokploy.sh b/ct/dokploy.sh new file mode 100644 index 000000000..fe94942b8 --- /dev/null +++ b/ct/dokploy.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://dokploy.com/ + +APP="Dokploy" +var_tags="${var_tags:-docker;paas}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-2048}" +var_disk="${var_disk:-10}" +var_os="${var_os:-debian}" +var_version="${var_version:-13}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -d /etc/dokploy ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + msg_info "Updating Dokploy" + $STD bash <(curl -sSL https://dokploy.com/install.sh) + msg_ok "Updated Dokploy" + msg_ok "Updated successfully!" + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/frontend/public/json/dokploy.json b/frontend/public/json/dokploy.json new file mode 100644 index 000000000..7bbd1e816 --- /dev/null +++ b/frontend/public/json/dokploy.json @@ -0,0 +1,48 @@ +{ + "name": "Dokploy", + "slug": "dokploy", + "categories": [ + 6 + ], + "date_created": "2025-12-09", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 3000, + "documentation": "https://docs.dokploy.com/", + "config_path": "/etc/dokploy", + "website": "https://dokploy.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/dokploy.png", + "description": "Dokploy is a free, self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases. Built with Docker and Traefik, it offers features like automatic SSL, Docker Compose support, database backups, and a real-time monitoring dashboard.", + "install_methods": [ + { + "type": "default", + "script": "ct/dokploy.sh", + "resources": { + "cpu": 2, + "ram": 2048, + "hdd": 10, + "os": "Debian", + "version": "13" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Initial setup will be done via the web interface on first access.", + "type": "info" + }, + { + "text": "Dokploy has built-in auto-updates via the web interface.", + "type": "info" + }, + { + "text": "This container uses Docker-in-Docker (nesting) for application deployments.", + "type": "warning" + } + ] +} diff --git a/install/dokploy-install.sh b/install/dokploy-install.sh new file mode 100644 index 000000000..b6eb239c3 --- /dev/null +++ b/install/dokploy-install.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://dokploy.com/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y \ + git \ + openssl +msg_ok "Installed Dependencies" + +msg_warn "WARNING: This script will run an external installer from a third-party source (https://dokploy.com/)." +msg_warn "The following code is NOT maintained or audited by our repository." +msg_warn "If you have any doubts or concerns, please review the installer code before proceeding:" +msg_custom "${TAB3}${GATEWAY}${BGN}${CL}" "\e[1;34m" "→ https://dokploy.com/install.sh" +echo +read -r -p "${TAB3}Do you want to continue? [y/N]: " CONFIRM +if [[ ! "$CONFIRM" =~ ^([yY][eE][sS]|[yY])$ ]]; then + msg_error "Aborted by user. No changes have been made." + exit 10 +fi + +msg_info "Installing Dokploy (Patience - this installs Docker and pulls containers)" +$STD bash <(curl -sSL https://dokploy.com/install.sh) +msg_ok "Installed Dokploy" + +motd_ssh +customize +cleanup_lxc