- Added rehype-sanitize plugin to the markdown configuration for improved security against XSS attacks. - Updated environment variables in the codebase to include new configurations for SMTP and monitoring. - Implemented secure headers in server and Nginx configurations to bolster security. - Refactored email handling to prevent spoofing by ensuring safe sender addresses. - Improved localization by updating language persistence and button components for better user experience. - Enhanced the uptime API and contact form with better error handling and logging practices. - Updated dependencies in package.json and package-lock.json for better performance and security.
🌍 365DevNet Website
Welcome to the source code for the official 365DevNet website — built by and for freelancers, small businesses, and entrepreneurs who want reliable, clear, and modern IT services.
This website is powered by Astro and Tailwind CSS, and is hosted on our own secure VPS infrastructure. It reflects our mission, values, and service offerings.
💡 Visit the live site: https://365devnet.eu
🧾 About 365DevNet
365DevNet is a Netherlands-based IT services company. We support individuals and small businesses with digital infrastructure that is easy to manage, cost-efficient, and built to scale with you.
Our core services include:
- 📦 Microsoft 365 setup & migration (mail, SharePoint, Teams, OneDrive)
- 🔁 Process automation using Power Automate and PowerShell
- 🌐 Website development with secure VPS deployment and modern tooling
- 🛡️ Security and management (DNS, domains, backups, access control)
- 📚 Training and documentation so clients stay in control
Learn more: https://365devnet.eu/en
🧠 Why This Stack?
We built this site with:
- Astro – Ultra-fast static site builder that ships zero JavaScript by default
- Tailwind CSS – Utility-first styling framework for full design control
- Markdown/MDX – For simple, content-friendly editing
- Custom VPS hosting – Gives us control over performance, pricing, and security
✅ We believe in owning our tech and reducing platform dependency.
🗂 Project Structure
/
├── public/ # Static assets (robots.txt, icons)
├── src/
│ ├── assets/ # Local images, styles, favicons
│ ├── components/ # Reusable UI components
│ ├── content/ # Blog posts and markdown pages
│ ├── layouts/ # Page templates
│ ├── pages/ # Route-based pages (e.g. index.astro)
│ └── config.yaml # SEO, metadata, i18n settings
├── package.json # Project dependencies and scripts
├── astro.config.ts # Astro configuration
└── README.md # You're reading it 🙂
🎨 Theme & Credits
This website was originally built on top of AstroWind — the most starred and forked Astro theme from 2022–2024. It’s a modern, production-ready template that combines Astro with Tailwind CSS and is designed with performance and best practices in mind.
AstroWind is an open-source project created and maintained by onWidget and the amazing open-source community:
- ⭐ GitHub: onwidget/astrowind
- 💬 Community discussions: AstroWind Discussions
- 📄 License: MIT License
We’ve adapted the template to reflect the unique mission and brand identity of 365DevNet, while continuing to follow the project's great structure and standards.
🔐 Environment Variables
Create a .env file and keep it out of version control. Example:
# Email
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASS=
ADMIN_EMAIL=
WEBSITE_NAME=365DevNet Support
# Monitoring
UPTIME_KUMA_URL=
# SCM
GITEA_TOKEN=
# AI (optional)
GEMINI_API_KEY=