percher 0.5.24 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/LICENSE +132 -0
  2. package/THIRD-PARTY-NOTICES.txt +1228 -0
  3. package/dist/bin/percher.js +64485 -72730
  4. package/dist/package.json +10 -8
  5. package/dist/src/commands/account.js +5 -5
  6. package/dist/src/commands/account.js.map +1 -1
  7. package/dist/src/commands/admin.d.ts.map +1 -1
  8. package/dist/src/commands/admin.js +180 -15
  9. package/dist/src/commands/admin.js.map +1 -1
  10. package/dist/src/commands/analytics.js +1 -1
  11. package/dist/src/commands/apps.js +2 -2
  12. package/dist/src/commands/auth.js +1 -1
  13. package/dist/src/commands/data.js +1 -1
  14. package/dist/src/commands/deploys.d.ts.map +1 -1
  15. package/dist/src/commands/deploys.js +24 -2
  16. package/dist/src/commands/deploys.js.map +1 -1
  17. package/dist/src/commands/env.js +3 -3
  18. package/dist/src/commands/export.js +1 -1
  19. package/dist/src/commands/github.js +1 -1
  20. package/dist/src/commands/hooks.js +1 -1
  21. package/dist/src/commands/migrate.js +1 -1
  22. package/dist/src/commands/sharing.js +1 -1
  23. package/dist/src/commands/status.js +1 -1
  24. package/dist/src/commands/token.js +1 -1
  25. package/dist/src/commands/transfers.js +1 -1
  26. package/dist/src/context.js +3 -3
  27. package/dist/src/index.js +21 -21
  28. package/dist/src/version-check.d.ts +2 -0
  29. package/dist/src/version-check.d.ts.map +1 -1
  30. package/dist/src/version-check.js +23 -2
  31. package/dist/src/version-check.js.map +1 -1
  32. package/dist/templates/LICENSE +14 -0
  33. package/dist/templates/astro/Dockerfile +51 -35
  34. package/dist/templates/astro/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  35. package/dist/templates/bun/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  36. package/dist/templates/capsule/Dockerfile +30 -12
  37. package/dist/templates/capsule/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  38. package/dist/templates/django/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  39. package/dist/templates/django/percher.toml +1 -0
  40. package/dist/templates/dotnet/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  41. package/dist/templates/eleventy/Dockerfile +51 -35
  42. package/dist/templates/eleventy/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  43. package/dist/templates/elysia/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  44. package/dist/templates/express/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  45. package/dist/templates/express/package.json +2 -1
  46. package/dist/templates/fastify/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  47. package/dist/templates/fastify/package.json +2 -1
  48. package/dist/templates/flask/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  49. package/dist/templates/flask/percher.toml +1 -0
  50. package/dist/templates/flask/requirements.txt +1 -0
  51. package/dist/templates/go/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  52. package/dist/templates/hono/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  53. package/dist/templates/hono/index.ts +4 -2
  54. package/dist/templates/hono/package.json +3 -1
  55. package/dist/templates/htmx/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  56. package/dist/templates/htmx/package.json +1 -1
  57. package/dist/templates/hugo/Dockerfile +49 -33
  58. package/dist/templates/hugo/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  59. package/dist/templates/java/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  60. package/dist/templates/laravel/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  61. package/dist/templates/nextjs/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  62. package/dist/templates/node/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  63. package/dist/templates/nuxt/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  64. package/dist/templates/phoenix/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  65. package/dist/templates/preact/Dockerfile +51 -35
  66. package/dist/templates/preact/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  67. package/dist/templates/python/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  68. package/dist/templates/rails/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  69. package/dist/templates/remix/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  70. package/dist/templates/remix/app/routes/health.tsx +3 -1
  71. package/dist/templates/rust/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  72. package/dist/templates/solid/Dockerfile +51 -35
  73. package/dist/templates/solid/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  74. package/dist/templates/static/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  75. package/dist/templates/sveltekit/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  76. package/dist/templates/sveltekit/package.json +1 -1
  77. package/dist/templates/vite-react/Dockerfile +51 -35
  78. package/dist/templates/vite-react/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  79. package/dist/templates/vite-vue/Dockerfile +51 -35
  80. package/dist/templates/vite-vue/PERCHER-TEMPLATE-LICENSE.txt +14 -0
  81. package/package.json +10 -8
  82. package/dist/context.d.ts +0 -3
  83. package/dist/context.d.ts.map +0 -1
  84. package/dist/context.js +0 -31
  85. package/dist/context.js.map +0 -1
  86. package/dist/index.d.ts +0 -3
  87. package/dist/index.d.ts.map +0 -1
  88. package/dist/index.js +0 -385
  89. package/dist/index.js.map +0 -1
  90. package/dist/open.d.ts +0 -2
  91. package/dist/open.d.ts.map +0 -1
  92. package/dist/open.js +0 -16
  93. package/dist/open.js.map +0 -1
  94. package/dist/output.d.ts +0 -2
  95. package/dist/output.d.ts.map +0 -1
  96. package/dist/output.js +0 -44
  97. package/dist/output.js.map +0 -1
  98. package/dist/prompt.d.ts +0 -4
  99. package/dist/prompt.d.ts.map +0 -1
  100. package/dist/prompt.js +0 -14
  101. package/dist/prompt.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"deploys.js","sourceRoot":"","sources":["../../../src/commands/deploys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploys.js","sourceRoot":"","sources":["../../../src/commands/deploys.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as core from "@percher/core";
2
2
  import pc from "picocolors";
3
- import { SilentExitError, writeLine } from "../cli-utils";
3
+ import { SilentExitError, writeLine } from "../cli-utils.js";
4
4
  const ENV_SCOPES = ["all", "live", "preview"];
5
5
  function isEnvScope(value) {
6
6
  return ENV_SCOPES.includes(value);
@@ -28,8 +28,8 @@ export function registerEnvCommands(cli, ctx) {
28
28
  scope = raw;
29
29
  }
30
30
  if (action === "set") {
31
- const { resolveEnvSetInputs, EnvSetInputError } = await import("../env-set-input");
32
- const { promptHidden } = await import("../prompt-hidden");
31
+ const { resolveEnvSetInputs, EnvSetInputError } = await import("../env-set-input.js");
32
+ const { promptHidden } = await import("../prompt-hidden.js");
33
33
  const { readFile } = await import("node:fs/promises");
34
34
  try {
35
35
  const values = await resolveEnvSetInputs({
@@ -1,6 +1,6 @@
1
1
  import * as core from "@percher/core";
2
2
  import pc from "picocolors";
3
- import { writeLine } from "../cli-utils";
3
+ import { writeLine } from "../cli-utils.js";
4
4
  export function registerExportCommands(cli, ctx) {
5
5
  cli
6
6
  .command("export [app]", "Download an export bundle for an app (no secrets)")
@@ -1,6 +1,6 @@
1
1
  import * as core from "@percher/core";
2
2
  import pc from "picocolors";
3
- import { writeLine } from "../cli-utils";
3
+ import { writeLine } from "../cli-utils.js";
4
4
  async function printWebhookInstructions(ctx, instructions, branch) {
5
5
  await writeLine(ctx, pc.bold("Add this webhook in GitHub to enable auto-deploy on push:"));
6
6
  await writeLine(ctx, ` URL: ${instructions.settingsUrl}`);
@@ -1,6 +1,6 @@
1
1
  import * as core from "@percher/core";
2
2
  import pc from "picocolors";
3
- import { SilentExitError, writeLine } from "../cli-utils";
3
+ import { SilentExitError, writeLine } from "../cli-utils.js";
4
4
  function whenLabel(iso) {
5
5
  return iso ? new Date(iso).toISOString().slice(0, 10) : "never";
6
6
  }
@@ -1,6 +1,6 @@
1
1
  import * as core from "@percher/core";
2
2
  import pc from "picocolors";
3
- import { SilentExitError, writeLine } from "../cli-utils";
3
+ import { SilentExitError, writeLine } from "../cli-utils.js";
4
4
  export function registerMigrateCommands(cli, ctx) {
5
5
  cli
6
6
  .command("migrate-from-supabase", "Migrate a Supabase project to PocketBase: schema + data-import script, optionally rewrite SDK calls")
@@ -1,6 +1,6 @@
1
1
  import * as core from "@percher/core";
2
2
  import pc from "picocolors";
3
- import { writeLine } from "../cli-utils";
3
+ import { writeLine } from "../cli-utils.js";
4
4
  /**
5
5
  * FUTURE15 Fas C — CLI surface for the sharing + invites flows.
6
6
  *
@@ -1,6 +1,6 @@
1
1
  import * as core from "@percher/core";
2
2
  import pc from "picocolors";
3
- import { SilentExitError, writeLine } from "../cli-utils";
3
+ import { SilentExitError, writeLine } from "../cli-utils.js";
4
4
  export function registerStatusCommands(cli, ctx) {
5
5
  cli
6
6
  .command("status", "Show Percher platform status (API + worker health)")
@@ -1,6 +1,6 @@
1
1
  import * as core from "@percher/core";
2
2
  import pc from "picocolors";
3
- import { SilentExitError, writeLine } from "../cli-utils";
3
+ import { SilentExitError, writeLine } from "../cli-utils.js";
4
4
  const VALID_SCOPES = ["deploy", "env", "read", "full"];
5
5
  function scopeLabel(scopes, appName) {
6
6
  const s = scopes && scopes.length > 0 ? scopes.join("+") : "full";
@@ -1,6 +1,6 @@
1
1
  import * as core from "@percher/core";
2
2
  import pc from "picocolors";
3
- import { writeLine } from "../cli-utils";
3
+ import { writeLine } from "../cli-utils.js";
4
4
  /**
5
5
  * FUTURE15 Fas D — CLI surface for ownership transfer.
6
6
  *
@@ -1,7 +1,7 @@
1
1
  import { PercherClient } from "@percher/client";
2
- import { openUrl } from "./open";
3
- import { prompt } from "./prompt";
4
- import { VERSION } from "./telemetry";
2
+ import { openUrl } from "./open.js";
3
+ import { prompt } from "./prompt.js";
4
+ import { VERSION } from "./telemetry.js";
5
5
  export async function createCliContext() {
6
6
  const client = new PercherClient({ clientVersion: `percher-cli/${VERSION}` });
7
7
  const encoder = new TextEncoder();
package/dist/src/index.js CHANGED
@@ -1,25 +1,25 @@
1
1
  import cac from "cac";
2
- import { SilentExitError, writeUnknownCommand } from "./cli-utils";
3
- import { registerAccountCommands } from "./commands/account";
4
- import { registerAdminCommands } from "./commands/admin";
5
- import { registerAnalyticsCommands } from "./commands/analytics";
6
- import { registerAppsCommands } from "./commands/apps";
7
- import { registerAuthCommands } from "./commands/auth";
8
- import { registerDataCommands } from "./commands/data";
9
- import { registerDeploysCommands } from "./commands/deploys";
10
- import { registerEnvCommands } from "./commands/env";
11
- import { registerExportCommands } from "./commands/export";
12
- import { registerGithubCommands } from "./commands/github";
13
- import { registerHooksCommands } from "./commands/hooks";
14
- import { registerMigrateCommands } from "./commands/migrate";
15
- import { registerSharingCommands } from "./commands/sharing";
16
- import { registerStatusCommands } from "./commands/status";
17
- import { registerTokenCommands } from "./commands/token";
18
- import { registerTransfersCommands } from "./commands/transfers";
19
- import { createCliContext } from "./context";
20
- import { renderError } from "./output";
21
- import { showTelemetryNotice, trackEvent, VERSION } from "./telemetry";
22
- import { checkForUpdates } from "./version-check";
2
+ import { SilentExitError, writeUnknownCommand } from "./cli-utils.js";
3
+ import { registerAccountCommands } from "./commands/account.js";
4
+ import { registerAdminCommands } from "./commands/admin.js";
5
+ import { registerAnalyticsCommands } from "./commands/analytics.js";
6
+ import { registerAppsCommands } from "./commands/apps.js";
7
+ import { registerAuthCommands } from "./commands/auth.js";
8
+ import { registerDataCommands } from "./commands/data.js";
9
+ import { registerDeploysCommands } from "./commands/deploys.js";
10
+ import { registerEnvCommands } from "./commands/env.js";
11
+ import { registerExportCommands } from "./commands/export.js";
12
+ import { registerGithubCommands } from "./commands/github.js";
13
+ import { registerHooksCommands } from "./commands/hooks.js";
14
+ import { registerMigrateCommands } from "./commands/migrate.js";
15
+ import { registerSharingCommands } from "./commands/sharing.js";
16
+ import { registerStatusCommands } from "./commands/status.js";
17
+ import { registerTokenCommands } from "./commands/token.js";
18
+ import { registerTransfersCommands } from "./commands/transfers.js";
19
+ import { createCliContext } from "./context.js";
20
+ import { renderError } from "./output.js";
21
+ import { showTelemetryNotice, trackEvent, VERSION } from "./telemetry.js";
22
+ import { checkForUpdates } from "./version-check.js";
23
23
  export async function run(argv, ctxOverride) {
24
24
  const cli = cac("percher");
25
25
  const ctx = ctxOverride ?? (await createCliContext());
@@ -1,3 +1,5 @@
1
+ /** Compare stable npm versions; unknown or prerelease values produce no notice. */
2
+ export declare function isNewerStableVersion(latest: unknown, current: string): boolean;
1
3
  /**
2
4
  * Check if a newer version of percher is available on npm.
3
5
  * Non-blocking — prints a notice if outdated, never throws.
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/version-check.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAerD"}
1
+ {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/version-check.ts"],"names":[],"mappings":"AAGA,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAmB9E;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAerD"}
@@ -1,5 +1,26 @@
1
1
  import pc from "picocolors";
2
- import { VERSION } from "./telemetry";
2
+ import { VERSION } from "./telemetry.js";
3
+ /** Compare stable npm versions; unknown or prerelease values produce no notice. */
4
+ export function isNewerStableVersion(latest, current) {
5
+ const stable = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;
6
+ if (typeof latest !== "string" ||
7
+ latest.length > 64 ||
8
+ current.length > 64 ||
9
+ !stable.test(latest) ||
10
+ !stable.test(current))
11
+ return false;
12
+ const candidate = latest.split(".").map(BigInt);
13
+ const installed = current.split(".").map(BigInt);
14
+ for (let index = 0; index < 3; index++) {
15
+ const nextPart = candidate[index];
16
+ const currentPart = installed[index];
17
+ if (nextPart === undefined || currentPart === undefined)
18
+ return false;
19
+ if (nextPart !== currentPart)
20
+ return nextPart > currentPart;
21
+ }
22
+ return false;
23
+ }
3
24
  /**
4
25
  * Check if a newer version of percher is available on npm.
5
26
  * Non-blocking — prints a notice if outdated, never throws.
@@ -13,7 +34,7 @@ export async function checkForUpdates() {
13
34
  return;
14
35
  const data = (await res.json());
15
36
  const latest = data.version;
16
- if (latest && latest !== VERSION) {
37
+ if (isNewerStableVersion(latest, VERSION)) {
17
38
  console.error(pc.yellow(`\nUpdate available: ${VERSION} → ${latest}`));
18
39
  console.error(pc.dim("Run: bunx percher@latest\n"));
19
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/version-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,2CAA2C,EAAE;YACnE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO;QACpB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/version-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,mFAAmF;AACnF,MAAM,UAAU,oBAAoB,CAAC,MAAe,EAAE,OAAe;IACnE,MAAM,MAAM,GAAG,4CAA4C,CAAC;IAC5D,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,CAAC,MAAM,GAAG,EAAE;QAClB,OAAO,CAAC,MAAM,GAAG,EAAE;QACnB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAErB,OAAO,KAAK,CAAC;IACf,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,QAAQ,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtE,IAAI,QAAQ,KAAK,WAAW;YAAE,OAAO,QAAQ,GAAG,WAAW,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,2CAA2C,EAAE;YACnE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO;QACpB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;AACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ BSD Zero Clause License (0BSD)
2
+
3
+ Copyright (c) 2026 Mattias Malmborg
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
@@ -1,35 +1,51 @@
1
- # Multi-stage build: a Bun stage compiles the static bundle, then a
2
- # minimal Caddy image serves it. This project uses runtime = "docker"
3
- # (not "static") because Percher's static runtime serves pre-built
4
- # files only — it does not run a build command. Generated by Percher;
5
- # safe to edit and own.
6
-
7
- # --- Build stage: install deps and build the static bundle -----------
8
- FROM oven/bun:1-alpine AS build
9
- WORKDIR /app
10
- COPY . .
11
- RUN bun install && bun run build
12
-
13
- # --- Serve stage: minimal Caddy image --------------------------------
14
- # caddy:2-alpine ships /usr/bin/caddy with cap_net_bind_service file
15
- # caps. Percher runs every container with --security-opt
16
- # no-new-privileges, which makes execve refuse a cap-bearing binary
17
- # (an "operation not permitted" crash-loop). Copy Caddy onto a plain
18
- # alpine base and strip the caps with setcap -r — Caddy never needs
19
- # the cap here, it listens on :8080 (>= 1024).
20
- FROM caddy:2-alpine AS caddy-source
21
- FROM alpine:3.21
22
- COPY --from=caddy-source /usr/bin/caddy /usr/bin/caddy
23
- RUN apk add --no-cache libcap \
24
- && (setcap -r /usr/bin/caddy 2>/dev/null || true) \
25
- && test -z "$(getcap /usr/bin/caddy)" \
26
- && apk del libcap \
27
- && rm -rf /var/cache/apk/*
28
- COPY Caddyfile /etc/caddy/Caddyfile
29
- COPY --from=build /app/dist /srv
30
- # HOME points at the writable tmpfs so non-root Caddy can persist its
31
- # XDG state (storage-clean lock, config autosave) under Percher's
32
- # read-only root filesystem.
33
- ENV HOME=/tmp
34
- EXPOSE 8080
35
- CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]
1
+ # Multi-stage build: a Bun stage compiles the static bundle, then a
2
+ # minimal Caddy image serves it. This project uses runtime = "docker"
3
+ # (not "static") because Percher's static runtime serves pre-built
4
+ # files only — it does not run a build command. Generated by Percher;
5
+ # safe to edit and own.
6
+
7
+ # --- Build stage: install deps and build the static bundle -----------
8
+ FROM oven/bun:1-alpine AS build
9
+ WORKDIR /app
10
+ COPY . .
11
+ RUN bun install && bun run build
12
+
13
+ # --- Serve stage: minimal Caddy image --------------------------------
14
+ # Build pinned Caddy source with refreshed security modules. The scratch
15
+ # runtime carries no shell, package manager, or file capabilities and listens
16
+ # on the unprivileged port :8080.
17
+ FROM golang:1.26.7-alpine3.23@sha256:b17af760035fc2f338eed92d448a6c67f2d45438844fc6c60678fa5f99e44b57 AS caddy-source
18
+ ADD --checksum=sha256:78e660d838e45c0b8c89338b325946238f153641aa9925df9ef2ad5e8eced31b \
19
+ https://github.com/caddyserver/caddy/commit/b2693fb63a30e6d7be0972c3645e9a2c0a500e93.patch /tmp/caddy-cel-go.patch
20
+ RUN go mod download github.com/caddyserver/caddy/v2@v2.11.4 \
21
+ && cp -R /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.11.4 /src \
22
+ && chmod -R u+w /src
23
+ WORKDIR /src
24
+ RUN apk add --no-cache patch \
25
+ && patch -p1 < /tmp/caddy-cel-go.patch \
26
+ && go get github.com/go-chi/chi/v5@v5.3.0 github.com/google/cel-go@v0.29.2 \
27
+ github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.44.0 \
28
+ golang.org/x/crypto@v0.55.0 golang.org/x/net@v0.58.0 \
29
+ golang.org/x/text@v0.41.0 google.golang.org/grpc@v1.83.2 \
30
+ && go mod tidy \
31
+ && CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o /out/caddy ./cmd/caddy \
32
+ && printf '%s\n' \
33
+ 'package main' \
34
+ 'import ("net/http"; "os"; "time")' \
35
+ 'func main(){ if len(os.Args)!=2 { os.Exit(2) }; c:=http.Client{Timeout:2500*time.Millisecond,Transport:&http.Transport{Proxy:nil},CheckRedirect:func(_ *http.Request,_ []*http.Request) error{return http.ErrUseLastResponse}}; r,e:=c.Get(os.Args[1]); if e!=nil { os.Exit(1) }; defer r.Body.Close(); if r.StatusCode!=http.StatusOK { os.Exit(1) } }' \
36
+ > /tmp/percher-healthcheck.go \
37
+ && CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o /out/percher-healthcheck /tmp/percher-healthcheck.go
38
+ FROM scratch
39
+ COPY --from=caddy-source /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
40
+ COPY --from=caddy-source /out/caddy /usr/bin/caddy
41
+ COPY --from=caddy-source /out/percher-healthcheck /usr/bin/percher-healthcheck
42
+ COPY Caddyfile /etc/caddy/Caddyfile
43
+ COPY --from=build /app/dist /srv
44
+ LABEL dev.percher.health-client="static-http-v1"
45
+ # HOME points at the writable tmpfs so non-root Caddy can persist its
46
+ # XDG state (storage-clean lock, config autosave) under Percher's
47
+ # read-only root filesystem.
48
+ ENV HOME=/tmp
49
+ USER 10001:10001
50
+ EXPOSE 8080
51
+ CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]
@@ -0,0 +1,14 @@
1
+ BSD Zero Clause License (0BSD)
2
+
3
+ Copyright (c) 2026 Mattias Malmborg
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,14 @@
1
+ BSD Zero Clause License (0BSD)
2
+
3
+ Copyright (c) 2026 Mattias Malmborg
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
@@ -18,22 +18,40 @@ ENV VITE_PERCHER_AI_URL=$VITE_PERCHER_AI_URL
18
18
  RUN bun install && bun run build
19
19
 
20
20
  # --- Serve stage: minimal Caddy image --------------------------------
21
- # caddy:2-alpine ships /usr/bin/caddy with cap_net_bind_service file caps.
22
- # Percher runs every container with --security-opt no-new-privileges, which
23
- # makes execve refuse a cap-bearing binary. Strip the caps with setcap -r —
24
- # Caddy listens on :8080 (>= 1024) and never needs the cap.
25
- FROM caddy:2-alpine AS caddy-source
26
- FROM alpine:3.21
27
- COPY --from=caddy-source /usr/bin/caddy /usr/bin/caddy
28
- RUN apk add --no-cache libcap \
29
- && (setcap -r /usr/bin/caddy 2>/dev/null || true) \
30
- && test -z "$(getcap /usr/bin/caddy)" \
31
- && apk del libcap \
32
- && rm -rf /var/cache/apk/*
21
+ # Build pinned Caddy source with refreshed security modules. The scratch
22
+ # runtime carries no shell, package manager, or file capabilities and listens
23
+ # on the unprivileged port :8080.
24
+ FROM golang:1.26.7-alpine3.23@sha256:b17af760035fc2f338eed92d448a6c67f2d45438844fc6c60678fa5f99e44b57 AS caddy-source
25
+ ADD --checksum=sha256:78e660d838e45c0b8c89338b325946238f153641aa9925df9ef2ad5e8eced31b \
26
+ https://github.com/caddyserver/caddy/commit/b2693fb63a30e6d7be0972c3645e9a2c0a500e93.patch /tmp/caddy-cel-go.patch
27
+ RUN go mod download github.com/caddyserver/caddy/v2@v2.11.4 \
28
+ && cp -R /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.11.4 /src \
29
+ && chmod -R u+w /src
30
+ WORKDIR /src
31
+ RUN apk add --no-cache patch \
32
+ && patch -p1 < /tmp/caddy-cel-go.patch \
33
+ && go get github.com/go-chi/chi/v5@v5.3.0 github.com/google/cel-go@v0.29.2 \
34
+ github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.44.0 \
35
+ golang.org/x/crypto@v0.55.0 golang.org/x/net@v0.58.0 \
36
+ golang.org/x/text@v0.41.0 google.golang.org/grpc@v1.83.2 \
37
+ && go mod tidy \
38
+ && CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o /out/caddy ./cmd/caddy \
39
+ && printf '%s\n' \
40
+ 'package main' \
41
+ 'import ("net/http"; "os"; "time")' \
42
+ 'func main(){ if len(os.Args)!=2 { os.Exit(2) }; c:=http.Client{Timeout:2500*time.Millisecond,Transport:&http.Transport{Proxy:nil},CheckRedirect:func(_ *http.Request,_ []*http.Request) error{return http.ErrUseLastResponse}}; r,e:=c.Get(os.Args[1]); if e!=nil { os.Exit(1) }; defer r.Body.Close(); if r.StatusCode!=http.StatusOK { os.Exit(1) } }' \
43
+ > /tmp/percher-healthcheck.go \
44
+ && CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o /out/percher-healthcheck /tmp/percher-healthcheck.go
45
+ FROM scratch
46
+ COPY --from=caddy-source /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
47
+ COPY --from=caddy-source /out/caddy /usr/bin/caddy
48
+ COPY --from=caddy-source /out/percher-healthcheck /usr/bin/percher-healthcheck
33
49
  COPY Caddyfile /etc/caddy/Caddyfile
34
50
  COPY --from=build /app/dist /srv
51
+ LABEL dev.percher.health-client="static-http-v1"
35
52
  # HOME points at the writable tmpfs so non-root Caddy can persist its XDG state
36
53
  # under Percher's read-only root filesystem.
37
54
  ENV HOME=/tmp
55
+ USER 10001:10001
38
56
  EXPOSE 8080
39
57
  CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]
@@ -0,0 +1,14 @@
1
+ BSD Zero Clause License (0BSD)
2
+
3
+ Copyright (c) 2026 Mattias Malmborg
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,14 @@
1
+ BSD Zero Clause License (0BSD)
2
+
3
+ Copyright (c) 2026 Mattias Malmborg
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
@@ -4,6 +4,7 @@ runtime = "python"
4
4
  framework = "django"
5
5
 
6
6
  [web]
7
+ command = "gunicorn app.wsgi:application --bind 0.0.0.0:8000"
7
8
  port = 8000
8
9
  health = "/health/"
9
10
 
@@ -0,0 +1,14 @@
1
+ BSD Zero Clause License (0BSD)
2
+
3
+ Copyright (c) 2026 Mattias Malmborg
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.