Skip to content

enparadigm/ghostscript-lambda-layer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ghostscript for AWS Lambda

Scripts to compile Ghostscript (gs) for AWS Lambda instances powered by Amazon Linux 2.x, such as -

  • nodejs18.x
  • nodejs16.x
  • nodejs14.x

Usage

Absolutely the easiest way of using this is to pull it directly from the AWS Serverless Application repository into a CloudFormation/SAM application, or deploy directly from the Serverless Application Repository into your account, and then link as a layer.

For more information, check out the ghostscript-lambda-layer application in the Serverless App Repository.

For manual deployments and custom builds, read below...

Prerequisites

  • Docker desktop
  • Unix Make environment
  • AWS command line utilities (just for deployment)

Compiling the code

  • start Docker services
  • make all

There are two make scripts in this project.

  • Makefile is intended to run on the build system, and just starts a Docker container matching the AWS Linux 2 environment for Lambda runtimes to compile Ghostscript using the second script.
  • Makefile_gs is the script that will run inside the container, and actually compile binaries.

The output will be in the result dir.

Configuring the build

By default, this compiles a version expecting to run as a Lambda layer from /opt. You can change the expected location by providing a TARGET variable when invoking make.

The default Docker image used is lambci/lambda-base-2:build. To use a different base, provide a DOCKER_IMAGE variable when invoking make.

Modify the versions of libraries or Ghostscript directly in Makefile_gs.

Compiled info

ghostscript version 9.27

Deploying to AWS as a layer

Run the following command to deploy the compiled result as a layer in your AWS account.

make deploy DEPLOYMENT_BUCKET=<YOUR BUCKET NAME> [PROFILE="--profile <YOUR NAMED PROFILE FROM ~/.aws/credentials>"]
  • Default DEPLOYMENT_BUCKET is sharpsell-ghostscript-layer
  • Default PROFILE is --profile lambda-user

Configuring the deployment

By default, this uses ghostscript-layer as the stack name. Provide a STACK_NAME (defaults to sharpsell-ghostscript-layer) variable when calling make deploy to use an alternative name.

Additional Info

For more information, check out:

Author

Tomislav Capan

License

About

Ghostscript AWS Lambda layer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Makefile 100.0%