-
-
Notifications
You must be signed in to change notification settings - Fork 111
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 1 commit
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,178 @@ | |||||||||||||||||
| [](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.
|
||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Architecture | ||||||||||||||||||
|
|
||||||||||||||||||
| LibreSign installs all required binaries in standalone mode inside the Nextcloud data directory. | ||||||||||||||||||
| This design improves portability and avoids dependency conflicts with the host system. | ||||||||||||||||||
|
|
||||||||||||||||||
| It does not require: | ||||||||||||||||||
|
|
||||||||||||||||||
| - System-wide Java installation | ||||||||||||||||||
| - System-wide PDFtk installation | ||||||||||||||||||
| - External certificate authority configuration | ||||||||||||||||||
|
|
||||||||||||||||||
| 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). | ||||||||||||||||||
| All cryptographic operations are self-contained within Nextcloud. | ||||||||||||||||||
|
yharroch marked this conversation as resolved.
Outdated
|
||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## 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. | ||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Requirements | ||||||||||||||||||
|
|
||||||||||||||||||
| - PHP: Must meet the minimum version required by the supported Nextcloud version. | ||||||||||||||||||
| - NodeJS: Required for development builds only. | ||||||||||||||||||
|
|
||||||||||||||||||
|
yharroch marked this conversation as resolved.
Outdated
|
||||||||||||||||||
| ### 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/index.html | ||||||||||||||||||
|
yharroch marked this conversation as resolved.
Outdated
|
||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Security | ||||||||||||||||||
|
|
||||||||||||||||||
| LibreSign uses certificate-based digital signatures and follows best practices for secure document validation. | ||||||||||||||||||
|
|
||||||||||||||||||
| For responsible disclosure and security policy, please see [SECURITY.md](SECURITY.md). | ||||||||||||||||||
|
yharroch marked this conversation as resolved.
Outdated
|
||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Contributing | ||||||||||||||||||
|
|
||||||||||||||||||
| We welcome contributions! | ||||||||||||||||||
|
|
||||||||||||||||||
| - Bug reports and feature requests: Issues tab | ||||||||||||||||||
| - Code contributions: Pull Requests | ||||||||||||||||||
| - Translations: Transifex https://app.transifex.com/nextcloud/nextcloud/libresign | ||||||||||||||||||
| - Documentation improvements: https://github.com/LibreSign/documentation | ||||||||||||||||||
| - To get more details go to our [contributing guide](CONTRIBUTING.md). | ||||||||||||||||||
|
|
||||||||||||||||||
| [](https://github.com/LibreSign/libresign/issues/new?template=feature_request.yml) | ||||||||||||||||||
| [](https://github.com/LibreSign/libresign/issues/new?template=bug_report.yml) | ||||||||||||||||||
|
yharroch marked this conversation as resolved.
Outdated
|
||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## License | ||||||||||||||||||
|
|
||||||||||||||||||
| LibreSign (this repository) is licensed under the **GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later)**. | ||||||||||||||||||
| - 📂 All licenses: [LICENSES/](LICENSES/) | ||||||||||||||||||
| - 📘 Also in Documentation repository: https://github.com/LibreSign/documentation/blob/main/LICENSE | ||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
|
yharroch marked this conversation as resolved.
Outdated
|
||||||||||||||||||
| ## 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 +188,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 | ||||||||||||||||||
|
yharroch marked this conversation as resolved.
Outdated
|
||||||||||||||||||
|
|
||||||||||||||||||
| [](https://www.star-history.com/#libresign/libresign&Date) | ||||||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.