https://github.com/zextras/carbonio-docs-core
Carbonio core components for Docs Editor
https://github.com/zextras/carbonio-docs-core
carbonio carbonio-component carbonio-docs collaboration collaboration-suite email email-server oss
Last synced: 4 months ago
JSON representation
Carbonio core components for Docs Editor
- Host: GitHub
- URL: https://github.com/zextras/carbonio-docs-core
- Owner: zextras
- License: agpl-3.0
- Created: 2023-01-18T15:30:32.000Z (over 3 years ago)
- Default Branch: devel
- Last Pushed: 2026-02-11T16:30:34.000Z (4 months ago)
- Last Synced: 2026-02-11T18:03:09.771Z (4 months ago)
- Topics: carbonio, carbonio-component, carbonio-docs, collaboration, collaboration-suite, email, email-server, oss
- Language: Shell
- Homepage: https://zextras.com/carbonio
- Size: 58.6 KB
- Stars: 0
- Watchers: 7
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Carbonio Docs Core
Carbonio Docs Core is the build and packaging repository for the LibreOffice-based document processing engine that powers the Zextras Carbonio Docs collaborative editing feature. It compiles a headless, server-optimized LibreOffice core along with the POCO C++ networking libraries, producing DEB and RPM packages for deployment.
## Overview
This repository contains packaging definitions (PKGBUILD files) and build configurations for two main components:
- **docs-core** - A customized, headless LibreOffice core (v25.04.3) configured for server-side document processing. GUI, desktop integration, and optional features are disabled to produce a lean document conversion and rendering engine.
- **poco** - The POCO C++ class libraries (v1.14.1) for network-centric applications, required as a dependency by Carbonio Docs Server.
Packages are installed under `/opt/zextras/docs/` with LibreOfficeKit headers in `/opt/zextras/common/include/LibreOfficeKit` and PyUNO Python bindings symlinked into the system Python path.
## Quick Start
### Prerequisites
Building requires `yap` and `podman` installed on the host system. The PKGBUILD files declare all distribution-specific build and runtime dependencies, which are resolved automatically during the build process.
**Ubuntu (APT) build dependencies** include: autoconf, automake, bison, clang, flex, cmake, ninja-build, and various development libraries.
**RHEL (YUM) build dependencies** include: automake, bison, clang, cmake, ninja-build, gcc-c++, and various development libraries.
See the `PKGBUILD` files in `docs-core/` and `poco/` for the complete dependency lists.
### Dependencies
This project requires custom packages from
[carbonio-thirds](https://github.com/zextras/carbonio-thirds) (e.g.
`carbonio-openssl`, `carbonio-curl`). To build them locally:
```bash
git clone https://github.com/zextras/carbonio-thirds.git ../carbonio-thirds
cd ../carbonio-thirds
make build TARGET=ubuntu-noble
cd -
```
Then pass the artifacts directory when building this project (see below).
### Building Packages
```bash
# Build all packages for Ubuntu 24.04 (with local dependencies)
make build TARGET=ubuntu-noble DEPS_DIR=../carbonio-thirds/artifacts
# Build for Rocky Linux 9
make build TARGET=rocky-9 DEPS_DIR=../carbonio-thirds/artifacts
```
### Supported Targets
- `ubuntu-jammy` - Ubuntu 22.04 LTS
- `ubuntu-noble` - Ubuntu 24.04 LTS
- `rocky-8` - Rocky Linux 8
- `rocky-9` - Rocky Linux 9
Run `make help` to see all available options.
## Installation
These packages are distributed as part of the [Carbonio platform](https://zextras.com/carbonio). To install:
### Ubuntu (Jammy/Noble)
```bash
apt-get install
```
### Rocky Linux (8/9)
```bash
yum install
```
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for information on how to contribute to this project.
## License
This project is licensed under the GNU Affero General Public License v3.0 - see the [LICENSE.md](LICENSE.md) file for details.