Improve and standardized error handling
This commit is contained in:
@@ -88,10 +88,67 @@ python run.py --mode ui
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
<article id="auth" class="card shadow-sm docs-section">
|
||||
<article id="background" class="card shadow-sm docs-section">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center gap-2 mb-3">
|
||||
<span class="docs-section-kicker">02</span>
|
||||
<h2 class="h4 mb-0">Running in background</h2>
|
||||
</div>
|
||||
<p class="text-muted">For production or server deployments, run MyFSIO as a background service so it persists after you close the terminal.</p>
|
||||
|
||||
<h3 class="h6 text-uppercase text-muted mt-4">Quick Start (nohup)</h3>
|
||||
<p class="text-muted small">Simplest way to run in background—survives terminal close:</p>
|
||||
<pre class="mb-3"><code class="language-bash"># Using Python
|
||||
nohup python run.py --prod > /dev/null 2>&1 &
|
||||
|
||||
# Using compiled binary
|
||||
nohup ./myfsio > /dev/null 2>&1 &
|
||||
|
||||
# Check if running
|
||||
ps aux | grep myfsio</code></pre>
|
||||
|
||||
<h3 class="h6 text-uppercase text-muted mt-4">Screen / Tmux</h3>
|
||||
<p class="text-muted small">Attach/detach from a persistent session:</p>
|
||||
<pre class="mb-3"><code class="language-bash"># Start in a detached screen session
|
||||
screen -dmS myfsio ./myfsio
|
||||
|
||||
# Attach to view logs
|
||||
screen -r myfsio
|
||||
|
||||
# Detach: press Ctrl+A, then D</code></pre>
|
||||
|
||||
<h3 class="h6 text-uppercase text-muted mt-4">Systemd (Recommended for Production)</h3>
|
||||
<p class="text-muted small">Create <code>/etc/systemd/system/myfsio.service</code>:</p>
|
||||
<pre class="mb-3"><code class="language-ini">[Unit]
|
||||
Description=MyFSIO S3-Compatible Storage
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=myfsio
|
||||
WorkingDirectory=/opt/myfsio
|
||||
ExecStart=/opt/myfsio/myfsio
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
Environment=MYFSIO_DATA_DIR=/var/lib/myfsio
|
||||
Environment=API_BASE_URL=https://s3.example.com
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target</code></pre>
|
||||
<p class="text-muted small">Then enable and start:</p>
|
||||
<pre class="mb-0"><code class="language-bash">sudo systemctl daemon-reload
|
||||
sudo systemctl enable myfsio
|
||||
sudo systemctl start myfsio
|
||||
|
||||
# Check status
|
||||
sudo systemctl status myfsio
|
||||
sudo journalctl -u myfsio -f # View logs</code></pre>
|
||||
</div>
|
||||
</article>
|
||||
<article id="auth" class="card shadow-sm docs-section">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center gap-2 mb-3">
|
||||
<span class="docs-section-kicker">03</span>
|
||||
<h2 class="h4 mb-0">Authenticate & manage IAM</h2>
|
||||
</div>
|
||||
<p class="text-muted">MyFSIO seeds <code>data/.myfsio.sys/config/iam.json</code> with <code>localadmin/localadmin</code>. Sign in once, rotate it, then grant least-privilege access to teammates and tools.</p>
|
||||
@@ -109,7 +166,7 @@ python run.py --mode ui
|
||||
<article id="console" class="card shadow-sm docs-section">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center gap-2 mb-3">
|
||||
<span class="docs-section-kicker">03</span>
|
||||
<span class="docs-section-kicker">04</span>
|
||||
<h2 class="h4 mb-0">Use the console effectively</h2>
|
||||
</div>
|
||||
<p class="text-muted">Each workspace models an S3 workflow so you can administer buckets end-to-end.</p>
|
||||
@@ -148,7 +205,7 @@ python run.py --mode ui
|
||||
<article id="automation" class="card shadow-sm docs-section">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center gap-2 mb-3">
|
||||
<span class="docs-section-kicker">04</span>
|
||||
<span class="docs-section-kicker">05</span>
|
||||
<h2 class="h4 mb-0">Automate with CLI & tools</h2>
|
||||
</div>
|
||||
<p class="text-muted">Point standard S3 clients at {{ api_base }} and reuse the same IAM credentials.</p>
|
||||
@@ -201,7 +258,7 @@ curl -X POST {{ api_base }}/presign/demo/notes.txt \
|
||||
<article id="api" class="card shadow-sm docs-section">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center gap-2 mb-3">
|
||||
<span class="docs-section-kicker">05</span>
|
||||
<span class="docs-section-kicker">06</span>
|
||||
<h2 class="h4 mb-0">Key REST endpoints</h2>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
@@ -268,7 +325,7 @@ curl -X POST {{ api_base }}/presign/demo/notes.txt \
|
||||
<article id="examples" class="card shadow-sm docs-section">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center gap-2 mb-3">
|
||||
<span class="docs-section-kicker">06</span>
|
||||
<span class="docs-section-kicker">07</span>
|
||||
<h2 class="h4 mb-0">API Examples</h2>
|
||||
</div>
|
||||
<p class="text-muted">Common operations using boto3.</p>
|
||||
@@ -307,7 +364,7 @@ s3.complete_multipart_upload(
|
||||
<article id="replication" class="card shadow-sm docs-section">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center gap-2 mb-3">
|
||||
<span class="docs-section-kicker">07</span>
|
||||
<span class="docs-section-kicker">08</span>
|
||||
<h2 class="h4 mb-0">Site Replication</h2>
|
||||
</div>
|
||||
<p class="text-muted">Automatically copy new objects to another MyFSIO instance or S3-compatible service for backup or disaster recovery.</p>
|
||||
@@ -354,7 +411,7 @@ s3.complete_multipart_upload(
|
||||
<article id="troubleshooting" class="card shadow-sm docs-section">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center gap-2 mb-3">
|
||||
<span class="docs-section-kicker">08</span>
|
||||
<span class="docs-section-kicker">09</span>
|
||||
<h2 class="h4 mb-0">Troubleshooting & tips</h2>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
@@ -404,10 +461,12 @@ s3.complete_multipart_upload(
|
||||
<h3 class="h6 text-uppercase text-muted mb-3">On this page</h3>
|
||||
<ul class="list-unstyled docs-toc mb-4">
|
||||
<li><a href="#setup">Set up & run</a></li>
|
||||
<li><a href="#background">Running in background</a></li>
|
||||
<li><a href="#auth">Authentication & IAM</a></li>
|
||||
<li><a href="#console">Console tour</a></li>
|
||||
<li><a href="#automation">Automation / CLI</a></li>
|
||||
<li><a href="#api">REST endpoints</a></li>
|
||||
<li><a href="#examples">API Examples</a></li>
|
||||
<li><a href="#replication">Site Replication</a></li>
|
||||
<li><a href="#troubleshooting">Troubleshooting</a></li>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user