Skip to content

Commit 9aeb12f

Browse files
committed
Merge #187: feat(blog): add deployer-based tracker deployment article
f56ccd5 feat(blog): add tracker deployer deployment article (Jose Celano) Pull request description: ## Summary - add new blog post: Deploying Torrust Tracker with the Deployer - add article metadata and page server loader - add article images in WebP format - update related link(s) and generated blog metadata ## Validation - npm run check - npm run lint - npm run build ## Notes - pre-commit checks passed locally (warnings only, no errors) ACKs for top commit: josecelano: ACK f56ccd5 Tree-SHA512: 6364b4308a590567178a0bb317b58b2a1e1f10f79fcd10916d83fffb38f86bc10d7669a71471286ae96bca6e4f525b09a6cfec94589f691b698336e2d862553a
2 parents 67dd52e + f56ccd5 commit 9aeb12f

13 files changed

+1856
-59
lines changed

src/routes/blog/deploying-torrust-to-production/+page.svelte

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,18 @@
2626
<div class="wrapper">
2727
<Toc class="toc" />
2828
<div id="toc-contents" class="content-preview">
29+
<Callout type="info">
30+
<strong>Update (April 2026):</strong> We now have the
31+
<a href="/blog/deploying-torrust-tracker-with-the-deployer">Torrust Tracker Deployer</a>,
32+
a tool that automates most of the steps described in this guide. If you are starting a new
33+
deployment, we recommend reading
34+
<a href="/blog/deploying-torrust-tracker-with-the-deployer"
35+
>Deploying the Torrust Tracker Demo with the Torrust Tracker Deployer</a
36+
>
37+
instead. This guide remains useful as a reference for understanding what the deployer does under
38+
the hood, or for deploying on providers the deployer does not yet support.
39+
</Callout>
40+
2941
<h2 id="introduction">Introduction</h2>
3042
<p>
3143
Welcome to our guide on deploying a BitTorrent Index and Tracker. We&#39;ll walk you
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { getMetadata } from '$lib/data/metadata';
2+
import type { PageServerLoad } from './$types';
3+
4+
export const load: PageServerLoad = async ({ url }) => {
5+
const slug = url.pathname.split('/').filter(Boolean).pop();
6+
if (!slug) throw new Error('Slug could not be determined.');
7+
8+
const metadata = await getMetadata();
9+
const currentPost = metadata.find((post) => post.slug === slug);
10+
11+
if (!currentPost) throw new Error(`Post not found: ${slug}`);
12+
13+
return { currentPost, allPosts: metadata };
14+
};

0 commit comments

Comments
 (0)