Octane
Source:
src/AWS/Website/Octane.ts
Deploy an OctaneJS application to AWS: Octane’s SSR server on a streaming Lambda Function URL, static assets in S3, and a CloudFront distribution whose edge router serves uploaded files from S3 and forwards everything else to the server.
The build runs through @alchemy.run/frontend-frameworks/octane with the
@alchemy.run/frontend-frameworks/octane/aws deploy target — the project’s
own vite build (with @octanejs/vite-plugin) produces the
self-contained node server bundle, and the target’s finishing pass wraps
its fetch handler as a streaming Lambda handler. The project’s
octane.config.ts must select the AWS marker adapter:
import { aws } from "@alchemy.run/frontend-frameworks/octane/aws-adapter";import { defineConfig } from "@octanejs/vite-plugin";
export default defineConfig({ adapter: aws(), // ...});Creating Octane Sites
Section titled “Creating Octane Sites”Basic Octane App
const site = yield* AWS.Website.Octane("Web", { rootDir: "./app",});Custom Domain
const site = yield* AWS.Website.Octane("Web", { rootDir: "./app", domain: { name: "app.example.com", hostedZoneId: zone.hostedZoneId, },});Server Configuration
Section titled “Server Configuration”const site = yield* AWS.Website.Octane("Web", { rootDir: "./app", server: { memorySize: 2048, environment: { API_BASE: api.url, }, },});