diff --git a/app.config.ts b/app.config.ts index ff4a950..9e361e7 100644 --- a/app.config.ts +++ b/app.config.ts @@ -1,23 +1,33 @@ // https://github.com/nuxt-themes/docus/blob/main/nuxt.schema.ts export default defineAppConfig({ + colorMode: { + preference: 'dark', + fallback:'dark', + }, + docus: { - title: 'Docus', - description: 'The best place to start your documentation.', + title: 'Docudjeex', + description: 'La doc de mes expériences', image: 'https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png', socials: { - twitter: 'nuxt_js', - github: 'nuxt-themes/docus', - nuxt: { - label: 'Nuxt', - icon: 'simple-icons:nuxtdotjs', - href: 'https://nuxt.com' - } + + Gitea: { + label: 'Gitea', + icon: 'cib:gitea', + href: 'https://git.djeex.fr/Djeex/docudjeex', + }, + Discord: { + label: 'Discord', + icon: 'cbi:discord', + href: 'https://discord.gg/jvhardware', + }, }, github: { + baseUrl:'https://git.djeex.fr', dir: '.starters/default/content', branch: 'main', - repo: 'docus', - owner: 'nuxt-themes', + repo: 'docudjeex', + owner: 'Djeex', edit: true }, aside: { diff --git a/content/0.index.md b/content/0.index.md index d909fd8..2683472 100644 --- a/content/0.index.md +++ b/content/0.index.md @@ -11,89 +11,69 @@ main: ::block-hero --- cta: - - Get started - - /introduction/getting-started + - Accéder à la doc + - /serveex/introduction secondary: - - Open on GitHub → - - https://github.com/nuxt-themes/docus + - Discord → + - https://discord.gg/jvhardware --- #title -The best place to start your documentation. +Bienvenue sur Docudjeex #description -Write pages in [Markdown](https://content.nuxtjs.org), use [Vue](https://vuejs.org) components and enjoy the power of [Nuxt](https://nuxt.com). +Docudjeex est le site regroupant la documentation de mes serveurs, pensé à l'origine pour retrouver facilement mes configurations et commandes. Mon infrastructure est construite autour du duo Debian 12 et docker, pour plus de simplicité à l'export et au déploiement. #extra ::list - - **+50 Components** ready to build rich pages - - **Docs** and **Page** layouts - - Start from a `README`, scale to a framework documentation - - Navigation and Table of Contents generation - - Fully configurable design system - - Leverages [**Typography**](https://typography.nuxt.space/) and [**Elements**](https://elements.nuxt.dev) - - Used on [Content Documentation](https://content.nuxtjs.org) + - **Installation de Debian** pour votre serveur + - **Docker** pour déployer vos services + - **VPN** pour accéder à votre réseau privé + - **Reverse proxy** et **Zero Trust** pour exposer vos services + - **SSO** et **Multi-facteur** pour protéger vos services exposés + - **Cloud** et **media** pour accéder et synchroniser vos fichiers et media + - _(à venir)_ **Créer votre NAS** de A à Z pour stocker vos données + - _(à venir)_ **Backup 3-2-1** _(à venir)_ :: #support ::terminal --- content: - - npx nuxi@latest init -t themes/docus - - cd docs - - npm install - - npm run dev + - ssh user@serveex -p 22 + - cd /docker + - sudo docker compose up -d + --- :: :: ::card-grid #title -What's included +Documentation disponible ou en cours #root :ellipsis{left=0px width=40rem top=10rem blur=140px} #default - ::card{icon=logos:nuxt-icon} + ::card{icon=noto:microscope} #title - Nuxt Architecture + Serveex #description - Harness the full power of [Nuxt 3](https://v3.nuxtjs.org) and its [modules](https://modules.nuxtjs.org) ecosystem. + Votre homelab à déployer pas à pas :: - ::card{icon=IconNuxtStudio} + ::card{icon=noto:computer-disk} #title - Nuxt Studio ready + Stockeex #description - Edit your theme content and appearance with live-preview within [Nuxt Studio](https://nuxt.studio). - :: - - ::card{icon=logos:vue} - #title - Vue Components - #description - Use built-in components (or your own!) inside your content. - :: - - ::card{icon=simple-icons:markdown} - #title - Write Markdown - #description - Enjoy the ease and simplicity of Markdown and discover [MDC syntax](https://content.nuxtjs.org/guide/writing/mdc). - :: - - ::card{icon=noto:rocket} - #title - Deploy anywhere - #description - Zero config on [Vercel](https://vercel.com) or [Netlify](https://netlify.com). Choose between static generation, on-demand rendering (Node) or edge-side rendering on [CloudFlare workers](https://workers.cloudflare.com). - :: - - ::card{icon=noto:puzzle-piece} - #title - Extensible. - #description - Customize the whole design, or add components using slots - you can make Docus your own. + Votre NAS maison à créer chez vous pour stocker vos données et media (à venir) :: :: + +## A propos de la documentation + +La documentation fournie ici est distribuée à titre expérimentale, dans un esprit de partage d'expérience. Elle n'est en aucun cas faite pour construire une architecture de production ou pour de l'industrialisation. Il est possible qu'elle contienne des erreurs et/ou des approximations. + +Evidemment l'usage de cette documentation doit strictement se limiter au cadre légal. + diff --git a/content/1.introduction/1.getting-started.md b/content/1.introduction/1.getting-started.md deleted file mode 100644 index 4c08c14..0000000 --- a/content/1.introduction/1.getting-started.md +++ /dev/null @@ -1,57 +0,0 @@ -# Getting Started - -From your Markdown files to a deployed website in few minutes. - -## Play online - -You can start playing with Docus in your browser using Stackblitz: - -:button-link[Play on StackBlitz]{size="small" icon="IconStackBlitz" href="https://stackblitz.com/github/nuxt-themes/docus-starter" blank} - -## Create a new project - -1. Start a fresh Docus project with: - -```bash [npx] -npx nuxi@latest init docs -t themes/docus -``` - -2. Install the dependencies in the `docs` folder: - -::code-group - - ```bash [npm] - npm install - ``` - - ```bash [yarn] - yarn install - ``` - - ```bash [pnpm] - pnpm install --shamefully-hoist - ``` - -:: - -3. Run the `dev` command to start Docus in development mode: - -::code-group - -```bash [npm] -npm run dev -``` - -```bash [yarn] -yarn dev -``` - -```bash [pnpm] -pnpm run dev -``` - -:: - -::alert{type="success"} -✨ Well done! A browser window should automatically open for -:: diff --git a/content/1.introduction/_dir.yml b/content/1.introduction/_dir.yml deleted file mode 100644 index ff0894d..0000000 --- a/content/1.introduction/_dir.yml +++ /dev/null @@ -1,2 +0,0 @@ -icon: ph:star-duotone -navigation.redirect: /introduction/getting-started diff --git a/content/1.serveex/1.introduction.md b/content/1.serveex/1.introduction.md new file mode 100644 index 0000000..0a80082 --- /dev/null +++ b/content/1.serveex/1.introduction.md @@ -0,0 +1,231 @@ +# Introduction + +## Un home lab par un débutant pour les débutants + +

+ + +**Serveex** c'est avant tout un projet personnel visant à héberger chez soi le plus de services possibles du quotidien sans passer par des plateformes propriétaires (Google, Apple, Netflix...). L'idée était d'expérimenter, d'apprendre, et de documenter chaque étape. C'est un projet purement pour la science, et n'a pas vocation à être utilisé en production. + +Un grand merci à **Nipah**, pour le partage de ses connaissances infinies, et surtout pour sa patience. + +::alert{type="info"} +**Pré-requis :** +- Posséder [un VPS en ligne](https://www.it-connect.fr/les-serveurs-prives-virtuels-vps-pour-les-debutants/) ou une machine locale : idéalement un mini PC (on trouve des N100 pour 100€), mais fonctionne aussi sur laptop ou [une machine virtuelle](https://openclassrooms.com/fr/courses/2035806-virtualisez-votre-architecture-et-vos-environnements-de-travail/6313946-installez-virtualbox). Les [Freebox Delta/Ultra proposent des machines virtuelles](https://next.ink/3493/machines-virtuelles-et-freebox-delta-comment-heberger-votre-premiere-page-web/). + - Savoir configurer les [règles NAT d'un routeur et attribuer des baux DHCP](../../nat) + - Savoir configurer la [zone DNS d'un nom de domaine](../../dns) +:: + +L'objectif etant d'etre facilement déployable et facile à migrer, voici sa structure : + +::card-grid +#title +Le coeur du serveur + +#root +:ellipsis{left=0px width=40rem top=10rem blur=140px} + +#default + + ::card{icon=logos:debian} + #title + __Système d'exploitation__ + #description + [Installer et configurer Debian 12](#) + :: + + ::card{icon=logos:docker-icon} + #title + __Moteur de conteneur__ + #description + [Installer Docker](#) + :: + + ::card{icon=carbon:container-registry style="color: rgb(41, 194, 243);" } + #title + __Docker GUI__ + #description + [Installer et déployer Dockge](#) + :: + + ::card{icon=noto:globe-showing-americas} + #title + __Reverse Proxy__ + #description + [Exposez vos services avec SWAG](#) + :: +:: + +::card-grid +#title +La sécurité + +#root +:ellipsis{left=0px width=40rem top=10rem blur=140px} + +#default + + ::card{icon=simple-icons:wireguard style="color: #88171a;"} + #title + __VPN__ + #description + [Installer et déployer Wireguard](#) + :: + + ::card{icon=noto:key} + #title + __SSO & MFA__ + #description + [Installer et déployer Authentik](#) + :: + + ::card{icon=logos:cloudflare-icon} + #title + __Zero Trust__ + #description + [Installer et déployer Cloudflared](#) + :: +:: + +::card-grid +#title +Monitoring + +#root +:ellipsis{left=0px width=40rem top=10rem blur=140px} + +#default + + ::card{icon=solar:pulse-linear style="color: rgb(99, 222, 144);"} + #title + __Etat des services__ + #description + [Installer et déployer Uptime-Kuma](#) + :: + + ::card{icon=lucide:logs style="color: #1AD6FF;"} + #title + __Gestion des logs__ + #description + [Installer et déployer Dozzle](#) + :: +:: + +::card-grid +#title +Media + +#root +:ellipsis{left=0px width=40rem top=10rem blur=140px} + +#default + + ::card{icon=cbi:plex-alt style="color: rgb(229, 160, 13);"} + #title + __Media__ + #description + [Installer et déployer Plex](#) + :: + + ::card{icon=cbi:qbittorrent style="color: rgb(#2f67ba);"} + #title + __Seedbox__ + #description + [Installer et déployer Qbittorrent](#) + :: +:: + +::card-grid +#title +Cloud Drive & Photos + +#root +:ellipsis{left=0px width=40rem top=10rem blur=140px} + +#default + + ::card{icon=cib:nextcloud style="color: rgb(0, 104, 161);"} + #title + __Drive__ + #description + [Installer et déployer Nextcloud](#) + :: + + ::card{icon=simple-icons:immich style="color: #ed79b5;"} + #title + __Photos__ + #description + [Installer et déployer Immich](#) + :: +:: + +::card-grid +#title +Outils de développement + +#root +:ellipsis{left=0px width=40rem top=10rem blur=140px} + +#default + + ::card{icon=logos:visual-studio-code} + #title + __Visual Studio Code__ + #description + [Installer et déployer code-server](#) + :: + + ::card{icon=simple-icons:gitea style="color: #9ee773;"} + #title + __Git Repository__ + #description + [Installer et déployer Gitea](#) + :: + + ::card{icon=noto:hammer-and-wrench } + #title + __Outils__ + #description + [Installer et déployer IT Tools](#) + :: +:: + +::card-grid +#title +Applications utiles + +#root +:ellipsis{left=0px width=40rem top=10rem blur=140px} + +#default + + ::card{icon=cbi:adguard style="color: #67b279;"} + #title + __DNS anti-pub et filtres__ + #description + [Installer et déployer Adguard Home](#) + :: + + ::card{icon=noto:open-file-folder } + #title + __Explorateur de fichier__ + #description + [Installer et déployer Filebrowser](#) + :: + + ::card{icon=cbi:bitwarden style="color: rgb(25 128 255);"} + #title + __Gestionnaire de mots de passe__ + #description + [Installer et déployer Vaultwarden](#) + :: +:: + +## A venir +--- +- Pingvin, pour partager des fichiers +- Homepage, pour avoir tout vos services en un coup d'oeil et y accéder facilement +- Mkdocs pour votre documentation +- Docus, alternative à Mkdocs +- Speedtest-tracker pour vérifier la connexion de votre serveur +- UpSnap pour réveiller vos machines à distance \ No newline at end of file diff --git a/content/1.introduction/2.project-structure.md b/content/1.serveex/2.project-structure.md similarity index 100% rename from content/1.introduction/2.project-structure.md rename to content/1.serveex/2.project-structure.md diff --git a/content/1.introduction/3.writing-pages.md b/content/1.serveex/3.writing-pages.md similarity index 100% rename from content/1.introduction/3.writing-pages.md rename to content/1.serveex/3.writing-pages.md diff --git a/content/1.introduction/4.configuration.md b/content/1.serveex/4.configuration.md similarity index 100% rename from content/1.introduction/4.configuration.md rename to content/1.serveex/4.configuration.md diff --git a/content/1.serveex/_dir.yml b/content/1.serveex/_dir.yml new file mode 100644 index 0000000..b710f1c --- /dev/null +++ b/content/1.serveex/_dir.yml @@ -0,0 +1,2 @@ +icon: ph:star-duotone +navigation.redirect: /serveex/introduction diff --git a/core b/core new file mode 100644 index 0000000..b19bacf Binary files /dev/null and b/core differ diff --git a/nuxt.config.ts b/nuxt.config.ts index 0810205..537f471 100755 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -2,11 +2,10 @@ export default defineNuxtConfig({ // https://github.com/nuxt-themes/docus extends: ['@nuxt-themes/docus'], devtools: { enabled: true }, + colorMode: { + preference: 'dark', + fallback:'dark', + }, - modules: [ - // Remove it if you don't use Plausible analytics - // https://github.com/nuxt-modules/plausible - '@nuxtjs/plausible' - ], compatibilityDate: '2024-10-24' }) diff --git a/public/img/schema/lab.svg b/public/img/schema/lab.svg new file mode 100644 index 0000000..e02e350 --- /dev/null +++ b/public/img/schema/lab.svg @@ -0,0 +1,13 @@ + + + + + + + + VPNVPS- Monitoring- AdguardHomelab ServeexDebian 12NAS server- Data- BackupVPS- ProdDocker Swarm- Authentik SSO- MonitoringCloudflareZero TrustLAN 1LAN 2LAN 3prod VPN djeex@lab:$ djeex@lab:/docker$docker compose up -d[+] : Adguard4 layers[ ] Pulling ::::::::48er783jeh Download67eg98ejk7 Downloadrkl85nb65hj Download64ds98hjkl Waiting.:completecompletecompleteNote for myself : find a nice (and easy...) solution for those #/$*> certificates !!!Version 0.4.5.7.5a....bis \ No newline at end of file diff --git a/public/img/schema/serveex.svg b/public/img/schema/serveex.svg new file mode 100644 index 0000000..11082dc --- /dev/null +++ b/public/img/schema/serveex.svg @@ -0,0 +1,13 @@ + + + + + + + + NAS serverHomelab ServeexDebian 12Docker- wireguard- Plex- Qbittorent- Watchtower- Dockge- Uptime-Kuma- Immich- Nextcloudweb-appSSO- AuthentikRev-proxy- SWAG- CloudflaredSMBSSHWireguard networkLAN 2VPSRemote usersFIREWALLcloudflare tunnelsBOXCloudflareendpoint NAT rulesProtonendpointPlex.tvNAT rulesProton VPNWorld Wide WebUsersLocal NetworkInternet \ No newline at end of file