Install Dokploy
01-install-dokploy.webm
Official Docs: https://docs.dokploy.com/docs/core/installation
| // Copyright (c) 2025, Revant Nandgaonkar and contributors | |
| // License: MIT | |
| // HTML Field has following options | |
| // <div id="dropzoneTarget" class="fallback dropzone"> <input hidden name="file" type="file"> </div> | |
| frappe.ui.form.on('File Uploader', { | |
| refresh(frm) { | |
| const url = '/api/method/multipart_upload.upload.multipart_file_upload'; | |
| const chunkSize = 20 * 1024 * 1024; // 20MB |
| FROM debian:bookworm-slim | |
| COPY entrypoint.sh /entrypoint.sh | |
| RUN apt-get update \ | |
| && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ | |
| locales \ | |
| ca-certificates \ | |
| curl \ | |
| sudo \ |
Official Docs: https://docs.dokploy.com/docs/core/installation
| # License: MIT | |
| # Store signatures in "Digital Signature" | |
| # it uploads signatures on S3 for secure storage. | |
| # Code snippet to fetch signature and sign document | |
| import io | |
| import os | |
| import ntpath | |
| import boto3 | |
| import botocore.exceptions |
| const mqtt = require("mqtt"); | |
| const client = mqtt.connect("mqtt://event-bus:1883", { | |
| clientId: require('crypto').randomUUID(), | |
| clean: true, | |
| connectTimeout: 4000, | |
| username: 'emqx', | |
| password: 'public', | |
| reconnectPeriod: 1000, | |
| }); | |
| client.on('connect', () => { |
| # https://github.com/frappe/frappe/blob/develop/frappe/email/smtp.py | |
| import smtplib | |
| class SMTPServer: | |
| def __init__( | |
| self, | |
| server, | |
| login=None, | |
| password=None, |
| def terminal_websocket(name: str, namespace: str, command: list[str], container: str = None): | |
| load_config() | |
| core_v1_api = client.CoreV1Api() | |
| resp = stream( | |
| core_v1_api.connect_get_namespaced_pod_exec, | |
| name=name, | |
| namespace=namespace, | |
| container=container, | |
| command=command, | |
| stderr=True, |
Start Container:
docker run --rm -it \
-v $PWD/data/gcloud:/root \
-v /var/run/docker.sock:/var/run/docker.sock \
-e "TERM=xterm-256color" google/cloud-sdk:alpine shPrepare Container:
# for centos:8 docker container refer https://stackoverflow.com/a/70930049
# yum install yum-utils # installs yumdownloader
# yumdownloader --assumeyes --destdir=$HOME/downloads/rpms --resolve {package-name}
sudo yum install -y --cacheonly --disablerepo=* $HOME/downloads/rpms/*.rpm
# Following command needs Python 3.10 installed. Refer Section below
sudo pip3.10 install --no-index --find-links file:$HOME/downloads/pip frappe-bench | version: "3" | |
| services: | |
| backend: | |
| image: frappe/erpnext:v14.12.0 | |
| deploy: | |
| restart_policy: | |
| condition: on-failure | |
| volumes: | |
| - sites:/home/frappe/frappe-bench/sites |