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"],
|
||||
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