mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
feat: add minio
This commit is contained in:
parent
3cd3db6828
commit
86fc59d850
BIN
public/templates/minio.png
Normal file
BIN
public/templates/minio.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
31
templates/minio/docker-compose.yml
Normal file
31
templates/minio/docker-compose.yml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
version: '3.8'
|
||||||
|
services:
|
||||||
|
minio:
|
||||||
|
image: minio/minio
|
||||||
|
ports:
|
||||||
|
- ${MINIO_API_PORT}
|
||||||
|
- ${MINIO_DASHBOARD_PORT}
|
||||||
|
volumes:
|
||||||
|
- minio-data:/data
|
||||||
|
environment:
|
||||||
|
- MINIO_ROOT_USER=minioadmin
|
||||||
|
- MINIO_ROOT_PASSWORD=minioadmin123
|
||||||
|
command: server /data --console-address ":9001"
|
||||||
|
networks:
|
||||||
|
- dokploy-network
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.${HASH}.service=${HASH}
|
||||||
|
- traefik.http.routers.${HASH}.rule=Host(`${MINIO_DASHBOARD_HOST}`)
|
||||||
|
- traefik.http.services.${HASH}.loadbalancer.server.port=${MINIO_DASHBOARD_PORT}
|
||||||
|
# API router and service
|
||||||
|
- traefik.http.routers.${HASH}-api.service=${HASH}-api
|
||||||
|
- traefik.http.routers.${HASH}-api.rule=Host(`${MINIO_API_HOST}`)
|
||||||
|
- traefik.http.services.${HASH}-api.loadbalancer.server.port=${MINIO_API_PORT}
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
minio-data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
dokploy-network:
|
||||||
|
external: true
|
23
templates/minio/index.ts
Normal file
23
templates/minio/index.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import {
|
||||||
|
generateHash,
|
||||||
|
generateRandomDomain,
|
||||||
|
type Template,
|
||||||
|
type Schema,
|
||||||
|
} from "../utils";
|
||||||
|
|
||||||
|
export function generate(schema: Schema): Template {
|
||||||
|
const mainServiceHash = generateHash(schema.projectName);
|
||||||
|
const randomDomain = generateRandomDomain(schema);
|
||||||
|
const apiDomain = generateRandomDomain(schema);
|
||||||
|
const envs = [
|
||||||
|
`MINIO_DASHBOARD_HOST=${randomDomain}`,
|
||||||
|
"MINIO_DASHBOARD_PORT=9001",
|
||||||
|
`MINIO_API_HOST=${apiDomain}`,
|
||||||
|
"MINIO_API_PORT=9000",
|
||||||
|
`HASH=${mainServiceHash}`,
|
||||||
|
];
|
||||||
|
|
||||||
|
return {
|
||||||
|
envs,
|
||||||
|
};
|
||||||
|
}
|
@ -274,4 +274,19 @@ export const templates: TemplateData[] = [
|
|||||||
tags: ["chat"],
|
tags: ["chat"],
|
||||||
load: () => import("./rocketchat/index").then((m) => m.generate),
|
load: () => import("./rocketchat/index").then((m) => m.generate),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: "minio",
|
||||||
|
name: "Minio",
|
||||||
|
description:
|
||||||
|
"Minio is an open source object storage server compatible with Amazon S3 cloud storage service.",
|
||||||
|
logo: "minio.png",
|
||||||
|
version: "latest",
|
||||||
|
links: {
|
||||||
|
github: "https://github.com/minio/minio",
|
||||||
|
website: "https://minio.io/",
|
||||||
|
docs: "https://docs.minio.io/",
|
||||||
|
},
|
||||||
|
tags: ["storage"],
|
||||||
|
load: () => import("./minio/index").then((m) => m.generate),
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
Loading…
Reference in New Issue
Block a user