mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
Merge pull request #1194 from wish-oss/feat/spacedrive-template
feat: add spacedrive file manager template
This commit is contained in:
BIN
apps/dokploy/public/templates/spacedrive.png
Normal file
BIN
apps/dokploy/public/templates/spacedrive.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 319 KiB |
9
apps/dokploy/templates/spacedrive/docker-compose.yml
Normal file
9
apps/dokploy/templates/spacedrive/docker-compose.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
services:
|
||||||
|
server:
|
||||||
|
image: ghcr.io/spacedriveapp/spacedrive/server:latest
|
||||||
|
ports:
|
||||||
|
- 8080
|
||||||
|
environment:
|
||||||
|
- SD_AUTH=${SD_USERNAME}:${SD_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- /var/spacedrive:/var/spacedrive
|
||||||
31
apps/dokploy/templates/spacedrive/index.ts
Normal file
31
apps/dokploy/templates/spacedrive/index.ts
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
import {
|
||||||
|
type DomainSchema,
|
||||||
|
type Schema,
|
||||||
|
type Template,
|
||||||
|
generateRandomDomain,
|
||||||
|
generatePassword,
|
||||||
|
} from "../utils";
|
||||||
|
|
||||||
|
export function generate(schema: Schema): Template {
|
||||||
|
const randomDomain = generateRandomDomain(schema);
|
||||||
|
const secretKey = generatePassword();
|
||||||
|
const randomUsername = "admin"; // Default username
|
||||||
|
|
||||||
|
const domains: DomainSchema[] = [
|
||||||
|
{
|
||||||
|
host: randomDomain,
|
||||||
|
port: 8080,
|
||||||
|
serviceName: "server",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const envs = [
|
||||||
|
`SD_USERNAME=${randomUsername}`,
|
||||||
|
`SD_PASSWORD=${secretKey}`,
|
||||||
|
];
|
||||||
|
|
||||||
|
return {
|
||||||
|
envs,
|
||||||
|
domains,
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -538,7 +538,7 @@ export const templates: TemplateData[] = [
|
|||||||
website: "https://filebrowser.org/",
|
website: "https://filebrowser.org/",
|
||||||
docs: "https://filebrowser.org/",
|
docs: "https://filebrowser.org/",
|
||||||
},
|
},
|
||||||
tags: ["file", "manager"],
|
tags: ["file-manager","storage"],
|
||||||
load: () => import("./filebrowser/index").then((m) => m.generate),
|
load: () => import("./filebrowser/index").then((m) => m.generate),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -834,7 +834,7 @@ export const templates: TemplateData[] = [
|
|||||||
website: "https://nextcloud.com/",
|
website: "https://nextcloud.com/",
|
||||||
docs: "https://docs.nextcloud.com/",
|
docs: "https://docs.nextcloud.com/",
|
||||||
},
|
},
|
||||||
tags: ["file", "sync"],
|
tags: ["file-manager", "sync"],
|
||||||
load: () => import("./nextcloud-aio/index").then((m) => m.generate),
|
load: () => import("./nextcloud-aio/index").then((m) => m.generate),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1342,6 +1342,20 @@ export const templates: TemplateData[] = [
|
|||||||
load: () => import("./homarr/index").then((m) => m.generate),
|
load: () => import("./homarr/index").then((m) => m.generate),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
id: "spacedrive",
|
||||||
|
name: "Spacedrive",
|
||||||
|
version: "latest",
|
||||||
|
description:
|
||||||
|
"Spacedrive is a cross-platform file manager. It connects your devices together to help you organize files from anywhere. powered by a virtual distributed filesystem (VDFS) written in Rust. Organize files across many devices in one place.",
|
||||||
|
links: {
|
||||||
|
github: "https://github.com/spacedriveapp/spacedrive",
|
||||||
|
website: "https://spacedrive.com/",
|
||||||
|
docs: "https://www.spacedrive.com/docs/product/getting-started/introduction",
|
||||||
|
},
|
||||||
|
logo: "spacedrive.png",
|
||||||
|
tags: ["file-manager", "vdfs", "storage"],
|
||||||
|
},
|
||||||
|
{
|
||||||
id: "alist",
|
id: "alist",
|
||||||
name: "AList",
|
name: "AList",
|
||||||
version: "v3.41.0",
|
version: "v3.41.0",
|
||||||
@@ -1355,5 +1369,6 @@ export const templates: TemplateData[] = [
|
|||||||
},
|
},
|
||||||
tags: ["file", "webdav", "storage"],
|
tags: ["file", "webdav", "storage"],
|
||||||
load: () => import("./alist/index").then((m) => m.generate),
|
load: () => import("./alist/index").then((m) => m.generate),
|
||||||
|
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user