Manual Installation
Step-by-step instructions for manually installing PteroCA, including server setup, dependencies, and panel deployment.
Please note, this project is currently in an early version (0.x.x) and may contain bugs. Use it at your own risk.
To manually install PteroCA, follow the instructions below.
1. System requirements
To install and run PteroCA.com, you'll need to have the following dependencies installed on your system:
PHP and Extensions
PHP 8.2 or higher
Required PHP extensions:
cli, ctype, iconv, mysql, pdo, mbstring, tokenizer, bcmath, xml, curl, zip, intl, fpm(if using NGINX)
Database
MySQL 5.7.22 or higher (MySQL 8 recommended) OR
MariaDB 10.2 or higher
Additional Tools
Git (optional)
Tar & Unzip
Composer v2 (Dependency Manager for PHP)
Curl
Example Dependency Installation
Below is an example of how you might install the required dependencies on a Debian or Ubuntu-based system. These commands assume you're using PHP 8.2 and installing MariaDB and NGINX:
Composer
Composer is a powerful dependency manager for PHP. It allows us to handle and install all the necessary libraries and packages that your project needs. Before proceeding, make sure you have Composer installed on your server.
To install Composer globally, run the following command:
This will install Composer globally on your machine, making it accessible from anywhere by running the composer command.
Once installed, verify it by running:
This should print the installed Composer version.
2. Download files
There are two ways to obtain the PteroCA source code manually:
Option A - Download from Git
The first step to getting PteroCA.com running is to set up the directory where the panel will be installed. You will then clone the repository directly from our GitHub and install required composer dependencies.
Hereβs an example of how to create a directory for the panel and navigate into it:
This command will create a new folder at /var/www/pteroca, clone the PteroCA codebase, and place all the necessary files into this directory.
Once the repository is cloned, you're ready to proceed with the setup process.
Option B - Download from GitHub Release
If you don't want to install Git, you can manually download the latest stable version from GitHub Releases:
Download the latest
.zipor.tar.gzarchive under AssetsUpload it to your server (e.g. via SFTP or SCP)
Extract the archive into your web directory:
Install Composer dependencies:
3. Set permissions
The final step in the installation process is to set the correct permissions on project files. This ensures that the web server can properly read and write to the necessary directories, such as logs, cache, and file uploads.
You should restrict web server ownership only to the directories that require write access, such as var/ and public/uploads/. This helps to avoid exposing sensitive files to unnecessary access.
This ensures that only the directories requiring write access (var/ and public/uploads/) are owned by the web server user, while the rest of the project remains protected.
Now, set the correct permissions for these directories, allowing the web server to write to them.
This ensures that the web server user can read, write, and execute in these directories, while other users can only read and execute.
4. Crontab configuration
To ensure that critical tasks, such as billing users hourly or suspending unpaid servers, are processed correctly, you need to set up a cron job that runs every minute. This cron job will automatically execute the necessary commands for maintaining your Dashboard.
Open Crontab
Run the following command to edit your crontab configuration:
If prompted to select a text editor, choose your preferred option (typically option 1).
Add the cron job
Scroll to an empty line without a # at the beginning, then add the following entry:
Important: Use pteroca:cron:schedule for new installations. The old command name app:cron-job-schedule is deprecated and will be removed in v1.0.0.
Save the changes in your editor and close it. The cron job is now active and will run automatically every minute.
Post-Installation Steps
After completing the installation, follow these steps to get PteroCA up and running:
1. Database Setup
Configure your database connection and create the required tables.
π Database Setup Guide
2. Environment Configuration
Set up your .env file with essential configuration like APP_SECRET and database credentials.
π Web Server Configuration (includes environment setup)
3. Initial Configuration
Choose one of the following methods to configure your PteroCA panel:
Option A: Web Wizard (Recommended)
Access the web-based configuration wizard:
Navigate to
https://your-domain.com/first-configurationFollow the guided setup process
Configure site settings, email, and Pterodactyl integration
Option B: CLI Wizard
Configure via command line:
This interactive wizard will guide you through all necessary configuration steps.
π System Configuration Guide for detailed settings information
4. Install PteroCA Plugin for Pterodactyl
Required for full integration
The PteroCA Plugin must be installed in your Pterodactyl panel to enable features like:
Server console access
Real-time statistics
Server variable management
SSO authentication
π Install PteroCA Plugin for Pterodactyl
5. Configure Allowed Origins (Console Access)
For the server console to work properly, you need to configure allowed_origins in your Pterodactyl Wings configuration.
This allows PteroCA to communicate with Pterodactyl Wings for console access and real-time server management.
π Configure Allowed Origins
6. Additional Configuration (Optional)
Fine-tune your panel settings through the Admin Panel:
General Settings - Site title, logo, locale
Email Settings - SMTP configuration for notifications
Payment Settings - Stripe integration for payments
Pterodactyl Settings - API connection and SSO setup
Last updated