Skip to content

Commit 868e487

Browse files
author
Exploding Labs Bot
committed
Update site from docs source repo
1 parent b8a6e1f commit 868e487

File tree

2 files changed

+47
-68
lines changed

2 files changed

+47
-68
lines changed

superstack/deploy/index.html

Lines changed: 46 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -358,28 +358,28 @@
358358
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
359359

360360
<li class="md-nav__item">
361-
<a href="#prepare-your-application" class="md-nav__link">
361+
<a href="#1-build-your-images" class="md-nav__link">
362362
<span class="md-ellipsis">
363-
Prepare your Application
363+
🧱 1. Build Your Images
364364
</span>
365365
</a>
366366

367367
</li>
368368

369369
<li class="md-nav__item">
370-
<a href="#deploy" class="md-nav__link">
370+
<a href="#2-copy-to-server" class="md-nav__link">
371371
<span class="md-ellipsis">
372-
📦 Deploy
372+
📦 2. Copy to Server
373373
</span>
374374
</a>
375375

376-
<nav class="md-nav" aria-label="📦 Deploy">
376+
<nav class="md-nav" aria-label="📦 2. Copy to Server">
377377
<ul class="md-nav__list">
378378

379379
<li class="md-nav__item">
380-
<a href="#secrets" class="md-nav__link">
380+
<a href="#3-set-secrets" class="md-nav__link">
381381
<span class="md-ellipsis">
382-
Secrets
382+
3. Set Secrets
383383
</span>
384384
</a>
385385

@@ -391,27 +391,18 @@
391391
</li>
392392

393393
<li class="md-nav__item">
394-
<a href="#launch-your-stack" class="md-nav__link">
394+
<a href="#launch-the-app" class="md-nav__link">
395395
<span class="md-ellipsis">
396-
🚀 Launch your Stack
396+
🚀 Launch the App
397397
</span>
398398
</a>
399399

400400
</li>
401401

402402
<li class="md-nav__item">
403-
<a href="#github-actions-workflow" class="md-nav__link">
403+
<a href="#next-steps" class="md-nav__link">
404404
<span class="md-ellipsis">
405-
Github Actions Workflow
406-
</span>
407-
</a>
408-
409-
</li>
410-
411-
<li class="md-nav__item">
412-
<a href="#what-now" class="md-nav__link">
413-
<span class="md-ellipsis">
414-
➕ What Now?
405+
🧭 Next Steps
415406
</span>
416407
</a>
417408

@@ -452,28 +443,28 @@
452443
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
453444

454445
<li class="md-nav__item">
455-
<a href="#prepare-your-application" class="md-nav__link">
446+
<a href="#1-build-your-images" class="md-nav__link">
456447
<span class="md-ellipsis">
457-
Prepare your Application
448+
🧱 1. Build Your Images
458449
</span>
459450
</a>
460451

461452
</li>
462453

463454
<li class="md-nav__item">
464-
<a href="#deploy" class="md-nav__link">
455+
<a href="#2-copy-to-server" class="md-nav__link">
465456
<span class="md-ellipsis">
466-
📦 Deploy
457+
📦 2. Copy to Server
467458
</span>
468459
</a>
469460

470-
<nav class="md-nav" aria-label="📦 Deploy">
461+
<nav class="md-nav" aria-label="📦 2. Copy to Server">
471462
<ul class="md-nav__list">
472463

473464
<li class="md-nav__item">
474-
<a href="#secrets" class="md-nav__link">
465+
<a href="#3-set-secrets" class="md-nav__link">
475466
<span class="md-ellipsis">
476-
Secrets
467+
3. Set Secrets
477468
</span>
478469
</a>
479470

@@ -485,27 +476,18 @@
485476
</li>
486477

487478
<li class="md-nav__item">
488-
<a href="#launch-your-stack" class="md-nav__link">
479+
<a href="#launch-the-app" class="md-nav__link">
489480
<span class="md-ellipsis">
490-
🚀 Launch your Stack
481+
🚀 Launch the App
491482
</span>
492483
</a>
493484

494485
</li>
495486

496487
<li class="md-nav__item">
497-
<a href="#github-actions-workflow" class="md-nav__link">
488+
<a href="#next-steps" class="md-nav__link">
498489
<span class="md-ellipsis">
499-
Github Actions Workflow
500-
</span>
501-
</a>
502-
503-
</li>
504-
505-
<li class="md-nav__item">
506-
<a href="#what-now" class="md-nav__link">
507-
<span class="md-ellipsis">
508-
➕ What Now?
490+
🧭 Next Steps
509491
</span>
510492
</a>
511493

@@ -534,49 +516,46 @@ <h1 id="deploying-to-remote-environments">☁️ Deploying to Remote Environment
534516
<p>SuperStack is <strong>Docker-native</strong>, so deployments are simple, consistent, and
535517
portable. The goal is that only <code>compose.yaml</code> and secrets need to exist on the
536518
remote server.</p>
537-
<h2 id="prepare-your-application">Prepare your Application</h2>
538-
<p>Services that are built (they have a <code>build:</code> section in <code>compose.yaml</code>), add
539-
your own container repository image URIs (e.g. your Docker Hub or GitHub
540-
Container Registry account), for example:</p>
519+
<h2 id="1-build-your-images">🧱 1. Build Your Images</h2>
520+
<p>If a service has a <code>build:</code> section, add your own image name and version tag:</p>
541521
<div class="highlight"><span class="filename">compose.yaml</span><pre><span></span><code><span class="nt">services</span><span class="p">:</span>
542522
<span class="w"> </span><span class="nt">caddy</span><span class="p">:</span>
543523
<span class="w"> </span><span class="nt">build</span><span class="p">:</span>
544524
<span class="w"> </span><span class="nt">context</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./caddy</span>
545-
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ghcr.io/youruser/yourapp-caddy:0.1.0</span>
546-
</code></pre></div>
525+
<span class="hll"><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ghcr.io/youruser/yourapp-caddy:0.1.0</span>
526+
</span></code></pre></div>
547527
<p>Build and push your images:</p>
548528
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>build
549529
docker<span class="w"> </span>compose<span class="w"> </span>push
550530
</code></pre></div>
551-
<h2 id="deploy">📦 Deploy</h2>
552-
<p>Copy <code>compose.yaml</code> to the server:</p>
531+
<h2 id="2-copy-to-server">📦 2. Copy to Server</h2>
532+
<p>Copy your <code>compose.yaml</code> to the remote host:</p>
553533
<div class="highlight"><pre><span></span><code>scp<span class="w"> </span>compose.yaml<span class="w"> </span>youruser@yourserver:
554534
</code></pre></div>
555-
<h3 id="secrets">Secrets</h3>
556-
<p>The app also needs your secrets (passwords, keys, etc.).</p>
557-
<p>There are a few options:</p>
535+
<h3 id="3-set-secrets">3. Set Secrets</h3>
536+
<p>Your app will need credentials such as database passwords or API keys.
537+
Choose one of these approaches:</p>
558538
<ol>
559-
<li>Put secrets in a <code>.env</code> file on the server, alongside your compose.yaml.
560-
Convenient but Less secure. Be sure to <code>chmod 600 .env</code>.</li>
561-
<li>Set environment variables in the the <code>docker compose</code> command. Inconvenient.
562-
Be sure to disable shell history.</li>
563-
<li>Use environment injection in CI/CD.</li>
539+
<li><strong><code>.env</code> file</strong> — simplest for manual deploys.</li>
564540
</ol>
565-
<h2 id="launch-your-stack">🚀 Launch your Stack</h2>
566-
<p>Bring up the stack:</p>
541+
<div class="highlight"><pre><span></span><code>chmod<span class="w"> </span><span class="m">600</span><span class="w"> </span>.env
542+
</code></pre></div>
543+
<ol>
544+
<li><strong>Environment variables</strong> — pass them directly to the command line.</li>
545+
<li><strong>CI/CD injection</strong> — good for automated pipelines.</li>
546+
</ol>
547+
<h2 id="launch-the-app">🚀 Launch the App</h2>
548+
<p>Start the application on the server:</p>
567549
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>pull
568550
docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w"> </span>-d
569551
</code></pre></div>
552+
<p>Your backend is now live. 🚀</p>
570553
<hr />
571-
<p>That’s it — your backend is live.</p>
572-
<p>This type of rolling deployment makes it hard to test before going live and to
573-
rollback, and can have some downtime while upgrading. Consider reading the Wiki
574-
page on <a href="">Advanced Deployments</a>.</p>
575-
<h2 id="github-actions-workflow">Github Actions Workflow</h2>
576-
<p>TODO</p>
577-
<hr />
578-
<h2 id="what-now">➕ What Now?</h2>
579-
<p>Add to your app by following guides in the <a href="https://github.com/explodinlabs/superstack/wiki">Wiki</a>.</p>
554+
<h2 id="next-steps">🧭 Next Steps</h2>
555+
<p>This setup replaces the stack in place.</p>
556+
<p>If you want zero-downtime deployments, rollback support, or blue-green testing,
557+
see the Wiki page: <a href="https://github.com/explodinlabs/superstack/wiki">Advanced
558+
Deployments</a>.</p>
580559

581560

582561

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Home","text":""},{"location":"#superstack","title":"SuperStack","text":"<p>Jump to: GitHub | Developer Wiki</p> <p>SuperStack is a minimal, modular backend powered by Docker \u2014 perfect for indie developers, SaaS builders, and teams who want full control without the bloat.</p> <p>Spin up a fully working backend in seconds. Just clone, run, and start building.</p>"},{"location":"#what-can-i-do-with-superstack","title":"\ud83d\ude80 What Can I Do with SuperStack?","text":"<p>It's perfect for:</p> <ul> <li>\ud83e\uddf1 Building SaaS apps</li> <li>\ud83d\udcbb Running multiple stacks</li> <li>\ud83d\udce6 Easy database migrations</li> <li>\ud83d\udd27 Customizing your toolchain</li> </ul> <p>Everything runs inside Docker and routes through a single exposed port (via Caddy), making it easy to develop locally or deploy remotely.</p>"},{"location":"#whats-next","title":"\ud83d\udcda What's next?","text":"<p>\ud83d\udc49 Getting Started \u2013 a guide to installing SuperStack and launching the stack.</p>"},{"location":"deploy/","title":"\u2601\ufe0f Deploying to Remote Environments","text":"<p>SuperStack is Docker-native, so deployments are simple, consistent, and portable. The goal is that only <code>compose.yaml</code> and secrets need to exist on the remote server.</p>"},{"location":"deploy/#prepare-your-application","title":"Prepare your Application","text":"<p>Services that are built (they have a <code>build:</code> section in <code>compose.yaml</code>), add your own container repository image URIs (e.g. your Docker Hub or GitHub Container Registry account), for example:</p> compose.yaml<pre><code>services:\n caddy:\n build:\n context: ./caddy\n image: ghcr.io/youruser/yourapp-caddy:0.1.0\n</code></pre> <p>Build and push your images:</p> <pre><code>docker compose build\ndocker compose push\n</code></pre>"},{"location":"deploy/#deploy","title":"\ud83d\udce6 Deploy","text":"<p>Copy <code>compose.yaml</code> to the server:</p> <pre><code>scp compose.yaml youruser@yourserver:\n</code></pre>"},{"location":"deploy/#secrets","title":"Secrets","text":"<p>The app also needs your secrets (passwords, keys, etc.).</p> <p>There are a few options:</p> <ol> <li>Put secrets in a <code>.env</code> file on the server, alongside your compose.yaml. Convenient but Less secure. Be sure to <code>chmod 600 .env</code>.</li> <li>Set environment variables in the the <code>docker compose</code> command. Inconvenient. Be sure to disable shell history.</li> <li>Use environment injection in CI/CD.</li> </ol>"},{"location":"deploy/#launch-your-stack","title":"\ud83d\ude80 Launch your Stack","text":"<p>Bring up the stack:</p> <pre><code>docker compose pull\ndocker compose up -d\n</code></pre> <p>That\u2019s it \u2014 your backend is live.</p> <p>This type of rolling deployment makes it hard to test before going live and to rollback, and can have some downtime while upgrading. Consider reading the Wiki page on Advanced Deployments.</p>"},{"location":"deploy/#github-actions-workflow","title":"Github Actions Workflow","text":"<p>TODO</p>"},{"location":"deploy/#what-now","title":"\u2795 What Now?","text":"<p>Add to your app by following guides in the Wiki.</p>"},{"location":"gettingstarted/","title":"\ud83d\ude80 Getting Started","text":"<p>SuperStack uses Docker, so make sure Docker is installed before you begin.</p>"},{"location":"gettingstarted/#1-get-superstack","title":"1. Get SuperStack","text":""},{"location":"gettingstarted/#option-1-use-the-template-easiest","title":"Option 1: Use the Template (Easiest)","text":"<p>Click Use this template and create a new repository (e.g. <code>myapp-backend</code>) on GitHub.</p> <p>Clone it to your machine:</p> <pre><code>git clone https://github.com/yourname/myapp-backend.git\ncd myapp-backend\n</code></pre>"},{"location":"gettingstarted/#option-2-clone-and-track-upstream-advanced","title":"Option 2: Clone and Track Upstream (Advanced)","text":"<p>If you want to keep SuperStack\u2019s Git history and pull upstream changes later, clone SuperStack:</p> <pre><code>git clone https://github.com/explodinglabs/superstack.git myapp-backend\ncd myapp-backend\n</code></pre> <p>Create your own repo, then:</p> <pre><code>git remote rename origin upstream\ngit remote add origin https://github.com/yourname/myapp-backend.git\ngit push -u origin main\n</code></pre> <p>You can now pull upstream changes with:</p> <pre><code>git pull upstream main\n</code></pre>"},{"location":"gettingstarted/#2-configure-environment-variables","title":"2. Configure Environment Variables","text":"<p>Copy the example environment file:</p> <pre><code>cd app\ncp example.env .env\n</code></pre> <p>The <code>.env</code> file is used to set secrets, passwords, keys, etc.</p> <p>\u26a0\ufe0f Never store secrets in version control.</p>"},{"location":"gettingstarted/#3-start-the-app","title":"3. Start the App","text":"<pre><code>docker compose up -d\n</code></pre> <p>That's it \u2013 your backend is live.</p> <p>Test it with:</p> <pre><code>$ curl http://localhost:8000/healthcheck\nOK\n</code></pre>"},{"location":"gettingstarted/#whats-next","title":"\u2795 What's Next?","text":"<p>\ud83d\udc49 Deploy to a remote environment</p>"}]}
1+
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Home","text":""},{"location":"#superstack","title":"SuperStack","text":"<p>Jump to: GitHub | Developer Wiki</p> <p>SuperStack is a minimal, modular backend powered by Docker \u2014 perfect for indie developers, SaaS builders, and teams who want full control without the bloat.</p> <p>Spin up a fully working backend in seconds. Just clone, run, and start building.</p>"},{"location":"#what-can-i-do-with-superstack","title":"\ud83d\ude80 What Can I Do with SuperStack?","text":"<p>It's perfect for:</p> <ul> <li>\ud83e\uddf1 Building SaaS apps</li> <li>\ud83d\udcbb Running multiple stacks</li> <li>\ud83d\udce6 Easy database migrations</li> <li>\ud83d\udd27 Customizing your toolchain</li> </ul> <p>Everything runs inside Docker and routes through a single exposed port (via Caddy), making it easy to develop locally or deploy remotely.</p>"},{"location":"#whats-next","title":"\ud83d\udcda What's next?","text":"<p>\ud83d\udc49 Getting Started \u2013 a guide to installing SuperStack and launching the stack.</p>"},{"location":"deploy/","title":"\u2601\ufe0f Deploying to Remote Environments","text":"<p>SuperStack is Docker-native, so deployments are simple, consistent, and portable. The goal is that only <code>compose.yaml</code> and secrets need to exist on the remote server.</p>"},{"location":"deploy/#1-build-your-images","title":"\ud83e\uddf1 1. Build Your Images","text":"<p>If a service has a <code>build:</code> section, add your own image name and version tag:</p> compose.yaml<pre><code>services:\n caddy:\n build:\n context: ./caddy\n image: ghcr.io/youruser/yourapp-caddy:0.1.0\n</code></pre> <p>Build and push your images:</p> <pre><code>docker compose build\ndocker compose push\n</code></pre>"},{"location":"deploy/#2-copy-to-server","title":"\ud83d\udce6 2. Copy to Server","text":"<p>Copy your <code>compose.yaml</code> to the remote host:</p> <pre><code>scp compose.yaml youruser@yourserver:\n</code></pre>"},{"location":"deploy/#3-set-secrets","title":"3. Set Secrets","text":"<p>Your app will need credentials such as database passwords or API keys. Choose one of these approaches:</p> <ol> <li><code>.env</code> file \u2014 simplest for manual deploys.</li> </ol> <pre><code>chmod 600 .env\n</code></pre> <ol> <li>Environment variables \u2014 pass them directly to the command line.</li> <li>CI/CD injection \u2014 good for automated pipelines.</li> </ol>"},{"location":"deploy/#launch-the-app","title":"\ud83d\ude80 Launch the App","text":"<p>Start the application on the server:</p> <pre><code>docker compose pull\ndocker compose up -d\n</code></pre> <p>Your backend is now live. \ud83d\ude80</p>"},{"location":"deploy/#next-steps","title":"\ud83e\udded Next Steps","text":"<p>This setup replaces the stack in place.</p> <p>If you want zero-downtime deployments, rollback support, or blue-green testing, see the Wiki page: Advanced Deployments.</p>"},{"location":"gettingstarted/","title":"\ud83d\ude80 Getting Started","text":"<p>SuperStack uses Docker, so make sure Docker is installed before you begin.</p>"},{"location":"gettingstarted/#1-get-superstack","title":"1. Get SuperStack","text":""},{"location":"gettingstarted/#option-1-use-the-template-easiest","title":"Option 1: Use the Template (Easiest)","text":"<p>Click Use this template and create a new repository (e.g. <code>myapp-backend</code>) on GitHub.</p> <p>Clone it to your machine:</p> <pre><code>git clone https://github.com/yourname/myapp-backend.git\ncd myapp-backend\n</code></pre>"},{"location":"gettingstarted/#option-2-clone-and-track-upstream-advanced","title":"Option 2: Clone and Track Upstream (Advanced)","text":"<p>If you want to keep SuperStack\u2019s Git history and pull upstream changes later, clone SuperStack:</p> <pre><code>git clone https://github.com/explodinglabs/superstack.git myapp-backend\ncd myapp-backend\n</code></pre> <p>Create your own repo, then:</p> <pre><code>git remote rename origin upstream\ngit remote add origin https://github.com/yourname/myapp-backend.git\ngit push -u origin main\n</code></pre> <p>You can now pull upstream changes with:</p> <pre><code>git pull upstream main\n</code></pre>"},{"location":"gettingstarted/#2-configure-environment-variables","title":"2. Configure Environment Variables","text":"<p>Copy the example environment file:</p> <pre><code>cd app\ncp example.env .env\n</code></pre> <p>The <code>.env</code> file is used to set secrets, passwords, keys, etc.</p> <p>\u26a0\ufe0f Never store secrets in version control.</p>"},{"location":"gettingstarted/#3-start-the-app","title":"3. Start the App","text":"<pre><code>docker compose up -d\n</code></pre> <p>That's it \u2013 your backend is live.</p> <p>Test it with:</p> <pre><code>$ curl http://localhost:8000/healthcheck\nOK\n</code></pre>"},{"location":"gettingstarted/#whats-next","title":"\u2795 What's Next?","text":"<p>\ud83d\udc49 Deploy to a remote environment</p>"}]}

0 commit comments

Comments
 (0)