mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-26 16:28:15 +00:00
d8e69a3adf
* fix(obs): prevent rolling log stdout aliasing * fix(ecstore): bound hot-path tracing payloads * test(logging): guard service and disk log invariants * fix(obs): silence useless_conversion on st_dev for Linux clippy rustix's Stat.st_dev is u64 on Linux/glibc, making u64::try_from a no-op that trips clippy::useless_conversion under -D warnings. The conversion is still needed on macOS/BSD where st_dev is a signed dev_t, so suppress the lint on that line rather than dropping the portable fallible conversion. * fix(logging): keep stdout sink validation portable (#4769) * fix(obs): keep stdout device conversion portable * docs(logging): update single-writer plan status --------- Co-authored-by: overtrue <anzhengchao@gmail.com> Co-authored-by: houseme <housemecn@gmail.com>
61 lines
1.4 KiB
Desktop File
61 lines
1.4 KiB
Desktop File
[Unit]
|
|
Description=RustFS Object Storage Server
|
|
Documentation=https://rustfs.com/docs/
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
# If you're using a database, you'll need to add the corresponding dependencies
|
|
# After=postgresql.service
|
|
# Requires=postgresql.service
|
|
|
|
[Service]
|
|
Type=notify
|
|
NotifyAccess=main
|
|
User=rustfs
|
|
Group=rustfs
|
|
|
|
# working directory
|
|
WorkingDirectory=/opt/rustfs
|
|
|
|
# Environment-driven startup.
|
|
# rustfs reads address, volumes, console, credentials, and other runtime settings
|
|
# from RUSTFS_* variables. See `../config/rustfs.env` for an example template.
|
|
EnvironmentFile=/etc/default/rustfs
|
|
ExecStart=/usr/local/bin/rustfs server
|
|
|
|
# service log configuration
|
|
LogsDirectory=rustfs
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
|
|
# resource constraints
|
|
LimitNOFILE=1048576
|
|
LimitNPROC=32768
|
|
TasksMax=infinity
|
|
|
|
# restart the policy
|
|
Restart=always
|
|
RestartSec=10s
|
|
|
|
# graceful exit configuration
|
|
# Type=notify waits for READY=1, so startup timeout must cover RustFS initialization
|
|
# plus runtime readiness checks on slower disks or cold starts.
|
|
TimeoutStartSec=120s
|
|
TimeoutStopSec=45s
|
|
|
|
# security settings
|
|
NoNewPrivileges=true
|
|
ProtectSystem=full
|
|
ProtectHome=true
|
|
PrivateTmp=true
|
|
PrivateDevices=true
|
|
ProtectClock=true
|
|
ProtectKernelTunables=true
|
|
ProtectKernelModules=true
|
|
ProtectControlGroups=true
|
|
RestrictSUIDSGID=true
|
|
RestrictRealtime=true
|
|
ReadWritePaths=/data/rustfs /var/log/rustfs
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|