-
-
Notifications
You must be signed in to change notification settings - Fork 105
improve README structure and installation instructions #6988
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
76cbc9c
e403417
7156cac
e5dbfa8
6f88f4f
c0a6391
7c14cc9
c1950bd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -8,30 +8,164 @@ | |||||||||||||||||
| [](https://api.reuse.software/info/github.com/LibreSign/libresign) | ||||||||||||||||||
| [](https://github.com/LibreSign/libresign/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22good+first+issue%22) | ||||||||||||||||||
|
|
||||||||||||||||||
| Nextcloud app to sign PDF documents. | ||||||||||||||||||
| # LibreSign for Nextcloud | ||||||||||||||||||
|
|
||||||||||||||||||
| <img src="img/LibreSign.png" /> | ||||||||||||||||||
| LibreSign is a digital signature application for Nextcloud that enables secure document signing workflows directly within your self-hosted environment. | ||||||||||||||||||
|
|
||||||||||||||||||
| [](https://github.com/LibreSign/libresign/issues/new?template=feature_request.yml) | ||||||||||||||||||
| [](https://github.com/LibreSign/libresign/issues/new?template=bug_report.yml) | ||||||||||||||||||
| It supports internal and external signers, certificate-based signatures, and full document lifecycle management. | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Star History | ||||||||||||||||||
| ## Why LibreSign? | ||||||||||||||||||
|
|
||||||||||||||||||
| [](https://www.star-history.com/#libresign/libresign&Date) | ||||||||||||||||||
| - Fully self-hosted digital signature solution | ||||||||||||||||||
| - Integrated with Nextcloud ecosystem | ||||||||||||||||||
| - Supports internal and external signers | ||||||||||||||||||
| - Open source (AGPL-3.0) | ||||||||||||||||||
| - Extensible API | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Contributing | ||||||||||||||||||
| --- | ||||||||||||||||||
| ## Quick Links | ||||||||||||||||||
|
|
||||||||||||||||||
| - 📖 [Full Documentation](https://github.com/LibreSign/documentation) | ||||||||||||||||||
| - 🐛 [Report a bug](https://github.com/LibreSign/libresign/issues/new?template=bug_report.yml) | ||||||||||||||||||
| - 💡 [Request a feature](https://github.com/LibreSign/libresign/issues/new?template=feature_request.yml) | ||||||||||||||||||
| - 🌍 [Translations (Transifex)](https://app.transifex.com/nextcloud/nextcloud/libresign) | ||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Who is this for? | ||||||||||||||||||
|
|
||||||||||||||||||
| - 🛠 Nextcloud administrators who want to deploy a digital signature solution | ||||||||||||||||||
| - 👤 End users who need to sign or request signatures on documents | ||||||||||||||||||
| - 🏢 Organizations looking for a self-hosted signature workflow | ||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Documentation | ||||||||||||||||||
|
|
||||||||||||||||||
| Complete guides are available for: | ||||||||||||||||||
|
|
||||||||||||||||||
| - 🔧 Administrators (installation, configuration, certificates) | ||||||||||||||||||
| - 👥 Users (how to request and sign documents) | ||||||||||||||||||
| - 🧪 Developers (architecture and API) | ||||||||||||||||||
|
|
||||||||||||||||||
| 👉 https://github.com/LibreSign/documentation | ||||||||||||||||||
|
Comment on lines
+46
to
+50
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The follow suggestion will reduce a bit more:
Suggested change
|
||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Installation | ||||||||||||||||||
|
|
||||||||||||||||||
| LibreSign can be installed from the Nextcloud App Store or manually. | ||||||||||||||||||
|
|
||||||||||||||||||
| After enabling the app, administrators must install required standalone dependencies and configure certificates. | ||||||||||||||||||
|
|
||||||||||||||||||
| ### 1️⃣ Install dependencies | ||||||||||||||||||
| Run the following command as your web server user: | ||||||||||||||||||
| `occ libresign:install --java --pdftk --jsignpdf` | ||||||||||||||||||
|
|
||||||||||||||||||
| This will install: | ||||||||||||||||||
| - Java (standalone JRE) | ||||||||||||||||||
| - PDFtk | ||||||||||||||||||
| - JSignPdf | ||||||||||||||||||
|
|
||||||||||||||||||
| All binaries are installed inside the Nextcloud `data/appdata_*/libresign` directory. | ||||||||||||||||||
| No system-wide installation is required. | ||||||||||||||||||
|
|
||||||||||||||||||
| ### 2️⃣ Verify installation | ||||||||||||||||||
| `sudo -u www-data php /path/to/nextcloud/occ libresign:configure:check` | ||||||||||||||||||
|
|
||||||||||||||||||
| This command verifies: | ||||||||||||||||||
| - Java availability | ||||||||||||||||||
| - PDFtk setup | ||||||||||||||||||
| - JSignPdf setup | ||||||||||||||||||
| - OpenSSL configuration | ||||||||||||||||||
| - Certificate environment | ||||||||||||||||||
|
|
||||||||||||||||||
| ### 3️⃣ Configure root certificate | ||||||||||||||||||
| You can generate a certificate using OpenSSL or CFSSL. | ||||||||||||||||||
|
|
||||||||||||||||||
| Example using OpenSSL: | ||||||||||||||||||
| `sudo -u www-data php /path/to/nextcloud/occ libresign:configure:openssl --cn="Your Organization - Digital Signature" --o="Your Organization" --c="FR" --st="Region" --l="City"` | ||||||||||||||||||
|
|
||||||||||||||||||
| Certificates are generated and stored inside the Nextcloud data directory: `nextcloud_data_dir/appdata_*/libresign` | ||||||||||||||||||
|
|
||||||||||||||||||
| No additional server-level configuration is required. | ||||||||||||||||||
|
Comment on lines
+60
to
+90
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I suggest to remove from here and move those steps to https://docs.libresign.coop/admin_manual/, too long to stay here at README. At the docs page would be good to split between automatic (using interface) and handmade setup (with commands). |
||||||||||||||||||
|
|
||||||||||||||||||
| 📖 For full configuration details, advanced setups, and troubleshooting: | ||||||||||||||||||
| https://github.com/LibreSign/documentation | ||||||||||||||||||
vitormattos marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
|
|
||||||||||||||||||
| LibreSign runs entirely inside your Nextcloud environment. | ||||||||||||||||||
|
|
||||||||||||||||||
| All cryptographic operations are self-contained and executed server-side. No external services are required and no document data leaves your infrastructure. | ||||||||||||||||||
|
|
||||||||||||||||||
| There are many ways to contribute, including writing code, filing issues on GitHub, helping people Overflow, helping to triage, reproduce, or fix bugs that people have filed, adding to our documentation. | ||||||||||||||||||
| To get more details go to our [contributing guide](CONTRIBUTING.md). | ||||||||||||||||||
| LibreSign manages its own internal Certificate Authority (CA), ensuring full control over keys, signatures and alignment with data protection regulations. | ||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## How it works | ||||||||||||||||||
|
|
||||||||||||||||||
| 1. A user uploads a document. | ||||||||||||||||||
| 2. The user defines signers (internal or external). | ||||||||||||||||||
| 3. Signers receive a notification or link. | ||||||||||||||||||
| 4. The document is signed and stored in Nextcloud. | ||||||||||||||||||
| 5. Signature validation and certificate verification are performed automatically. | ||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ### Additional dependencies: | ||||||||||||||||||
| - poppler-utils | ||||||||||||||||||
| - System locale configured with UTF-8 charset | ||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Integrations | ||||||||||||||||||
|
|
||||||||||||||||||
| * [GLPI](https://github.com/LibreSign/libresign-glpi): Plugin to sign GLPI tickets | ||||||||||||||||||
| * [Approval](https://github.com/nextcloud/approval): Approve/reject files based on workflows defined by admins | ||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## API Documentation | ||||||||||||||||||
|
|
||||||||||||||||||
| [API Documentation](https://libresign.github.io/) | ||||||||||||||||||
| Developer manual: https://docs.libresign.coop/developer_manual/ | ||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Security | ||||||||||||||||||
|
|
||||||||||||||||||
| LibreSign uses certificate-based digital signatures built on a private PKI managed within your Nextcloud environment. | ||||||||||||||||||
|
|
||||||||||||||||||
| It supports certificate revocation (CRL), trusted time-stamping (TSA), and document certification levels (DocMDP), ensuring integrity, authenticity and long-term validation of signed documents. | ||||||||||||||||||
|
|
||||||||||||||||||
| All cryptographic operations are performed server-side and remain under your infrastructure control. | ||||||||||||||||||
|
|
||||||||||||||||||
| For responsible disclosure and security policy, please see [SECURITY.md](SECURITY.md). | ||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Contributing | ||||||||||||||||||
|
|
||||||||||||||||||
| LibreSign is an open source project and welcomes contributions. | ||||||||||||||||||
|
|
||||||||||||||||||
| You can contribute by: | ||||||||||||||||||
|
|
||||||||||||||||||
| - Opening issues for bugs and feature requests | ||||||||||||||||||
| - Contributing code improvements | ||||||||||||||||||
| - Improving translations on [Transifex](https://app.transifex.com/nextcloud/nextcloud/libresign) | ||||||||||||||||||
| - Contributing to the [documentation repository](https://github.com/LibreSign/documentation) | ||||||||||||||||||
| - Supporting the project via [GitHub Sponsors](https://github.com/sponsors/LibreSign) | ||||||||||||||||||
|
|
||||||||||||||||||
| See our [Contributing Guide](CONTRIBUTING.md) for details. | ||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Screenshots | ||||||||||||||||||
|
|
||||||||||||||||||
| <p align="center"> | ||||||||||||||||||
| <img src="img/LibreSign.png" alt="LibreSign interface screenshot" width="900"/> | ||||||||||||||||||
| </p> | ||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
|
Comment on lines
+162
to
169
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Need to update the screenshot: |
||||||||||||||||||
| ## Contributors ✨ | ||||||||||||||||||
|
|
||||||||||||||||||
|
|
@@ -40,3 +174,7 @@ Thanks go to these wonderful people: | |||||||||||||||||
| <a href="https://github.com/LibreSign/libresign/graphs/contributors"> | ||||||||||||||||||
| <img src="https://contrib.rocks/image?repo=LibreSign/libresign" /> | ||||||||||||||||||
| </a> | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Star history | ||||||||||||||||||
|
|
||||||||||||||||||
| [](https://www.star-history.com/#libresign/libresign&Date) | ||||||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.