diff --git a/.markdownlint-cli2.jsonc b/.markdownlint-cli2.jsonc
index 3c199541f..fbad9c8e5 100644
--- a/.markdownlint-cli2.jsonc
+++ b/.markdownlint-cli2.jsonc
@@ -1,23 +1,17 @@
{
- // Markdownlint configuration to temporarily ignore problematic files
- "globs": [
- "*.md",
- "docs/**/*.md"
- ],
- "ignores": [
- "docs/build-server-setup.md",
- "LOGO-IMPLEMENTATION.md"
- ],
- "config": {
- // Allow some common formatting that's hard to fix automatically
- "MD022": false, // blanks-around-headings
- "MD032": false, // blanks-around-lists
- "MD031": false, // blanks-around-fences
- "MD009": false, // no-trailing-spaces
- "MD012": false, // no-multiple-blanks
- "MD026": false, // no-trailing-punctuation
- "MD029": false, // ol-prefix
- "MD040": false, // fenced-code-language
- "MD047": false // single-trailing-newline
- }
-}
\ No newline at end of file
+ // Markdownlint configuration to temporarily ignore problematic files
+ "globs": ["*.md", "docs/**/*.md"],
+ "ignores": ["docs/build-server-setup.md", "LOGO-IMPLEMENTATION.md"],
+ "config": {
+ // Allow some common formatting that's hard to fix automatically
+ "MD022": false, // blanks-around-headings
+ "MD032": false, // blanks-around-lists
+ "MD031": false, // blanks-around-fences
+ "MD009": false, // no-trailing-spaces
+ "MD012": false, // no-multiple-blanks
+ "MD026": false, // no-trailing-punctuation
+ "MD029": false, // ol-prefix
+ "MD040": false, // fenced-code-language
+ "MD047": false, // single-trailing-newline
+ },
+}
diff --git a/.prettierrc.cjs b/.prettierrc.cjs
index 36c78e8ac..56590bfe3 100644
--- a/.prettierrc.cjs
+++ b/.prettierrc.cjs
@@ -21,7 +21,7 @@ module.exports = {
'prettier-plugin-nginx',
'prettier-plugin-sh',
'prettier-plugin-sql',
- ])
+ ]),
],
// PHP Settings
phpVersion: '8.2',
diff --git a/README.md b/README.md
index 44aa13178..28c17b531 100644
--- a/README.md
+++ b/README.md
@@ -60,11 +60,13 @@ TulioCP provides an official APT repository for easy installation and updates. O
### ๐ฏ Quick Installation
**Method 1: One-Line Installation (Recommended)**
+
```bash
curl -sSL https://apt.tuliocp.com/setup.sh | sudo bash
```
**Method 2: Direct Installer**
+
```bash
wget https://raw.githubusercontent.com/contaura/tuliocp/main/install/hst-install.sh
sudo bash hst-install.sh
@@ -73,9 +75,9 @@ sudo bash hst-install.sh
### ๐ Available Packages
- **tuliocp** - Main control panel package (1.8MB) - **Available Now**
-- **tulio-nginx** - Custom Nginx build optimized for TulioCP - *Coming Soon*
-- **tulio-php** - Custom PHP-FPM build with enhanced performance - *Coming Soon*
-- **tulio-web-terminal** - Browser-based terminal interface - *Coming Soon*
+- **tulio-nginx** - Custom Nginx build optimized for TulioCP - _Coming Soon_
+- **tulio-php** - Custom PHP-FPM build with enhanced performance - _Coming Soon_
+- **tulio-web-terminal** - Browser-based terminal interface - _Coming Soon_
### ๐ง Manual Repository Setup
@@ -97,7 +99,7 @@ sudo apt install --allow-unauthenticated tuliocp
### ๐๏ธ System Requirements
- **Operating Systems**: Debian 10/11/12, Ubuntu 20.04/22.04/24.04 LTS
-- **Architecture**: amd64 (x86_64) - *arm64 coming soon*
+- **Architecture**: amd64 (x86*64) - \_arm64 coming soon*
- **Memory**: Minimum 1GB RAM (2GB+ recommended)
- **Storage**: 10GB+ available disk space
- **Network**: Internet connection for package installation
@@ -111,18 +113,21 @@ sudo apt install --allow-unauthenticated tuliocp
Our automated build system provides:
#### ๐ฆ **Package Building**
+
- **Trigger**: Every push to `main` branch
- **Build Server**: Self-hosted runner with TulioCP dependencies
- **Process**: Automated DEB package compilation
- **Output**: Production-ready `tuliocp_1.10.0~alpha_amd64.deb` packages
#### ๐ **Secure Deployment**
+
- **Webhook**: HTTPS webhook handler (port 8443)
- **Authentication**: GitHub token-based secure deployment
- **Target**: GitHub Pages with custom domain
- **Structure**: Full Debian APT repository format
#### ๐ **Live Repository Features**
+
- **Custom Domain**: https://apt.tuliocp.com (via CNAME to contaura.github.io)
- **Modern Interface**: Professional repository page with copy-to-clipboard commands
- **Package Metadata**: Complete `Packages.gz` and `Release` files
@@ -142,11 +147,13 @@ Our automated build system provides:
### ๐ Quick Installation
**Method 1: One-Line Installation (Recommended)**
+
```bash
curl -sSL https://apt.tuliocp.com/setup.sh | sudo bash
```
**Method 2: Direct Installation**
+
```bash
# Download and run installer
wget https://raw.githubusercontent.com/contaura/tuliocp/main/install/hst-install.sh
@@ -154,6 +161,7 @@ sudo bash hst-install.sh
```
**Method 3: Manual APT Repository Setup**
+
```bash
# Manual repository configuration
echo "deb https://apt.tuliocp.com stable main" | sudo tee /etc/apt/sources.list.d/tuliocp.list
@@ -164,11 +172,13 @@ sudo apt install --allow-unauthenticated tuliocp
### ๐ง Connection Methods
**Local Console:**
+
```bash
sudo bash hst-install.sh
```
**Remote SSH:**
+
```bash
ssh root@your.server
wget https://raw.githubusercontent.com/contaura/tuliocp/main/install/hst-install.sh
@@ -176,6 +186,7 @@ bash hst-install.sh
```
**SSL Certificate Issues:**
+
```bash
# If download fails due to SSL validation
sudo apt update && sudo apt install ca-certificates
@@ -197,6 +208,7 @@ bash hst-install.sh -h
```
Common options:
+
- `--interactive` - Interactive installation with prompts
- `--force` - Skip compatibility checks
- `--hostname` - Set custom hostname
@@ -213,12 +225,14 @@ Common options:
### ๐ง Manual Updates
**Via APT (Recommended):**
+
```bash
# Update package lists and upgrade TulioCP
sudo apt update && sudo apt upgrade tuliocp
```
**Traditional Method:**
+
```bash
# System-wide updates (includes TulioCP)
sudo apt update && sudo apt upgrade
@@ -229,11 +243,13 @@ sudo apt update && sudo apt upgrade
### ๐ Quick Development Setup
**Prerequisites:**
+
- Node.js 18+ (tested with v22.19.0)
- Git
- macOS/Linux development environment
**One-Command Setup:**
+
```bash
# Clone repository and setup development environment
git clone https://github.com/contaura/tuliocp.git
@@ -254,11 +270,13 @@ The development environment provides:
### ๐ฆ Frontend Asset Building
**Build all assets:**
+
```bash
npm run build
```
**Build outputs:**
+
- `web/js/dist/main.min.js` - Main application bundle
- `web/js/dist/*.min.js` - External packages (Alpine.js, Chart.js, xterm, etc.)
- `web/css/themes/*.min.css` - CSS themes with source maps
@@ -311,11 +329,13 @@ After running `./dev-installer.sh`, you get convenient shortcuts:
### ๐ Environment Debugging
**Verify setup:**
+
```bash
./debug-installer.sh
```
**Check build status:**
+
```bash
~/.local/share/tuliocp-dev/status.sh
```
@@ -323,18 +343,21 @@ After running `./dev-installer.sh`, you get convenient shortcuts:
### ๐๏ธ Frontend Architecture
**JavaScript Build:**
+
- **Tool**: esbuild for fast bundling and minification
- **Entry**: `web/js/src/index.js`
- **Output**: Bundled main.min.js + separate external packages
- **Features**: Source maps, tree shaking, ES modules
**CSS Build:**
+
- **Tool**: Lightning CSS for processing and optimization
- **Source**: `web/css/src/themes/*.css`
- **Output**: Minified themes with browser targeting
- **Features**: CSS nesting, custom media queries, autoprefixer
**Key Dependencies:**
+
- **Frontend**: Alpine.js (reactive), Chart.js (statistics), xterm.js (terminal)
- **Build**: esbuild (JS), Lightning CSS (CSS), Browserslist (targets)
- **Quality**: Biome (JS linting), Stylelint (CSS), Prettier (formatting)
@@ -342,13 +365,15 @@ After running `./dev-installer.sh`, you get convenient shortcuts:
### ๐ Development vs Production
**Development Mode** (macOS/Linux):
+
- Use `dev-installer.sh` for local development
- Frontend asset building and live reloading
- Code quality tools and git hooks
- Documentation development server
**Production Mode** (Ubuntu/Debian):
-- Use `hst-install.sh` for server deployment
+
+- Use `hst-install.sh` for server deployment
- Full system installation with services
- Web server configuration (Apache + Nginx)
- Database, mail, and DNS server setup
@@ -356,6 +381,7 @@ After running `./dev-installer.sh`, you get convenient shortcuts:
### ๐งช Testing & Quality
**Linting Tools:**
+
- **JavaScript**: Biome for fast linting and formatting
- **CSS**: Stylelint with standard configuration
- **PHP**: Prettier with PHP plugin
@@ -363,10 +389,12 @@ After running `./dev-installer.sh`, you get convenient shortcuts:
- **Markdown**: Markdownlint for documentation
**Git Hooks:**
+
- **Pre-commit**: Runs linting and formatting on staged files
- **Pre-push**: Additional validation (configurable)
**Quality Standards:**
+
- All code must pass linting before commit
- Automatic formatting applied on staged files
- Documentation linting for README and docs
@@ -377,7 +405,7 @@ After running `./dev-installer.sh`, you get convenient shortcuts:
For detailed installation guides, configuration instructions, and troubleshooting:
- ๐ [Installation Guide](#installing-tulio-control-panel) - See above for quick start
-- ๐ง [Configuration Reference](docs/) - Detailed setup and configuration guides
+- ๐ง [Configuration Reference](docs/) - Detailed setup and configuration guides
- ๐ [Troubleshooting](docs/troubleshooting.md) - Common issues and solutions
- ๐ [Quick Start Examples](#custom-installation) - Command line installation options
- ๐ป [Development Setup](#development-environment) - Local development environment
@@ -416,4 +444,3 @@ If you would like to contribute to the project, please [read our Contribution Gu
## License
Tulio Control Panel is licensed under [GPL v3](https://github.com/contaura/tuliocp/blob/main/LICENSE) license.
-
diff --git a/WARP.md b/WARP.md
index 3315bcb37..2ba6fa594 100644
--- a/WARP.md
+++ b/WARP.md
@@ -7,6 +7,7 @@ This file provides guidance to WARP (warp.dev) when working with code in this re
TulioCP is an open-source Linux web server control panel. It's a comprehensive hosting control panel that provides web, mail, DNS, and database management capabilities with a modern web interface and extensive CLI toolkit.
### Key Features
+
- Apache2 and NGINX with PHP-FPM support (PHP 5.6-8.4)
- DNS Server (Bind) with clustering capabilities
- POP/IMAP/SMTP mail services with Anti-Virus, Anti-Spam, and Webmail
@@ -17,33 +18,35 @@ TulioCP is an open-source Linux web server control panel. It's a comprehensive h
## Development Commands
### Building and Assets
+
```bash
# Install dependencies and setup development environment
npm ci --ignore-scripts
-npm run prepare # Sets up Husky git hooks
+npm run prepare # Sets up Husky git hooks
# Build JavaScript and CSS assets
-npm run build # Builds all JS/CSS using esbuild and Lightning CSS
-node build.js # Direct build script execution
+npm run build # Builds all JS/CSS using esbuild and Lightning CSS
+node build.js # Direct build script execution
# Development server for documentation
-npm run docs:dev # Start VitePress dev server
-npm run docs:build # Build documentation
-npm run docs:serve # Serve built documentation
-npm run docs:test # Run documentation tests
+npm run docs:dev # Start VitePress dev server
+npm run docs:build # Build documentation
+npm run docs:serve # Serve built documentation
+npm run docs:test # Run documentation tests
```
### Linting and Code Quality
+
```bash
# Run all lints (includes Prettier, Biome, Stylelint, and Markdownlint)
npm run lint
# Individual linting tools
-npx prettier --check . # Check code formatting
-npx prettier --write . # Format code
-npx biome lint . # JavaScript/TypeScript linting
-npx stylelint web/css/src/**/*.css # CSS linting
-npx markdownlint-cli2 *.md docs/**/*.md # Markdown linting
+npx prettier --check . # Check code formatting
+npx prettier --write . # Format code
+npx biome lint . # JavaScript/TypeScript linting
+npx stylelint web/css/src/**/*.css # CSS linting
+npx markdownlint-cli2 *.md docs/**/*.md # Markdown linting
# Format code automatically
npm run format
@@ -53,22 +56,24 @@ npm run lint-staged
```
### Testing
+
```bash
# Run BATS test suite (requires TulioCP installation)
-./test/test.bats # Main comprehensive test suite
-./test/api.bats # API functionality tests
-./test/checks.bats # System checks and validation
-./test/config-tests.bats # Configuration tests
-./test/letsencrypt.bats # SSL certificate tests
-./test/restore.bats # Backup/restore tests
-./test/wildcard.bats # Wildcard SSL tests
+./test/test.bats # Main comprehensive test suite
+./test/api.bats # API functionality tests
+./test/checks.bats # System checks and validation
+./test/config-tests.bats # Configuration tests
+./test/letsencrypt.bats # SSL certificate tests
+./test/restore.bats # Backup/restore tests
+./test/wildcard.bats # Wildcard SSL tests
# Shell script validation
-./test/shellcheck.sh # Run ShellCheck on shell scripts
-./test/lint_script.sh # Custom script linting
+./test/shellcheck.sh # Run ShellCheck on shell scripts
+./test/lint_script.sh # Custom script linting
```
### Building Packages
+
```bash
# Build DEB packages (requires Debian/Ubuntu environment)
./src/hst_autocompile.sh --tuliocp --debug --cross --noinstall --keepbuild
@@ -77,18 +82,18 @@ npm run lint-staged
./src/hst_generate_clidocs.sh
# LXD/Container builds
-./src/lxd_build_all.sh # Build for all supported distributions
-./src/lxd_compile.sh # Single container build
+./src/lxd_build_all.sh # Build for all supported distributions
+./src/lxd_compile.sh # Single container build
```
## Architecture Overview
### Directory Structure
-- **`/bin/`** - CLI commands (500+ v-* scripts for all system operations)
+- **`/bin/`** - CLI commands (500+ v-\* scripts for all system operations)
- `v-add-*` - Add/create operations (users, domains, databases, etc.)
- `v-delete-*` - Delete operations
- - `v-list-*` - List/query operations
+ - `v-list-*` - List/query operations
- `v-update-*` - Update/modify operations
- `v-suspend-*` / `v-unsuspend-*` - Suspension management
@@ -130,18 +135,21 @@ npm run lint-staged
## Frontend Build System
### JavaScript Build Process
+
- **Tool**: esbuild for fast bundling and minification
- **Entry Point**: `web/js/src/index.js`
- **Output**: `web/js/dist/main.min.js` (bundled) + individual external packages
- **External Packages**: Chart.js, Alpine.js, xterm, etc. built separately for optimal loading
-### CSS Build Process
+### CSS Build Process
+
- **Tool**: Lightning CSS for processing and optimization
- **Source**: `web/css/src/themes/*.css` (multiple themes)
- **Output**: `web/css/themes/*.min.css` with source maps
- **Features**: CSS nesting, custom media queries, automatic browser targeting
### Key Dependencies
+
- **Frontend**: Alpine.js (reactive), Chart.js (statistics), xterm.js (terminal), Floating Vue (tooltips)
- **Build**: esbuild (JS), Lightning CSS (CSS), Browserslist (targets)
- **Quality**: Biome (JS linting), Stylelint (CSS), Prettier (formatting), Markdownlint (docs)
@@ -153,6 +161,7 @@ npm run lint-staged
- **`release`** - Production-ready code matching official packages
Always create feature branches from `main` using the naming convention:
+
- `feature/issue-description` or `feature/123-new-feature`
- `fix/issue-description` or `fix/123-bug-fix`
- `refactor/component-name`
@@ -160,18 +169,21 @@ Always create feature branches from `main` using the naming convention:
## Code Quality Standards
### Shell Scripts
+
- Follow existing patterns in `/func/main.sh` for error handling
- Use `check_result()` function for consistent error reporting
- Source required function libraries at script start
- Include proper logging with `log_event()` and `log_history()`
### Frontend Code
+
- Use Alpine.js patterns for interactive components
- Maintain ES modules structure for JavaScript
- Follow existing CSS naming conventions and nesting patterns
- Ensure responsive design compatibility
### Testing Requirements
+
- Add BATS tests for new CLI commands in `/test/`
- Test both success and failure scenarios
- Include validation functions for domain, mail, and database operations
diff --git a/apt-repo/index.html b/apt-repo/index.html
index 36619fab9..13586cc0b 100644
--- a/apt-repo/index.html
+++ b/apt-repo/index.html
@@ -1,301 +1,317 @@
-
+
-
-
-
- TulioCP APT Repository
-
-
-
-
-
-
-
-
-
๐ฆ Quick Installation
-
Install TulioCP with a single command (recommended):
-
Copy curl -sSL https://apt.tuliocp.com/setup.sh | sudo bash
-
-
Alternative installation method:
-
Copy wget https://raw.githubusercontent.com/Contaura/tuliocp/main/install/hst-install.sh
+
+
+
+ TulioCP APT Repository
+
+
+
+
+
+
+
+
+
๐ฆ Quick Installation
+
Install TulioCP with a single command (recommended):
+
Copy curl -sSL https://apt.tuliocp.com/setup.sh | sudo bash
+
+
Alternative installation method:
+
Copy wget https://raw.githubusercontent.com/Contaura/tuliocp/main/install/hst-install.sh
sudo bash hst-install.sh
-
+
-
-
๐ง Manual Repository Setup
-
For advanced users who prefer manual configuration:
-
Copy # Add TulioCP repository
+
+
๐ง Manual Repository Setup
+
For advanced users who prefer manual configuration:
+
+
+ Copy
+
+
+# Add TulioCP repository
echo "deb https://apt.tuliocp.com stable main" | sudo tee /etc/apt/sources.list.d/tuliocp.list
# Update package lists
sudo apt-get update
# Install TulioCP (allow unsigned until GPG signing implemented)
-sudo apt-get install --allow-unauthenticated tuliocp
-
+sudo apt-get install --allow-unauthenticated tuliocp
+
+
-
- Current Release: TulioCP 1.10.0~alpha is now available with improved security, modern web interface, enhanced performance, and comprehensive development environment.
-
+
+ Current Release: TulioCP 1.10.0~alpha is now available with improved
+ security, modern web interface, enhanced performance, and comprehensive development
+ environment.
+
-
-
๐ป Development Environment
-
Set up a local development environment for TulioCP:
-
Copy # Clone and setup development environment
+
+
๐ป Development Environment
+
Set up a local development environment for TulioCP:
+
Copy # Clone and setup development environment
git clone https://github.com/contaura/tuliocp.git
cd tuliocp
./dev-installer.sh
-
-
Development Features:
-
- Frontend build system with esbuild + Lightning CSS
- Code quality tools (Prettier, Biome, Stylelint)
- Documentation development server
- Git hooks for automated quality checks
-
-
-
- ๐ Available Packages
-
- tuliocp - Main control panel package (1.8MB) - ๐ Available Now
- tulio-nginx - Custom Nginx web server - ๐ง Coming Soon
- tulio-php - Custom PHP-FPM server - ๐ง Coming Soon
- tulio-web-terminal - Web-based terminal - ๐ง Coming Soon
-
-
-
๐๏ธ Build System Status
-
- Automated Builds: โ
Active on every commit
- Repository Deployment: โ
GitHub Pages with custom domain
- Package Signing: ๐ง GPG signing planned
- Multi-Architecture: ๐ง ARM64 support coming soon
-
-
-
๐๏ธ Supported Architectures
-
- amd64 (x86_64) - Available now
- arm64 (aarch64) - Coming soon
-
-
-
๐ Supported Distributions
-
- Debian: 10, 11, 12
- Ubuntu: 20.04, 22.04, 24.04 LTS
-
-
-
๐ System Requirements
-
- Minimum 1GB RAM (2GB+ recommended)
- 10GB+ available disk space
- Internet connection for installation
- Root or sudo access
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+ Development Features:
+
+ Frontend build system with esbuild + Lightning CSS
+ Code quality tools (Prettier, Biome, Stylelint)
+ Documentation development server
+ Git hooks for automated quality checks
+
+
+
+
๐ Available Packages
+
+ tuliocp - Main control panel package (1.8MB) - ๐ Available Now
+ tulio-nginx - Custom Nginx web server - ๐ง Coming Soon
+ tulio-php - Custom PHP-FPM server - ๐ง Coming Soon
+ tulio-web-terminal - Web-based terminal - ๐ง Coming Soon
+
+
+
๐๏ธ Build System Status
+
+ Automated Builds: โ
Active on every commit
+ Repository Deployment: โ
GitHub Pages with custom domain
+ Package Signing: ๐ง GPG signing planned
+ Multi-Architecture: ๐ง ARM64 support coming soon
+
+
+
๐๏ธ Supported Architectures
+
+ amd64 (x86_64) - Available now
+ arm64 (aarch64) - Coming soon
+
+
+
๐ Supported Distributions
+
+ Debian: 10, 11, 12
+ Ubuntu: 20.04, 22.04, 24.04 LTS
+
+
+
๐ System Requirements
+
+ Minimum 1GB RAM (2GB+ recommended)
+ 10GB+ available disk space
+ Internet connection for installation
+ Root or sudo access
+
+
+
+
+
+
+
+
+