LXD Frontend (Nuxt.js)
This is the frontend Nuxt.js application that works with the LXD Proxy API to dynamically provision LXD containers based on subdomain access and user CAPTCHA validation.
🌐 Overview
- Each user has a subdomain (e.g.,
mitul.lxdapp.local) - On visiting the subdomain, a login page prompts for CAPTCHA
- Upon successful CAPTCHA, a request is made to the backend to:
- Create or start an LXD container
- Wait until it's ready
- Proxy user to the container
🧩 Features
- Subdomain-aware dynamic environment provisioning
- CAPTCHA login screen for triggering container creation
- API integration with backend (Slim PHP) service
- Axios-based POST to
/api/v1/proxy
🛠 Project Setup
-
Install dependencies
npm install -
Run the development server
npm run dev
🗂 Project Structure
frontend/ ├── pages/ │ └── index.vue # Login screen ├── plugins/ │ └── axios.js # Axios config (if used) ├── nuxt.config.js # App config ├── static/ │ └── favicon.ico ├── package.json └── README.md