Tulio Control Panel is designed to provide administrators an easy to use web and command line interface, enabling them to quickly deploy and manage web domains, mail accounts, DNS zones, and databases from one central dashboard without the hassle of manually deploying and configuring individual components or services.
If you find TulioCP useful and would like to support its development, please consider:
- β Starring this repository on GitHub
- π Reporting bugs and issues
- π Contributing to documentation
- π» Submitting pull requests
- Apache2 and NGINX with PHP-FPM
- Multiple PHP versions (5.6 - 8.4, 8.3 as default)
- DNS Server (Bind) with clustering capabilities
- POP/IMAP/SMTP mail services with Anti-Virus, Anti-Spam, and Webmail (ClamAV, SpamAssassin, Sieve, Roundcube)
- MariaDB/MySQL and/or PostgreSQL databases
- Let's Encrypt SSL support with wildcard certificates
- Firewall with brute-force attack detection and IP lists (iptables, fail2ban, and ipset).
- Debian: 12, 11
- Ubuntu: 24.04 LTS, 22.04 LTS, 20.04 LTS
NOTES:
- Tulio Control Panel does not support 32 bit operating systems!
- Tulio Control Panel in combination with OpenVZ 7 or lower might have issues with DNS and/or firewall. If you use a Virtual Private Server we strongly advice you to use something based on KVM or LXC!
Live Repository: https://apt.tuliocp.com/
TulioCP provides an official APT repository for easy installation and updates. Our packages are automatically built from the latest source code and deployed to GitHub Pages.
Method 1: One-Line Installation (Recommended)
curl -sSL https://apt.tuliocp.com/setup.sh | sudo bashMethod 2: Direct Installer
wget https://raw.githubusercontent.com/contaura/tuliocp/main/install/hst-install.sh
sudo bash hst-install.sh- 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
To manually add the TulioCP APT repository (not needed for standard installation):
# Add TulioCP repository
echo "deb https://apt.tuliocp.com stable main" | sudo tee /etc/apt/sources.list.d/tuliocp.list
# Update package lists (ignore signature warnings for now)
sudo apt update
# Install TulioCP (temporary: allow unauthenticated until GPG signing is implemented)
sudo apt install --allow-unauthenticated tuliocpNote: The repository is currently unsigned. GPG signing will be implemented in a future update.
- Operating Systems: Debian 10/11/12, Ubuntu 20.04/22.04/24.04 LTS
- Architecture: amd64 (x8664) - _arm64 coming soon
- Memory: Minimum 1GB RAM (2GB+ recommended)
- Storage: 10GB+ available disk space
- Network: Internet connection for package installation
- Access: Root or sudo privileges required
Repository URL: https://apt.tuliocp.com/
Build Status: β
Fully Operational
Our automated build system provides:
- Trigger: Every push to
mainbranch - Build Server: Self-hosted runner with TulioCP dependencies
- Process: Automated DEB package compilation
- Output: Production-ready
tuliocp_1.10.0~alpha_amd64.debpackages
- Webhook: HTTPS webhook handler (port 8443)
- Authentication: GitHub token-based secure deployment
- Target: GitHub Pages with custom domain
- Structure: Full Debian APT repository format
- 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.gzandReleasefiles - Automatic Updates: New commits automatically trigger rebuilds
- Server Access: Root or sudo privileges
- Fresh OS: Clean Debian/Ubuntu installation recommended
- Network: Stable internet connection
- Basic Knowledge: Understanding of Linux server administration
Method 1: One-Line Installation (Recommended)
curl -sSL https://apt.tuliocp.com/setup.sh | sudo bashMethod 2: Direct Installation
# Download and run installer
wget https://raw.githubusercontent.com/contaura/tuliocp/main/install/hst-install.sh
sudo bash hst-install.shMethod 3: Manual APT Repository Setup
# Manual repository configuration
echo "deb https://apt.tuliocp.com stable main" | sudo tee /etc/apt/sources.list.d/tuliocp.list
sudo apt update
sudo apt install --allow-unauthenticated tuliocpLocal Console:
sudo bash hst-install.shRemote SSH:
ssh root@your.server
wget https://raw.githubusercontent.com/contaura/tuliocp/main/install/hst-install.sh
bash hst-install.shSSL Certificate Issues:
# If download fails due to SSL validation
sudo apt update && sudo apt install ca-certificates- Welcome email sent to specified address (if configured)
- On-screen login instructions provided
- Web interface accessible via server IP/domain
- Default admin credentials displayed in terminal
View available installation flags and options:
bash hst-install.sh -hCommon options:
--interactive- Interactive installation with prompts--force- Skip compatibility checks--hostname- Set custom hostname--email- Set admin email address
- Default: Enabled on new installations
- Management: Server Settings β Updates
- Schedule: Configurable update intervals
Via APT (Recommended):
# Update package lists and upgrade TulioCP
sudo apt update && sudo apt upgrade tuliocpTraditional Method:
# System-wide updates (includes TulioCP)
sudo apt update && sudo apt upgradePrerequisites:
- Node.js 18+ (tested with v22.19.0)
- Git
- macOS/Linux development environment
One-Command Setup:
# Clone repository and setup development environment
git clone https://github.com/contaura/tuliocp.git
cd tuliocp
./dev-installer.shThe development environment provides:
- Frontend Build System: esbuild + Lightning CSS for fast asset compilation
- Code Quality: Prettier, Biome, Stylelint, Markdownlint with git hooks
- Development Server: VitePress documentation server
- Build Monitoring: Real-time status and asset tracking
- Quality Checks: Pre-commit hooks for code formatting and linting
Build all assets:
npm run buildBuild outputs:
web/js/dist/main.min.js- Main application bundleweb/js/dist/*.min.js- External packages (Alpine.js, Chart.js, xterm, etc.)web/css/themes/*.min.css- CSS themes with source maps
Supported themes: dark, default, flat, vestia
# Install dependencies
npm ci --ignore-scripts
# Build frontend assets
npm run build
# Run all linters
npm run lint
# Format code
npm run format
# Start documentation server
npm run docs:dev
# Run tests
npm run docs:testAfter running ./dev-installer.sh, you get convenient shortcuts:
# Check development status
~/.local/share/tuliocp-dev/status.sh
# Quick rebuild
~/.local/share/tuliocp-dev/build.sh
# Code quality check
~/.local/share/tuliocp-dev/lint.sh
# Format all code
~/.local/share/tuliocp-dev/format.sh
# Start docs server
~/.local/share/tuliocp-dev/docs-dev.shVerify setup:
./debug-installer.shCheck build status:
~/.local/share/tuliocp-dev/status.shJavaScript 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)
Development Mode (macOS/Linux):
- Use
dev-installer.shfor local development - Frontend asset building and live reloading
- Code quality tools and git hooks
- Documentation development server
Production Mode (Ubuntu/Debian):
- Use
hst-install.shfor server deployment - Full system installation with services
- Web server configuration (Apache + Nginx)
- Database, mail, and DNS server setup
Linting Tools:
- JavaScript: Biome for fast linting and formatting
- CSS: Stylelint with standard configuration
- PHP: Prettier with PHP plugin
- Shell: Prettier with shell script support
- 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
- Shell script validation
For detailed installation guides, configuration instructions, and troubleshooting:
- π Installation Guide - See above for quick start
- π§ Configuration Reference - Detailed setup and configuration guides
- π Troubleshooting - Common issues and solutions
- π Quick Start Examples - Command line installation options
- π» Development Setup - Local development environment
- π¬ GitHub Discussions - General questions and community help
- π Issue Tracker - Bug reports and feature requests
- π Wiki - Community documentation
- If you encounter a general problem while using Tulio Control Panel and need help, please search existing issues or start a discussion on GitHub.
- Bugs and other reproducible issues should be filed via GitHub by creating a new issue report so that our developers can investigate further. Please note that requests for support will be redirected to our forum.
IMPORTANT: We cannot provide support for requests that do not describe the troubleshooting steps that have already been performed, or for third-party applications not related to Tulio Control Panel (such as WordPress). Please make sure that you include as much information as possible in your issue reports!
If you would like to contribute to the project, please read our Contribution Guidelines for a brief overview of our development process and standards.
"Tulio Control Panel", "TulioCP", and the Tulio logo are original copyright of tuliocp.com and the following restrictions apply:
You are allowed to:
- use the names "Tulio Control Panel", "TulioCP", or the Tulio logo in any context directly related to the application or the project. This includes the application itself, local communities and news or blog posts.
You are not allowed to:
- sell or redistribute the application under the name "Tulio Control Panel", "TulioCP", or similar derivatives, including the use of the Tulio logo in any brand or marketing materials related to revenue generating activities,
- use the names "Tulio Control Panel", "TulioCP", or the Tulio logo in any context that is not related to the project,
- alter the name "Tulio Control Panel", "TulioCP", or the Tulio logo in any way.
Tulio Control Panel is licensed under GPL v3 license.