- Add health check (curl /api/health) so Traefik can verify container health - Set container hostname to nas.alexzaw.dev - Remove hardcoded demo credentials from login page - Remove admin123 fallback password — require SMB_PASSWORD env var - Fail fast if no admin password is configured
34 lines
1.0 KiB
JSON
34 lines
1.0 KiB
JSON
{
|
|
"schemaVersion": 2,
|
|
"$schema": "https://schemas.runtipi.io/dynamic-compose.json",
|
|
"services": [
|
|
{
|
|
"name": "nas-samba",
|
|
"image": "git.alexzaw.dev/alexz/nas-samba:1.0.1",
|
|
"isMain": true,
|
|
"internalPort": 8080,
|
|
"hostname": "nas.alexzaw.dev",
|
|
"addPorts": [
|
|
{ "hostPort": 445, "containerPort": 445, "interface": "${BIND_IP}" },
|
|
{ "hostPort": 139, "containerPort": 139, "interface": "${BIND_IP}" }
|
|
],
|
|
"volumes": [
|
|
{ "hostPath": "${NAS_PATH:-/nas}", "containerPath": "/nas" },
|
|
{ "hostPath": "${APP_DATA_DIR}/data/config", "containerPath": "/config" }
|
|
],
|
|
"environment": [
|
|
{ "key": "SMB_PASSWORD", "value": "${SMB_PASSWORD}" },
|
|
{ "key": "JWT_SECRET", "value": "${JWT_SECRET}" },
|
|
{ "key": "TZ", "value": "${TZ}" }
|
|
],
|
|
"healthCheck": {
|
|
"test": "curl --fail http://127.0.0.1:8080/api/health || exit 1",
|
|
"interval": "30s",
|
|
"timeout": "10s",
|
|
"retries": 3,
|
|
"startPeriod": "15s"
|
|
}
|
|
}
|
|
]
|
|
}
|