Amélioration configuration Docusaurus et implémentation i18n
- Add language switcher to navbar for bilingual site (FR/EN) - Remove intro page, use presentation as entry point - Add example pages to all documentation categories - Configure categories with generated-index for page listings - Update footer and homepage links to reference presentation - Enhance configuration with best practices: - Add metadata and SEO keywords - Enable RSS/Atom feeds for blog - Configure sitemap generation - Add syntax highlighting for YAML, HCL, Docker - Enable Mermaid diagram support - Configure table of contents settings - Respect user color scheme preferences - Add last update metadata to docs - Fix deprecated onBrokenMarkdownLinks configuration - Create bilingual example pages with practical code examples - Update all i18n translations for consistency This update brings the site in line with Docusaurus 3.x best practices and provides a solid foundation for documentation growth.
This commit is contained in:
parent
fda75fdd28
commit
aba46f671c
13 changed files with 558 additions and 85 deletions
|
|
@ -0,0 +1,60 @@
|
|||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Example
|
||||
|
||||
This is an example page in the Current Homelab category.
|
||||
|
||||
## Description
|
||||
|
||||
This page demonstrates how to document a service or configuration of the current homelab.
|
||||
|
||||
## Docker Compose Configuration
|
||||
|
||||
Example service configuration:
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
example-service:
|
||||
image: nginx:latest
|
||||
container_name: example
|
||||
ports:
|
||||
- "8080:80"
|
||||
volumes:
|
||||
- ./config:/etc/nginx/conf.d
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
## Ansible Playbook
|
||||
|
||||
Deployment example with Ansible:
|
||||
|
||||
```yaml
|
||||
---
|
||||
- name: Deploy example service
|
||||
hosts: homelab
|
||||
become: yes
|
||||
|
||||
tasks:
|
||||
- name: Copy docker-compose file
|
||||
copy:
|
||||
src: docker-compose.yml
|
||||
dest: /opt/example/docker-compose.yml
|
||||
|
||||
- name: Start the service
|
||||
command: docker-compose up -d
|
||||
args:
|
||||
chdir: /opt/example
|
||||
```
|
||||
|
||||
## Maintenance
|
||||
|
||||
Important maintenance points:
|
||||
|
||||
- Regular backups
|
||||
- Docker image updates
|
||||
- Log monitoring
|
||||
- Restore testing
|
||||
|
|
@ -0,0 +1,153 @@
|
|||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Example
|
||||
|
||||
This is an example page in the Future Homelab category.
|
||||
|
||||
## Description
|
||||
|
||||
This page demonstrates how to document Kubernetes configurations and deployments for the future homelab.
|
||||
|
||||
## Kubernetes Deployment
|
||||
|
||||
Example deployment manifest:
|
||||
|
||||
```yaml
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: example-app
|
||||
namespace: production
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: example
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: example
|
||||
spec:
|
||||
containers:
|
||||
- name: app
|
||||
image: nginx:latest
|
||||
ports:
|
||||
- containerPort: 80
|
||||
resources:
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: example-service
|
||||
namespace: production
|
||||
spec:
|
||||
selector:
|
||||
app: example
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 80
|
||||
type: ClusterIP
|
||||
```
|
||||
|
||||
## OpenTofu Configuration
|
||||
|
||||
Example infrastructure resource:
|
||||
|
||||
```hcl
|
||||
resource "kubernetes_namespace" "production" {
|
||||
metadata {
|
||||
name = "production"
|
||||
labels = {
|
||||
environment = "production"
|
||||
managed-by = "opentofu"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_deployment" "example" {
|
||||
metadata {
|
||||
name = "example-app"
|
||||
namespace = kubernetes_namespace.production.metadata[0].name
|
||||
}
|
||||
|
||||
spec {
|
||||
replicas = 3
|
||||
|
||||
selector {
|
||||
match_labels = {
|
||||
app = "example"
|
||||
}
|
||||
}
|
||||
|
||||
template {
|
||||
metadata {
|
||||
labels = {
|
||||
app = "example"
|
||||
}
|
||||
}
|
||||
|
||||
spec {
|
||||
container {
|
||||
image = "nginx:latest"
|
||||
name = "app"
|
||||
|
||||
resources {
|
||||
limits = {
|
||||
cpu = "100m"
|
||||
memory = "128Mi"
|
||||
}
|
||||
requests = {
|
||||
cpu = "50m"
|
||||
memory = "64Mi"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## GitOps with ArgoCD
|
||||
|
||||
ArgoCD Application configuration:
|
||||
|
||||
```yaml
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: example-app
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://forgejo.tellserv.fr/Tellsanguis/k8s-manifests.git
|
||||
targetRevision: HEAD
|
||||
path: apps/example
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: production
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
```
|
||||
|
||||
## Observability
|
||||
|
||||
Monitoring points for this service:
|
||||
|
||||
- Prometheus metrics exposed on `/metrics`
|
||||
- Logs aggregated in Loki
|
||||
- Distributed traces with Tempo
|
||||
- Alerts configured in Prometheus AlertManager
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Introduction
|
||||
|
||||
Welcome to **TellServ Tech Blog**!
|
||||
|
||||
This technical blog documents my research, thoughts and solutions to technical challenges encountered in my projects. The goal is to:
|
||||
|
||||
- 📚 **Document** my learnings and discoveries
|
||||
- 🔍 **Share** my analyses and solutions
|
||||
- 💡 **Demonstrate** my technical skills
|
||||
- 🤝 **Contribute** to the community
|
||||
|
||||
## Site Structure
|
||||
|
||||
### Documentation
|
||||
|
||||
The documentation section contains in-depth technical guides, tutorials and references for my projects.
|
||||
|
||||
### Blog
|
||||
|
||||
The blog features articles on:
|
||||
- Technical problem solving
|
||||
- Architecture analysis
|
||||
- Experience feedback
|
||||
- New technologies and tools
|
||||
|
||||
## About
|
||||
|
||||
This site is built with [Docusaurus](https://docusaurus.io/), hosted on Cloudflare Pages and the source code is available on [GitHub](https://github.com/Tellsanguis/blog_technique) and [Forgejo](https://forgejo.tellserv.fr).
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Example
|
||||
|
||||
This is an example page in the Concepts category.
|
||||
|
||||
## Description
|
||||
|
||||
This page demonstrates how to structure content in a category. It can contain:
|
||||
|
||||
- Detailed explanations
|
||||
- Code examples
|
||||
- Diagrams
|
||||
- References
|
||||
|
||||
## Usage
|
||||
|
||||
You can duplicate this page to create new articles in this category.
|
||||
|
||||
### Configuration
|
||||
|
||||
To add a new page, create a `.md` file in the `docs/notions/` folder with the appropriate front matter:
|
||||
|
||||
```yaml
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
```
|
||||
|
||||
### Content
|
||||
|
||||
Content can be written in Markdown or MDX to include custom React components.
|
||||
|
|
@ -1,7 +1,3 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# About Me
|
||||
|
||||
Coming soon.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue