mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Compare commits
	
		
			14 Commits
		
	
	
		
			2025-06-28
			...
			2025-06-29
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					5e5c79ef29 | ||
| 
						 | 
					4db81b8c41 | ||
| 
						 | 
					0b97f26b13 | ||
| 
						 | 
					f2a21617f7 | ||
| 
						 | 
					ed618b7144 | ||
| 
						 | 
					1ec71332bf | ||
| 
						 | 
					5696dffd02 | ||
| 
						 | 
					1e93f131d2 | ||
| 
						 | 
					022f88c30a | ||
| 
						 | 
					b661f3cbcc | ||
| 
						 | 
					9b97e4974a | ||
| 
						 | 
					e2b36b540f | ||
| 
						 | 
					983a09c5db | ||
| 
						 | 
					f605085021 | 
							
								
								
									
										26
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -14,8 +14,34 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
 | 
			
		||||
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## 2025-06-30
 | 
			
		||||
 | 
			
		||||
## 2025-06-29
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Linkwarden: Add backing up of data folder to the update function [@tremor021](https://github.com/tremor021) ([#5548](https://github.com/community-scripts/ProxmoxVE/pull/5548))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Add cron-job api-key env variable to homarr script [@Meierschlumpf](https://github.com/Meierschlumpf) ([#5204](https://github.com/community-scripts/ProxmoxVE/pull/5204))
 | 
			
		||||
 | 
			
		||||
### 🧰 Maintenance
 | 
			
		||||
 | 
			
		||||
  - #### 📝 Documentation
 | 
			
		||||
 | 
			
		||||
    - update readme with valid discord link. other one expired [@BramSuurdje](https://github.com/BramSuurdje) ([#5567](https://github.com/community-scripts/ProxmoxVE/pull/5567))
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - Update script-item.tsx [@ape364](https://github.com/ape364) ([#5549](https://github.com/community-scripts/ProxmoxVE/pull/5549))
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - fix bug in tooltip that would always render 'updateable' [@BramSuurdje](https://github.com/BramSuurdje) ([#5552](https://github.com/community-scripts/ProxmoxVE/pull/5552))
 | 
			
		||||
 | 
			
		||||
## 2025-06-28
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@
 | 
			
		||||
    <a href="https://helper-scripts.com">
 | 
			
		||||
      <img src="https://img.shields.io/badge/Website-4c9b3f?style=for-the-badge&logo=github&logoColor=white" alt="Website" />
 | 
			
		||||
    </a>
 | 
			
		||||
    <a href="https://discord.gg/jsYVk5JBxq">
 | 
			
		||||
    <a href="https://discord.gg/3AnUqsXnmK">
 | 
			
		||||
      <img src="https://img.shields.io/badge/Discord-7289da?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
 | 
			
		||||
    </a> 
 | 
			
		||||
    <a href="https://ko-fi.com/community_scripts">
 | 
			
		||||
@@ -82,7 +82,7 @@ We appreciate any contributions to the project—whether it's bug reports, featu
 | 
			
		||||
 | 
			
		||||
Join our community for support:
 | 
			
		||||
 | 
			
		||||
- **Discord**: Join our [Proxmox Helper Scripts Discord server](https://discord.gg/jsYVk5JBxq) for real-time support.
 | 
			
		||||
- **Discord**: Join our [Proxmox Helper Scripts Discord server](https://discord.gg/3AnUqsXnmK) for real-time support.
 | 
			
		||||
- **GitHub Discussions**: [Ask questions or report issues](https://github.com/community-scripts/ProxmoxVE/discussions).
 | 
			
		||||
 | 
			
		||||
## 🤝 Report a Bug or Feature Request
 | 
			
		||||
 
 | 
			
		||||
@@ -48,6 +48,7 @@ source /opt/homarr/.env
 | 
			
		||||
set +a
 | 
			
		||||
export DB_DIALECT='sqlite'
 | 
			
		||||
export AUTH_SECRET=$(openssl rand -base64 32)
 | 
			
		||||
export CRON_JOB_API_KEY=$(openssl rand -base64 32)
 | 
			
		||||
node /opt/homarr_db/migrations/$DB_DIALECT/migrate.cjs /opt/homarr_db/migrations/$DB_DIALECT
 | 
			
		||||
for dir in $(find /opt/homarr_db/migrations/migrations -mindepth 1 -maxdepth 1 -type d); do
 | 
			
		||||
  dirname=$(basename "$dir")
 | 
			
		||||
@@ -114,6 +115,7 @@ source /opt/homarr/.env
 | 
			
		||||
set +a
 | 
			
		||||
export DB_DIALECT='sqlite'
 | 
			
		||||
export AUTH_SECRET=$(openssl rand -base64 32)
 | 
			
		||||
export CRON_JOB_API_KEY=$(openssl rand -base64 32)
 | 
			
		||||
node /opt/homarr_db/migrations/$DB_DIALECT/migrate.cjs /opt/homarr_db/migrations/$DB_DIALECT
 | 
			
		||||
for dir in $(find /opt/homarr_db/migrations/migrations -mindepth 1 -maxdepth 1 -type d); do
 | 
			
		||||
  dirname=$(basename "$dir")
 | 
			
		||||
 
 | 
			
		||||
@@ -37,6 +37,7 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP} to ${RELEASE}"
 | 
			
		||||
    mv /opt/linkwarden/.env /opt/.env
 | 
			
		||||
    [ -d /opt/linkwarden/data ] && mv /opt/linkwarden/data /opt/data.bak
 | 
			
		||||
    rm -rf /opt/linkwarden
 | 
			
		||||
    fetch_and_deploy_gh_release "linkwarden" "linkwarden/linkwarden"
 | 
			
		||||
    cd /opt/linkwarden
 | 
			
		||||
@@ -47,6 +48,7 @@ function update_script() {
 | 
			
		||||
    $STD yarn prisma:generate
 | 
			
		||||
    $STD yarn web:build
 | 
			
		||||
    $STD yarn prisma:deploy
 | 
			
		||||
    [ -d /opt/data.bak ] && mv /opt/data.bak /opt/linkwarden/data
 | 
			
		||||
    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										76
									
								
								frontend/public/json/versions.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										76
									
								
								frontend/public/json/versions.json
									
									
									
										generated
									
									
									
								
							@@ -1,4 +1,39 @@
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rcourtman/Pulse",
 | 
			
		||||
    "version": "v3.32.0",
 | 
			
		||||
    "date": "2025-06-25T22:27:01Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "sysadminsmedia/homebox",
 | 
			
		||||
    "version": "v0.20.0",
 | 
			
		||||
    "date": "2025-06-29T18:50:03Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "firefly-iii/firefly-iii",
 | 
			
		||||
    "version": "v6.2.19",
 | 
			
		||||
    "date": "2025-06-28T06:53:45Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "dgtlmoon/changedetection.io",
 | 
			
		||||
    "version": "0.50.5",
 | 
			
		||||
    "date": "2025-06-29T08:54:47Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "emqx/emqx",
 | 
			
		||||
    "version": "e5.9.1-rc.1",
 | 
			
		||||
    "date": "2025-06-29T07:27:21Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Jackett/Jackett",
 | 
			
		||||
    "version": "v0.22.2084",
 | 
			
		||||
    "date": "2025-06-29T05:53:38Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "theonedev/onedev",
 | 
			
		||||
    "version": "v11.11.2",
 | 
			
		||||
    "date": "2025-06-29T01:40:39Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "home-assistant/core",
 | 
			
		||||
    "version": "2025.6.3",
 | 
			
		||||
@@ -20,20 +55,15 @@
 | 
			
		||||
    "date": "2025-06-28T16:06:19Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Jackett/Jackett",
 | 
			
		||||
    "version": "v0.22.2075",
 | 
			
		||||
    "date": "2025-06-28T10:16:17Z"
 | 
			
		||||
    "name": "keycloak/keycloak",
 | 
			
		||||
    "version": "26.2.5",
 | 
			
		||||
    "date": "2025-05-28T06:49:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Luligu/matterbridge",
 | 
			
		||||
    "version": "3.1.0",
 | 
			
		||||
    "date": "2025-06-28T09:02:38Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "firefly-iii/firefly-iii",
 | 
			
		||||
    "version": "v6.2.19",
 | 
			
		||||
    "date": "2025-06-28T06:53:45Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "esphome/esphome",
 | 
			
		||||
    "version": "2025.6.2",
 | 
			
		||||
@@ -74,11 +104,6 @@
 | 
			
		||||
    "version": "version/2025.6.3",
 | 
			
		||||
    "date": "2025-06-27T14:01:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "keycloak/keycloak",
 | 
			
		||||
    "version": "26.2.5",
 | 
			
		||||
    "date": "2025-05-28T06:49:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rclone/rclone",
 | 
			
		||||
    "version": "v1.70.2",
 | 
			
		||||
@@ -179,11 +204,6 @@
 | 
			
		||||
    "version": "r8.1.2-rc1",
 | 
			
		||||
    "date": "2025-06-25T22:42:04Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rcourtman/Pulse",
 | 
			
		||||
    "version": "v3.32.0",
 | 
			
		||||
    "date": "2025-06-25T22:27:01Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gristlabs/grist-core",
 | 
			
		||||
    "version": "v1.6.1",
 | 
			
		||||
@@ -329,21 +349,11 @@
 | 
			
		||||
    "version": "v2.0.114",
 | 
			
		||||
    "date": "2025-06-21T11:20:21Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "theonedev/onedev",
 | 
			
		||||
    "version": "v11.11.1",
 | 
			
		||||
    "date": "2025-06-21T09:23:39Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "pocketbase/pocketbase",
 | 
			
		||||
    "version": "v0.28.4",
 | 
			
		||||
    "date": "2025-06-21T08:29:04Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "dgtlmoon/changedetection.io",
 | 
			
		||||
    "version": "0.50.4",
 | 
			
		||||
    "date": "2025-06-21T07:47:02Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "go-gitea/gitea",
 | 
			
		||||
    "version": "v1.24.2",
 | 
			
		||||
@@ -494,11 +504,6 @@
 | 
			
		||||
    "version": "2.36.1",
 | 
			
		||||
    "date": "2025-06-16T19:20:54Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "emqx/emqx",
 | 
			
		||||
    "version": "e5.9.1-alpha.1",
 | 
			
		||||
    "date": "2025-06-16T15:34:01Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "open-webui/open-webui",
 | 
			
		||||
    "version": "v0.6.15",
 | 
			
		||||
@@ -894,11 +899,6 @@
 | 
			
		||||
    "version": "2025-05-07-r1",
 | 
			
		||||
    "date": "2025-05-07T12:18:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "sysadminsmedia/homebox",
 | 
			
		||||
    "version": "v0.19.0",
 | 
			
		||||
    "date": "2025-05-06T18:05:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "garethgeorge/backrest",
 | 
			
		||||
    "version": "v1.8.1",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,148 +0,0 @@
 | 
			
		||||
import { Info } from "lucide-react";
 | 
			
		||||
 | 
			
		||||
import type { Script } from "@/lib/types";
 | 
			
		||||
 | 
			
		||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
 | 
			
		||||
import { Alert, AlertDescription } from "@/components/ui/alert";
 | 
			
		||||
import CodeCopyButton from "@/components/ui/code-copy-button";
 | 
			
		||||
import { basePath } from "@/config/site-config";
 | 
			
		||||
 | 
			
		||||
import { getDisplayValueFromType } from "../script-info-blocks";
 | 
			
		||||
 | 
			
		||||
function getInstallCommand(scriptPath = "", isAlpine = false, useGitea = false) {
 | 
			
		||||
  const githubUrl = `https://raw.githubusercontent.com/community-scripts/${basePath}/main/${scriptPath}`;
 | 
			
		||||
  const giteaUrl = `https://git.community-scripts.org/community-scripts/${basePath}/raw/branch/main/${scriptPath}`;
 | 
			
		||||
  const url = useGitea ? giteaUrl : githubUrl;
 | 
			
		||||
  return isAlpine ? `bash -c "$(curl -fsSL ${url})"` : `bash -c "$(curl -fsSL ${url})"`;
 | 
			
		||||
}
 | 
			
		||||
export default function InstallCommand({ item }: { item: Script }) {
 | 
			
		||||
  const alpineScript = item.install_methods.find(method => method.type === "alpine");
 | 
			
		||||
  const defaultScript = item.install_methods.find(method => method.type === "default");
 | 
			
		||||
 | 
			
		||||
  const renderInstructions = (isAlpine = false) => (
 | 
			
		||||
    <>
 | 
			
		||||
      <p className="text-sm mt-2">
 | 
			
		||||
        {isAlpine
 | 
			
		||||
          ? (
 | 
			
		||||
              <>
 | 
			
		||||
                As an alternative option, you can use Alpine Linux and the
 | 
			
		||||
                {" "}
 | 
			
		||||
                {item.name}
 | 
			
		||||
                {" "}
 | 
			
		||||
                package to create a
 | 
			
		||||
                {" "}
 | 
			
		||||
                {item.name}
 | 
			
		||||
                {" "}
 | 
			
		||||
                {getDisplayValueFromType(item.type)}
 | 
			
		||||
                {" "}
 | 
			
		||||
                container with faster creation time and minimal system resource usage.
 | 
			
		||||
                You are also obliged to adhere to updates provided by the package maintainer.
 | 
			
		||||
              </>
 | 
			
		||||
            )
 | 
			
		||||
          : item.type === "pve"
 | 
			
		||||
            ? (
 | 
			
		||||
                <>
 | 
			
		||||
                  To use the
 | 
			
		||||
                  {" "}
 | 
			
		||||
                  {item.name}
 | 
			
		||||
                  {" "}
 | 
			
		||||
                  script, run the command below **only** in the Proxmox VE Shell. This script is
 | 
			
		||||
                  intended for managing or enhancing the host system directly.
 | 
			
		||||
                </>
 | 
			
		||||
              )
 | 
			
		||||
            : item.type === "addon"
 | 
			
		||||
              ? (
 | 
			
		||||
                  <>
 | 
			
		||||
                    This script enhances an existing setup. You can use it inside a running LXC container or directly on the
 | 
			
		||||
                    Proxmox VE host to extend functionality with
 | 
			
		||||
                    {" "}
 | 
			
		||||
                    {item.name}
 | 
			
		||||
                    .
 | 
			
		||||
                  </>
 | 
			
		||||
                )
 | 
			
		||||
              : (
 | 
			
		||||
                  <>
 | 
			
		||||
                    To create a new Proxmox VE
 | 
			
		||||
                    {" "}
 | 
			
		||||
                    {item.name}
 | 
			
		||||
                    {" "}
 | 
			
		||||
                    {getDisplayValueFromType(item.type)}
 | 
			
		||||
                    , run the command below in the
 | 
			
		||||
                    Proxmox VE Shell.
 | 
			
		||||
                  </>
 | 
			
		||||
                )}
 | 
			
		||||
      </p>
 | 
			
		||||
      {isAlpine && (
 | 
			
		||||
        <p className="mt-2 text-sm">
 | 
			
		||||
          To create a new Proxmox VE Alpine-
 | 
			
		||||
          {item.name}
 | 
			
		||||
          {" "}
 | 
			
		||||
          {getDisplayValueFromType(item.type)}
 | 
			
		||||
          , run the command below in
 | 
			
		||||
          the Proxmox VE Shell.
 | 
			
		||||
        </p>
 | 
			
		||||
      )}
 | 
			
		||||
    </>
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  const renderGiteaInfo = () => (
 | 
			
		||||
    <Alert className="mt-3 mb-3">
 | 
			
		||||
      <Info className="h-4 w-4" />
 | 
			
		||||
      <AlertDescription className="text-sm">
 | 
			
		||||
        <strong>When to use Gitea:</strong>
 | 
			
		||||
        {" "}
 | 
			
		||||
        GitHub may have issues including slow connections, delayed updates after bug
 | 
			
		||||
        fixes, no IPv6 support, API rate limits (60/hour). Use our Gitea mirror as a reliable alternative when
 | 
			
		||||
        experiencing these issues.
 | 
			
		||||
      </AlertDescription>
 | 
			
		||||
    </Alert>
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  const renderScriptTabs = (useGitea = false) => {
 | 
			
		||||
    if (alpineScript) {
 | 
			
		||||
      return (
 | 
			
		||||
        <Tabs defaultValue="default" className="mt-2 w-full max-w-4xl">
 | 
			
		||||
          <TabsList>
 | 
			
		||||
            <TabsTrigger value="default">Default</TabsTrigger>
 | 
			
		||||
            <TabsTrigger value="alpine">Alpine Linux</TabsTrigger>
 | 
			
		||||
          </TabsList>
 | 
			
		||||
          <TabsContent value="default">
 | 
			
		||||
            {renderInstructions()}
 | 
			
		||||
            <CodeCopyButton>{getInstallCommand(defaultScript?.script, false, useGitea)}</CodeCopyButton>
 | 
			
		||||
          </TabsContent>
 | 
			
		||||
          <TabsContent value="alpine">
 | 
			
		||||
            {renderInstructions(true)}
 | 
			
		||||
            <CodeCopyButton>{getInstallCommand(alpineScript.script, true, useGitea)}</CodeCopyButton>
 | 
			
		||||
          </TabsContent>
 | 
			
		||||
        </Tabs>
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
    else if (defaultScript?.script) {
 | 
			
		||||
      return (
 | 
			
		||||
        <>
 | 
			
		||||
          {renderInstructions()}
 | 
			
		||||
          <CodeCopyButton>{getInstallCommand(defaultScript.script, false, useGitea)}</CodeCopyButton>
 | 
			
		||||
        </>
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
    return null;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return (
 | 
			
		||||
    <div className="p-4">
 | 
			
		||||
      <Tabs defaultValue="github" className="w-full max-w-4xl">
 | 
			
		||||
        <TabsList>
 | 
			
		||||
          <TabsTrigger value="github">GitHub</TabsTrigger>
 | 
			
		||||
          <TabsTrigger value="gitea">Gitea</TabsTrigger>
 | 
			
		||||
        </TabsList>
 | 
			
		||||
        <TabsContent value="github">
 | 
			
		||||
          {renderScriptTabs(false)}
 | 
			
		||||
        </TabsContent>
 | 
			
		||||
        <TabsContent value="gitea">
 | 
			
		||||
          {renderGiteaInfo()}
 | 
			
		||||
          {renderScriptTabs(true)}
 | 
			
		||||
        </TabsContent>
 | 
			
		||||
      </Tabs>
 | 
			
		||||
    </div>
 | 
			
		||||
  );
 | 
			
		||||
}
 | 
			
		||||
@@ -61,6 +61,7 @@ function ScriptHeader({ item }: { item: Script }) {
 | 
			
		||||
                <div className="mt-1 flex items-center gap-3 text-sm text-muted-foreground">
 | 
			
		||||
                  <span>
 | 
			
		||||
                    Added
 | 
			
		||||
                    {" "}
 | 
			
		||||
                    {extractDate(item.date_created)}
 | 
			
		||||
                  </span>
 | 
			
		||||
                  <span>•</span>
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ export default function Tooltips({ item }: { item: Script }) {
 | 
			
		||||
      {item.privileged && (
 | 
			
		||||
        <TooltipBadge variant="warning" label="Privileged" content="This script will be run in a privileged LXC" />
 | 
			
		||||
      )}
 | 
			
		||||
      {(item.updateable || item.type !== "pve") && (
 | 
			
		||||
      {item.updateable && item.type !== "pve" && (
 | 
			
		||||
        <TooltipBadge
 | 
			
		||||
          variant="success"
 | 
			
		||||
          label="Updateable"
 | 
			
		||||
 
 | 
			
		||||
@@ -76,6 +76,7 @@ source /opt/homarr/.env
 | 
			
		||||
set +a
 | 
			
		||||
export DB_DIALECT='sqlite'
 | 
			
		||||
export AUTH_SECRET=$(openssl rand -base64 32)
 | 
			
		||||
export CRON_JOB_API_KEY=$(openssl rand -base64 32)
 | 
			
		||||
node /opt/homarr_db/migrations/$DB_DIALECT/migrate.cjs /opt/homarr_db/migrations/$DB_DIALECT
 | 
			
		||||
for dir in $(find /opt/homarr_db/migrations/migrations -mindepth 1 -maxdepth 1 -type d); do
 | 
			
		||||
  dirname=$(basename "$dir")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user