49 lines
1.5 KiB
Nix
49 lines
1.5 KiB
Nix
|
{
|
||
|
project.name = "minio";
|
||
|
|
||
|
networks.dmz = {
|
||
|
name = "dmz";
|
||
|
external = true;
|
||
|
};
|
||
|
|
||
|
services = {
|
||
|
minio.service = {
|
||
|
image = "bitnami/minio:2024.5.10";
|
||
|
container_name = "minio";
|
||
|
labels = {
|
||
|
"traefik.enable" = "true";
|
||
|
|
||
|
# API
|
||
|
"traefik.http.routers.minio.rule" = "Host(`files.ghoscht.com`)";
|
||
|
"traefik.http.routers.minio.service" = "minio";
|
||
|
"traefik.http.routers.minio.entrypoints" = "websecure";
|
||
|
"traefik.http.services.minio.loadbalancer.server.port" = "9000";
|
||
|
"traefik.http.routers.minio.tls" = "true";
|
||
|
"traefik.http.routers.minio.tls.certresolver" = "letsencrypt";
|
||
|
|
||
|
# Dashboard
|
||
|
"traefik.http.routers.minio-dash.rule" = "Host(`minio.ghoscht.com`)";
|
||
|
"traefik.http.routers.minio-dash.service" = "minio-dash";
|
||
|
"traefik.http.routers.minio-dash.entrypoints" = "websecure";
|
||
|
"traefik.http.services.minio-dash.loadbalancer.server.port" = "9001";
|
||
|
"traefik.http.routers.minio-dash.tls" = "true";
|
||
|
"traefik.http.routers.minio-dash.tls.certresolver" = "letsencrypt";
|
||
|
};
|
||
|
volumes = [
|
||
|
"/storage/dataset/docker/minio/minio_data:/data"
|
||
|
];
|
||
|
environment = {
|
||
|
MINIO_DATA_DIR = "/data";
|
||
|
MINIO_BROWSER_REDIRECT_URL = "https://minio.ghoscht.com";
|
||
|
};
|
||
|
env_file = [
|
||
|
"/home/ghoscht/.docker/minio/minio.env"
|
||
|
];
|
||
|
restart = "unless-stopped";
|
||
|
networks = [
|
||
|
"dmz"
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
}
|