JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 25
  • Score
    100M100P100Q57287F
  • License MIT

Compile Cloudflare Workers to Cap'n Proto and deliver them as Docker images.

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (selflare) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Selflare

    Compile Cloudflare Workers to Cap'n Proto and deliver them as minimalist Docker images.

    Features

    • Cloudflare Worker
    • Cloudflare KV
    • Cloudflare D1
    • Cloudflare R2
    • Cloudflare DO
    • Cache API
    • Cloudflare Vectorize
    • Environment Variables

    Usage

    Install the CLI with npm i -g selflare and run the following commands in the directory of your worker:

    selflare compile   # Compile the worker to Cap'n Proto
    selflare docker    # Generate Dockerfile and docker-compose.yml
    docker compose up  # Run the worker

    Environment Variables

    All the environment variables defined in [vars] section of the wrangler.toml file will be replaced by the corresponding environment variables in the Docker container.

    You can simply set the environment variables in the docker-compose.yml file like this:

    version: "3.8"
    
    services:
        worker:
            build: .
            image: worker
            volumes:
                - ./.storage/cache:/worker/cache
                - ./.storage/kv:/worker/kv
                - ./.storage/d1:/worker/d1
                - ./.storage/r2:/worker/r2
            ports:
                - "8080:8080"
            environment:
                - SOME_TOKEN=I_AM_A_TOKEN

    The image is based on jacoblincool/workerd which has a size of 35MB (compressed) and supports both amd64 and arm64 architectures.