Skip to content

Commit f56ccd5

Browse files
committed
feat(blog): add tracker deployer deployment article
1 parent 67dd52e commit f56ccd5

13 files changed

Lines changed: 1856 additions & 59 deletions

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)