{"id":13522491,"url":"https://github.com/shelfio/libreoffice-lambda-layer","last_synced_at":"2025-06-10T08:08:56.920Z","repository":{"id":35497818,"uuid":"191536483","full_name":"shelfio/libreoffice-lambda-layer","owner":"shelfio","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-03T23:40:21.000Z","size":93443,"stargazers_count":115,"open_issues_count":24,"forks_count":25,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-06-04T07:15:31.918Z","etag":null,"topics":["aws","aws-lambda","lambda-layer","libreoffice"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shelfio.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-06-12T09:06:27.000Z","updated_at":"2025-04-21T03:30:34.000Z","dependencies_parsed_at":"2023-11-15T23:29:19.074Z","dependency_job_id":"c0070f5e-2489-4824-99c0-6694b9ca8533","html_url":"https://github.com/shelfio/libreoffice-lambda-layer","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelfio%2Flibreoffice-lambda-layer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelfio%2Flibreoffice-lambda-layer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelfio%2Flibreoffice-lambda-layer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelfio%2Flibreoffice-lambda-layer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shelfio","download_url":"https://codeload.github.com/shelfio/libreoffice-lambda-layer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelfio%2Flibreoffice-lambda-layer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259033839,"owners_count":22795772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-lambda","lambda-layer","libreoffice"],"created_at":"2024-08-01T06:00:47.897Z","updated_at":"2025-06-10T08:08:56.873Z","avatar_url":"https://github.com/shelfio.png","language":"Shell","funding_links":[],"categories":["Layers","Shell"],"sub_categories":["Utilities"],"readme":"# LibreOffice for AWS Lambda as a layer\n\n\u003e 95 MB LibreOffice to fit inside AWS Lambda Layer compressed with Brotli or gzip\n\nBased on the [serverless-libreoffice](https://github.com/vladgolubev/serverless-libreoffice) project.\n\n## Getting Started\n\nClick on Layers and choose \"Add a layer\", and \"Provide a layer version ARN\" and enter the following ARN.\n\n```\narn:aws:lambda:us-east-1:764866452798:layer:libreoffice-brotli:1\n```\n\nSee the table below for the list of supported regions and runtimes.\n\nWorks well with [aws-lambda-libreoffice npm package](https://github.com/shelfio/aws-lambda-libreoffice)\n\n## What's inside this layer?\n\n`libreoffice-brotli` layer contains `lo.tar.br` file which is [LibreOffice v6.4.0.1](https://github.com/vladgolubev/serverless-libreoffice/releases/tag/v6.4.0.1). Node.js has native Brotli unpacking support since version 10 so it's easy to unpack this file natively. Alternatively, you can use [aws-lambda-libreoffice npm package](https://github.com/shelfio/aws-lambda-libreoffice) to simplify this task.\n\n`libreoffice-gzip` layer contains `lo.tar.gz` file which is [LibreOffice v6.4.0.1](https://github.com/vladgolubev/serverless-libreoffice/releases/tag/v6.4.0.1).\n\n## How do I use this layer to launch LibreOffice?\n\nIf you don't use [aws-lambda-libreoffice npm package](https://github.com/shelfio/aws-lambda-libreoffice), then these steps are roughly what you need to do.\n\n1. This layer just adds `/opt/lo.tar.br` or `/opt/lo.tar.gz` file to your Lambda runtime\n2. Unpack `/opt/lo.tar.br` or `/opt/lo.tar.gz` file during Lambda execution into `/tmp` folder which has 512 MB of free space. Make sure to do this OUTSIDE function handler code.\n   This is an expensive task, so better to make it once on a warm start.\n3. LibreOffice binary will be located available at `/opt/instdir/program/soffice.bin`\n4. Check out `/test/index.js` for CLI arguments needed to run LibreOffice to convert a `.txt` file to `.pdf` for more details\n\n## Version ARNs\n\n### LibreOffice v6.4.0.1 (Amazon Linux 2)\n\nWorks with the following [AWS Lambda runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) which run on Amazon Linux 2:\n\n- nodejs16.x\n- nodejs14.x\n- nodejs12.x\n- nodejs10.x\n- python3.8\n- java11\n\n| AWS Region     | Layer ARN (brotli)                                                                                                                                    |\n|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|\n| us-east-1      | `arn:aws:lambda:us-east-1:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:us-east-1:764866452798:layer:libreoffice-gzip:1`           |\n| eu-west-1      | `arn:aws:lambda:eu-west-1:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:eu-west-1:764866452798:layer:libreoffice-gzip:1`           |\n| eu-central-1   | `arn:aws:lambda:eu-central-1:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:eu-central-1:764866452798:layer:libreoffice-gzip:1`     |\n| us-west-2      | `arn:aws:lambda:us-west-2:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:us-west-2:764866452798:layer:libreoffice-gzip:1`           |\n| us-east-2      | `arn:aws:lambda:us-east-2:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:us-east-2:764866452798:layer:libreoffice-gzip:1`           |\n| ap-southeast-2 | `arn:aws:lambda:ap-southeast-2:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:ap-southeast-2:764866452798:layer:libreoffice-gzip:1` |\n| eu-west-2      | `arn:aws:lambda:eu-west-2:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:eu-west-2:764866452798:layer:libreoffice-gzip:1`           |\n| eu-west-3      | `arn:aws:lambda:eu-west-3:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:eu-west-3:764866452798:layer:libreoffice-gzip:1`           |\n| ap-southeast-1 | `arn:aws:lambda:ap-southeast-1:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:ap-southeast-1:764866452798:layer:libreoffice-gzip:1` |\n| ap-south-1     | `arn:aws:lambda:ap-south-1:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:ap-south-1:764866452798:layer:libreoffice-gzip:1`         |\n| ca-central-1   | `arn:aws:lambda:ca-central-1:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:ca-central-1:764866452798:layer:libreoffice-gzip:1`     |\n| sa-east-1      | `arn:aws:lambda:sa-east-1:764866452798:layer:libreoffice-brotli:1` or \u003cbr\u003e `arn:aws:lambda:sa-east-1:764866452798:layer:libreoffice-gzip:1`           |\n\n### LibreOffice 6.1.0.0.alpha0 (Amazon Linux 1)\n\nWorks with the following [AWS Lambda runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) which run on Amazon Linux 2:\n\n- nodejs8.10\n- python3.7\n- python3.6\n- python2.7\n- ruby2.5\n- java8\n- go1.x\n- dotnetcore2.1\n\n| AWS Region     | LibreOffice Version | Layer ARN                                                        |\n| -------------- | ------------------- | ---------------------------------------------------------------- |\n| us-east-1      | 6.1.0.0.alpha0      | `arn:aws:lambda:us-east-1:764866452798:layer:libreoffice:8`      |\n| eu-west-1      | 6.1.0.0.alpha0      | `arn:aws:lambda:eu-west-1:764866452798:layer:libreoffice:1`      |\n| eu-central-1   | 6.1.0.0.alpha0      | `arn:aws:lambda:eu-central-1:764866452798:layer:libreoffice:1`   |\n| us-west-2      | 6.1.0.0.alpha0      | `arn:aws:lambda:us-west-2:764866452798:layer:libreoffice:1`      |\n| us-east-2      | 6.1.0.0.alpha0      | `arn:aws:lambda:us-east-2:764866452798:layer:libreoffice:1`      |\n| ap-southeast-2 | 6.1.0.0.alpha0      | `arn:aws:lambda:ap-southeast-2:764866452798:layer:libreoffice:1` |\n| eu-west-2      | 6.1.0.0.alpha0      | `arn:aws:lambda:eu-west-2:764866452798:layer:libreoffice:1`      |\n| ap-southeast-1 | 6.1.0.0.alpha0      | `arn:aws:lambda:ap-southeast-1:764866452798:layer:libreoffice:1` |\n| ap-south-1     | 6.1.0.0.alpha0      | `arn:aws:lambda:ap-south-1:764866452798:layer:libreoffice:1`     |\n\n## License\n\nMIT © [Shelf](https://shelf.io)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshelfio%2Flibreoffice-lambda-layer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshelfio%2Flibreoffice-lambda-layer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshelfio%2Flibreoffice-lambda-layer/lists"}