diff --git a/.gitignore b/.gitignore index d14f4595..603b03bd 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,6 @@ yarn-debug.log* /ee dump.rdb *.onnx + +pd-data/* +docuseal/* \ No newline at end of file diff --git a/README.md b/README.md index 9e6b2f04..b2b936de 100644 --- a/README.md +++ b/README.md @@ -1,107 +1,79 @@ -

-
- - DocuSeal -
-
- DocuSeal -
-

-

- Open source document filling and signing -

-

- - Docker releases - - - - - - Follow @docusealco - -

-

-DocuSeal is an open source platform that provides secure and efficient digital document signing and processing. Create PDF forms to have them filled and signed online on any device with an easy-to-use, mobile-optimized web tool. -

-

- ✨ Live Demo - | - ☁️ Try in Cloud -

- -[![Demo](https://github.com/docusealco/docuseal/assets/5418788/d8703ea3-361a-423f-8bfe-eff1bd9dbe14)](https://demo.docuseal.tech) - -## Features -- PDF form fields builder (WYSIWYG) -- 12 field types available (Signature, Date, File, Checkbox etc.) -- Multiple submitters per document -- Automated emails via SMTP -- Files storage on disk or AWS S3, Google Storage, Azure Cloud -- Automatic PDF eSignature -- PDF signature verification -- Users management -- Mobile-optimized -- 7 UI languages with signing available in 14 languages -- API and Webhooks for integrations -- Easy to deploy in minutes - -## Pro Features -- Company logo and white-label -- User roles -- Automated reminders -- Invitation and identify verification via SMS +# DocuSeal like-a-Pro (Community Edition) + +> Fork of [DocuSeal](https://github.com/docusealco/docuseal) with select Pro features "unlocked" (read: vibe-coded) as open source. + +This fork adds features that are paywalled in the official DocuSeal Pro offering, making them available for self-hosted deployments under the same AGPL-3.0 license. + +I never had any access to the Pro Version and I have no idea how DocuSeal LLC implemented these features. I don't even think if "white-room" copy is applicable here, but I did not copy or use any copyright protected source code from DocuSeal LLC. These changes here are "designed" by the official API documentation and feature spotlights on the website. + + +## vibe-coded "Pro" Features + +| Feature | Status | Description | +|---------|--------|-------------| +| Company logo / white-label | Done | Upload your logo in Settings > Personalization. Displayed in signing forms and emails. | +| Automated reminders | Done | Configure reminder intervals per-account. Pending signers receive scheduled follow-up emails. | +| Template creation via API | Done | `POST /api/templates/pdf` and `PUT /api/templates/:id/documents` — create and manage templates programmatically with field coordinates or embedded text tags. | +| Professional email design | Done | Table-based responsive email layout with company branding, styled CTA buttons, and proper footer. | + +See [`docs/API.md`](docs/API.md) for full API reference on the new endpoints. + +## What's NOT included + +These Pro features remain unavailable in this fork (they require significant UI/infrastructure work): + +- SMS invitation and verification - Conditional fields and formulas -- Bulk send with CSV, XLSX spreadsheet import +- Bulk send with CSV/XLSX import - SSO / SAML -- Template creation with HTML API ([Guide](https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api)) -- Template creation with PDF or DOCX and field tags API ([Guide](https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form)) -- Embedded signing form ([React](https://github.com/docusealco/docuseal-react), [Vue](https://github.com/docusealco/docuseal-vue), [Angular](https://github.com/docusealco/docuseal-angular) or [JavaScript](https://www.docuseal.com/docs/embedded)) -- Embedded document form builder ([React](https://github.com/docusealco/docuseal-react), [Vue](https://github.com/docusealco/docuseal-vue), [Angular](https://github.com/docusealco/docuseal-angular) or [JavaScript](https://www.docuseal.com/docs/embedded)) -- [Learn more](https://www.docuseal.com/pricing) +- Template creation with HTML or DOCX API +- Embedded form builder components ## Deploy -|Heroku|Railway| -|:--:|:---:| -| [Deploy on Heroku](https://heroku.com/deploy?template=https://github.com/docusealco/docuseal-heroku) | [Deploy on Railway](https://railway.com/deploy/IGoDnc?referralCode=ruU7JR)| -|**DigitalOcean**|**Render**| -| [Deploy on DigitalOcean](https://cloud.digitalocean.com/apps/new?repo=https://github.com/docusealco/docuseal-digitalocean/tree/master&refcode=421d50f53990) | [Deploy to Render](https://render.com/deploy?repo=https://github.com/docusealco/docuseal-render) - -#### Docker +#### Docker Compose (recommended) ```sh -docker run --name docuseal -p 3000:3000 -v.:/data docuseal/docuseal +git clone https://github.com/s256/docuseal-with-some-pro-features.git +cd docuseal +docker compose up --build ``` -By default DocuSeal docker container uses an SQLite database to store data and configurations. Alternatively, it is possible use PostgreSQL or MySQL databases by specifying the `DATABASE_URL` env variable. +The app will be available at `http://localhost:3000`. -#### Docker Compose +To run behind a reverse proxy with SSL, uncomment the Caddy service in `docker-compose.yml` and set your domain: -Download docker-compose.yml into your private server: ```sh -curl https://raw.githubusercontent.com/docusealco/docuseal/master/docker-compose.yml > docker-compose.yml +HOST=your-domain.com docker compose up --build ``` -Run the app under a custom domain over https using docker compose (make sure your DNS points to the server to automatically issue ssl certs with Caddy): +#### Docker (standalone) + ```sh -sudo HOST=your-domain-name.com docker compose up +docker build -t docuseal . +docker run --name docuseal -p 3000:3000 -v ./docuseal:/data/docuseal docuseal ``` -## For Businesses -### Integrate seamless document signing into your web or mobile apps with DocuSeal +Uses PostgreSQL by default (see `docker-compose.yml`). For SQLite, use the upstream image or omit `DATABASE_URL`. -At DocuSeal we have expertise and technologies to make documents creation, filling, signing and processing seamlessly integrated with your product. We specialize in working with various industries, including **Banking, Healthcare, Transport, Real Estate, eCommerce, KYC, CRM, and other software products** that require bulk document signing. By leveraging DocuSeal, we can assist in reducing the overall cost of developing and processing electronic documents while ensuring security and compliance with local electronic document laws. +## Upstream Features -[Book a Meeting](https://www.docuseal.com/contact) +All features from the base DocuSeal OSS are included: -## License +- PDF form fields builder (WYSIWYG) +- 12 field types (Signature, Date, File, Checkbox, etc.) +- Multiple submitters per document +- Automated emails via SMTP +- File storage on disk or S3/GCS/Azure +- Automatic PDF eSignature and verification +- Users management +- Mobile-optimized +- UI in 7 languages, signing in 14 languages +- API and Webhooks +- Easy deployment -Distributed under the AGPLv3 License with Section 7(b) Additional Terms. See [LICENSE](https://github.com/docusealco/docuseal/blob/master/LICENSE) and [LICENSE_ADDITIONAL_TERMS](https://github.com/docusealco/docuseal/blob/master/LICENSE_ADDITIONAL_TERMS) for more information. -Unless otherwise noted, all files © 2023-2026 DocuSeal LLC. +## License -## Tools +Distributed under the AGPLv3 License with Section 7(b) Additional Terms. See [LICENSE](LICENSE) and [LICENSE_ADDITIONAL_TERMS](LICENSE_ADDITIONAL_TERMS) for more information. -- [Signature Maker](https://www.docuseal.com/online-signature) -- [Sign Document Online](https://www.docuseal.com/sign-documents-online) -- [Fill PDF Online](https://www.docuseal.com/fill-pdf) +Original work © 2023-2026 DocuSeal LLC. Modifications in this fork are released under the same license. diff --git a/docker-compose.yml b/docker-compose.yml index fcc697be..920f9ee7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,9 @@ services: depends_on: postgres: condition: service_healthy - image: docuseal/docuseal:latest + build: + context: . + dockerfile: Dockerfile ports: - 3000:3000 volumes: @@ -26,14 +28,14 @@ services: timeout: 5s retries: 5 - caddy: - image: caddy:latest - command: caddy reverse-proxy --from $HOST --to app:3000 - ports: - - 80:80 - - 443:443 - - 443:443/udp - volumes: - - ./caddy:/data/caddy - environment: - - HOST=${HOST} + # caddy: + # image: caddy:latest + # command: caddy reverse-proxy --from $HOST --to app:3000 + # ports: + # - 80:80 + # - 443:443 + # - 443:443/udp + # volumes: + # - ./caddy:/data/caddy + # environment: + # - HOST=${HOST}