renovate[bot] a2e36336ad chore(deps): update typescript-projects (#56)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-02 00:06:14 -04:00
2026-06-01 12:49:57 +02:00
2025-09-03 15:24:35 +00:00
2025-09-16 19:07:12 +01:00
2025-09-03 15:24:25 +00:00
2026-03-11 17:43:10 +00:00
2025-09-03 15:24:31 +00:00

Immich Workers

Monorepo for Immich Cloudflare Workers (backend-only/API services).

Structure

apps/
├── hello/          # Hello world example worker
├── datasets/       # Datasets API worker
└── .../           # Other worker applications

deployment/
├── modules/        # Terraform modules
└── terragrunt/     # Terragrunt configurations

src/
└── lib/           # Shared libraries and utilities

Development

Setup

npm install

Working with Individual Workers

cd apps/<worker-name>
npm install
npm run dev     # Start development server
npm run test    # Run tests
npm run build   # Build for production
npm run deploy  # Deploy to Cloudflare

Global Commands

npm run lint        # Lint all workers
npm run format      # Check formatting
npm run test        # Run all tests
npm run typecheck   # Type-check all workers

Deployment

Using Wrangler (Direct)

cd apps/<worker-name>
npm run deploy

Using Terraform/Terragrunt

cd deployment/terragrunt/<environment>/<worker-name>
terragrunt plan
terragrunt apply

Creating a New Worker

  1. Create directory: apps/<worker-name>/
  2. Add package.json, wrangler.toml, tsconfig.json
  3. Create source in src/index.ts
  4. Add terraform module in deployment/modules/cloudflare/workers/<worker-name>/
  5. Add terragrunt config in deployment/terragrunt/

Environment Variables

Workers use .dev.vars for local development and Cloudflare secrets for production.

Example .dev.vars:

MY_SECRET=secret_value
API_KEY=test_key
S
Description
Assortment of services, apis, webhooks, and other misc things.
Readme
2.8 MiB
Languages
TypeScript 87.4%
HCL 11.5%
JavaScript 0.6%
Shell 0.5%