diff --git a/frontend/src/components/build/tabs/config/BuildConfig.tsx b/frontend/src/components/build/tabs/config/BuildConfig.tsx
index a5a18eb89..22c0a40cb 100644
--- a/frontend/src/components/build/tabs/config/BuildConfig.tsx
+++ b/frontend/src/components/build/tabs/config/BuildConfig.tsx
@@ -11,6 +11,8 @@ import BuildArgs from "./BuildArgs";
import Version from "./Version";
import Repo from "./Repo";
import WebhookUrl from "./WebhookUrl";
+import ExtraArgs from "./ExtraArgs";
+import UseBuildx from "./UseBuildx";
const BuildConfig: Component<{}> = (p) => {
const { build, reset, save, userCanUpdate } = useConfig();
@@ -23,6 +25,8 @@ const BuildConfig: Component<{}> = (p) => {
+
+
diff --git a/frontend/src/components/build/tabs/config/ExtraArgs.tsx b/frontend/src/components/build/tabs/config/ExtraArgs.tsx
new file mode 100644
index 000000000..3318833de
--- /dev/null
+++ b/frontend/src/components/build/tabs/config/ExtraArgs.tsx
@@ -0,0 +1,59 @@
+import { Component, For, Show } from "solid-js";
+import Icon from "../../../shared/Icon";
+import Input from "../../../shared/Input";
+import Flex from "../../../shared/layout/Flex";
+import Grid from "../../../shared/layout/Grid";
+import { useConfig } from "../Provider";
+
+const ExtraArgs: Component<{}> = (p) => {
+ const { build, setBuild, userCanUpdate } = useConfig();
+ const onAdd = () => {
+ setBuild("docker_build_args", "extra_args", (extra_args: any) => [
+ ...extra_args,
+ "",
+ ]);
+ };
+ const onRemove = (index: number) => {
+ setBuild("docker_build_args", "extra_args", (extra_args) =>
+ extra_args!.filter((_, i) => i !== index)
+ );
+ };
+ return (
+
+
+ extra args
+
+
+
+
+
+ {(_, index) => (
+
+
+ setBuild("docker_build_args", "extra_args", index(), value)
+ }
+ disabled={!userCanUpdate()}
+ />
+
+
+
+
+ )}
+
+
+ );
+};
+
+export default ExtraArgs;
diff --git a/frontend/src/components/build/tabs/config/UseBuildx.tsx b/frontend/src/components/build/tabs/config/UseBuildx.tsx
new file mode 100644
index 000000000..52c785ca1
--- /dev/null
+++ b/frontend/src/components/build/tabs/config/UseBuildx.tsx
@@ -0,0 +1,30 @@
+import { Component, Show } from "solid-js";
+import Flex from "../../../shared/layout/Flex";
+import { useConfig } from "../Provider";
+
+const UseBuildx: Component<{}> = (p) => {
+ const { build, setBuild, userCanUpdate } = useConfig();
+ const use_buildx = () => build.docker_build_args?.use_buildx || false;
+ return (
+
+ use buildx
+ {use_buildx() ? "enabled" : "disabled"}}
+ >
+
+
+
+ );
+};
+
+export default UseBuildx;
diff --git a/frontend/src/types.ts b/frontend/src/types.ts
index a236777b7..b1a49311f 100644
--- a/frontend/src/types.ts
+++ b/frontend/src/types.ts
@@ -56,6 +56,8 @@ export interface DockerBuildArgs {
build_path: string;
dockerfile_path?: string;
build_args?: EnvironmentVar[];
+ extra_args?: string[];
+ use_buildx?: boolean;
}
export interface BuildVersionsReponse {