The comprehensive documentation platform for DeVinci Fablab
This is the official documentation site for DeVinci FabLab, a comprehensive platform built with Docusaurus that provides guides, tutorials, workshops, and reference materials for all tools and services available at the Fablab. The documentation covers 3D printing, electronics, fabrication, IT courses, safety guidelines, and more.
- Multi-language support (French & English)
- Full-text search powered by Algolia
- Dark mode support
- LaTeX/KaTeX math rendering
- Workshop blog section
- Comprehensive equipment guides
- IT training courses
- Safety and charter documentation
- DVFL Documentation
Before you begin, ensure you have the following installed:
- Node.js >= 18.0 (Download)
- pnpm 10.19.0 or higher (Installation guide)
- Docker (optional, for containerized development) (Download)
- Make (optional, for using Makefile commands)
- Clone the repository:
git clone https://github.com/DeVinci-FabLab/documentation.git
cd documentation- Navigate to the site directory:
cd site- Install dependencies:
pnpm installStart the development server:
cd site
pnpm startThe site will be available at http://localhost:3000. Changes will be hot-reloaded automatically.
For a containerized development environment:
make devThis will:
- Build and start the Docker container
- Mount the project directory for live reloading
- Expose the site at
http://localhost:3000 - Stream logs to your terminal
To stop the development server:
make stopcd site
pnpm build
pnpm serveFor a local production build with Docker:
make prod-localFor a full production deployment:
make prodDocumentation/
├── site/ # Docusaurus site
│ ├── docs/ # Documentation content
│ │ ├── 3d_printing/ # 3D printing guides
│ │ ├── it_courses/ # IT training materials
│ │ ├── spaces_charters/ # Space usage charters
│ │ ├── intro.md # Introduction page
│ │ ├── safety.md # Safety guidelines
│ │ └── srg.md # Internal regulations
│ ├── blog/ # Workshops content
│ ├── i18n/ # Internationalization
│ │ ├── en/ # English translations
│ │ └── fr/ # French content
│ ├── src/ # React components & custom CSS
│ ├── static/ # Static assets
│ ├── docusaurus.config.ts # Docusaurus configuration
│ ├── sidebars.ts # Sidebar configuration
│ └── package.json # Dependencies
├── docker/ # Docker configurations
├── .github/ # GitHub templates & workflows
├── makefile # Automation commands
└── README.md # This file
At the project root:
| Command | Description |
|---|---|
make update |
Pull latest changes from repository |
make dev |
Start Docker development environment |
make prod-local |
Local production build with Docker |
make prod |
Production deployment with Docker |
make stop |
Stop all Docker containers |
make restart-dev |
Restart development environment |
make restart-prod-local |
Restart local production environment |
make restart-prod |
Restart production environment |
make clean |
Clean all packages and containers |
make write-translations |
Extract translatable strings |
The project includes comprehensive Docker support for both development and production environments:
make devUses docker/compose.dev.yml with hot-reloading and source mounting.
make prodBuilds optimized static files and serves them with nginx.
docker/Dockerfile- Multi-stage Docker builddocker/compose.dev.yml- Development configurationdocker/compose.prod-local.yml- Local production testingdocker/compose.yml- Production deploymentdocker/healthcheck.sh- Container health checks
We welcome contributions from the community! Whether you want to add new courses, fix typos, improve documentation, or suggest features, your help is appreciated.
Please read our Contributing Guidelines for detailed information on:
- How to submit pull requests
- Code of conduct
- Development workflow
- Documentation standards
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit using conventional commits (
git commit -m 'feat: add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
For more details, see:
If you encounter build errors:
# Clear Docusaurus cache
cd site
pnpm clear
# Clean all dependencies
make clean# Remove all containers and rebuild
make clean
make devIf port 3000 is already in use, modify the port in docker/compose.*.yml or kill the process using the port.
Install pnpm globally:
npm install -g [email protected]Or use corepack (Node.js 16.9+):
corepack enable
corepack prepare [email protected] --activateThis documentation site is tested and supported on:
- Linux (Ubuntu 20.04+, Debian 10+)
- macOS (11.0+)
- Windows (10/11)
- Docker (any platform)
The site itself is accessible from any modern web browser on any platform.
- French (fr) - Default language
- English (en) - Full translation support
To contribute translations, see the i18n documentation.
This project is licensed under the MIT License - see the LICENSE file for details.
Made with by the DeVinci Fablab team