Skip to content

Contaura/tuliocp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Tulio Control Panel

TulioCP Logo

Lightweight and powerful control panel for the modern web

Latest Release License Stars

Welcome!

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.

Support the Project

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

Features and Services

  • 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).

Supported platforms and operating systems

  • 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!

πŸ“¦ TulioCP APT Repository

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.

🎯 Quick Installation

Method 1: One-Line Installation (Recommended)

curl -sSL https://apt.tuliocp.com/setup.sh | sudo bash

Method 2: Direct Installer

wget https://raw.githubusercontent.com/contaura/tuliocp/main/install/hst-install.sh
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

πŸ”§ Manual Repository Setup

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 tuliocp

Note: The repository is currently unsigned. GPG signing will be implemented in a future update.

πŸ—οΈ System Requirements

  • 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

πŸš€ Automated Build & Deployment System

Repository URL: https://apt.tuliocp.com/
Build Status: βœ… Fully Operational

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
  • Automatic Updates: New commits automatically trigger rebuilds

πŸš€ Installing TulioCP

⚠️ Important: Install TulioCP on a fresh operating system for optimal functionality.

πŸ”‘ Prerequisites

  • Server Access: Root or sudo privileges
  • Fresh OS: Clean Debian/Ubuntu installation recommended
  • Network: Stable internet connection
  • Basic Knowledge: Understanding of Linux server administration

πŸš€ Quick Installation

Method 1: One-Line Installation (Recommended)

curl -sSL https://apt.tuliocp.com/setup.sh | sudo bash

Method 2: Direct Installation

# Download and run installer
wget https://raw.githubusercontent.com/contaura/tuliocp/main/install/hst-install.sh
sudo bash hst-install.sh

Method 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 tuliocp

πŸ”§ Connection Methods

Local Console:

sudo bash hst-install.sh

Remote SSH:

ssh root@your.server
wget https://raw.githubusercontent.com/contaura/tuliocp/main/install/hst-install.sh
bash hst-install.sh

SSL Certificate Issues:

# If download fails due to SSL validation
sudo apt update && sudo apt install ca-certificates

✨ Post-Installation

  • 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

πŸ”§ Custom Installation Options

View available installation flags and options:

bash hst-install.sh -h

Common options:

  • --interactive - Interactive installation with prompts
  • --force - Skip compatibility checks
  • --hostname - Set custom hostname
  • --email - Set admin email address

πŸ”„ Upgrading TulioCP

πŸ€– Automatic Updates

  • Default: Enabled on new installations
  • Management: Server Settings β†’ Updates
  • Schedule: Configurable update intervals

πŸ”§ Manual Updates

Via APT (Recommended):

# Update package lists and upgrade TulioCP
sudo apt update && sudo apt upgrade tuliocp

Traditional Method:

# System-wide updates (includes TulioCP)
sudo apt update && sudo apt upgrade

πŸ’» Development Environment

πŸš€ Quick Development Setup

Prerequisites:

  • 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.sh

πŸ› οΈ Development Features

The 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

πŸ“¦ Frontend Asset Building

Build all assets:

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

Supported themes: dark, default, flat, vestia

πŸ”§ Development Commands

# 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:test

πŸ“‹ Development Shortcuts

After 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.sh

πŸ” Environment Debugging

Verify setup:

./debug-installer.sh

Check build status:

~/.local/share/tuliocp-dev/status.sh

πŸ—οΈ 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)

πŸ”„ 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
  • Full system installation with services
  • Web server configuration (Apache + Nginx)
  • Database, mail, and DNS server setup

πŸ§ͺ Testing & Quality

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

Documentation

For detailed installation guides, configuration instructions, and troubleshooting:

Community & Support

Issues & Support Requests

  • 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!

Contributions

If you would like to contribute to the project, please read our Contribution Guidelines for a brief overview of our development process and standards.

Copyright

"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.

License

Tulio Control Panel is licensed under GPL v3 license.

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 331