### Manual Statamic Installation Commands Source: https://ploi.io/statamic A sequence of terminal commands to clone a Statamic repository and install its dependencies. This process assumes a standard PHP environment with Composer and Node.js installed. ```bash cd ~/sites git clone your-repo.git cd your-site composer install npm install npm run build ``` -------------------------------- ### POST /api/servers/{server}/sites/{id}/nextcloud Source: https://developers.ploi.io/ Installs the Nextcloud application on a specific site. ```APIDOC ## POST /api/servers/{server}/sites/{id}/nextcloud ### Description Installs the Nextcloud application on the specified site. ### Method POST ### Endpoint /api/servers/{server}/sites/{id}/nextcloud ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server - **id** (string) - Required - The ID of the site ### Response #### Success Response (200) - **status** (string) - Success message ``` -------------------------------- ### Craft CMS 1-Click Install Description Source: https://ploi.io/craft-cms This section describes the Craft CMS 1-click install feature offered by Ploi.io. It highlights Craft CMS as a flexible and user-friendly CMS for creating custom digital experiences, emphasizing its benefits for developers and content creators alike. ```markdown Craft CMS 1-click install ========================= The flexible, user-friendly CMS for custom digital experiences Craft CMS deployment, simplified -------------------------------- Craft is a flexible, user-friendly CMS for creating custom digital experiences on the web and beyond. Built for developers, loved by content creators. With intuitive content modeling, powerful templating, and a control panel that content authors actually enjoy using, Craft powers ambitious digital experiences. [Deploy Craft CMS now](https://ploi.io/register) [![Craft CMS 1-click install](https://ploi.io/images/screenshots/craft-cms-1-click.jpg "Craft CMS 1-click install")](https://ploi.io/images/screenshots/craft-cms-1-click.jpg "Craft CMS 1-click install") Why choose Craft CMS with Ploi? ------------------------------- Everything you need to build exceptional digital experiences ### Flexible content modeling Design custom content structures with fields, sections, and entry types that match your exact needs. ### Git-based workflow Automatic repository creation with deployment hooks for seamless version control and collaboration. ``` -------------------------------- ### Redis Server Setup (Markdown) Source: https://ploi.io/features/elasticsearch-server This markdown snippet describes the Redis server functionality provided by Ploi.io. It explains that Redis can be used for caching or temporary data storage and that Ploi allows for easy setup and management of scalable Redis servers. ```markdown [### Redis Server Need a caching solution for your applications or want to store data to be fetched later temporarily? Set up a scalable Redis server easily and manage settings through our panel. ](https://ploi.io/features/redis-server) ``` -------------------------------- ### GET /api/backups/file Source: https://developers.ploi.io/ Lists all file backups associated with the account. ```APIDOC ## GET /api/backups/file ### Description Retrieves a list of all site file backups. ### Method GET ### Endpoint /api/backups/file ### Response #### Success Response (200) - **data** (array) - List of backup objects. ``` -------------------------------- ### Webserver Configuration Details (Markdown) Source: https://ploi.io/features/elasticsearch-server This markdown snippet details the generic webserver offered by Ploi.io. It mentions that the webserver comes with pre-installed defaults such as a webserver, database, and Redis, and that these are configurable during installation. ```markdown [### Webserver The generic webserver we offer comes with all the defaults installed: webserver, database, Redis, and much more. This is configurable upon installation. ](https://ploi.io/server-installation) ``` -------------------------------- ### GET /api/servers/{server}/sites/{id}/deploy/script Source: https://developers.ploi.io/ Retrieves the deploy script for a specific site on a given server. ```APIDOC ## GET /api/servers/{server}/sites/{id}/deploy/script ### Description Retrieves the deploy script for a specific site on a given server. ### Method GET ### Endpoint /api/servers/{server}/sites/{id}/deploy/script ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server. - **id** (string) - Required - The ID of the site. ### Response #### Success Response (200) - **script** (string) - The deploy script content. ``` -------------------------------- ### Tenant NGINX Configuration Example Source: https://ploi.io/features/tenants This NGINX configuration snippet demonstrates how to proxy requests to a backend application for a specific tenant and handle static file caching. It includes directives for proxying, setting tenant headers, and caching static assets. ```nginx location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Tenant tenant1; } location ~* \.(css|js|png|jpg)$ { expires 30d; add_header Cache-Control "public"; } ``` -------------------------------- ### GET /api/servers/{server}/sites/{site}/aliases Source: https://developers.ploi.io/ Retrieves a list of all aliases configured for a specific site. ```APIDOC ## GET /api/servers/{server}/sites/{site}/aliases ### Description Returns a list of all domain aliases associated with the specified site. ### Method GET ### Endpoint /api/servers/{server}/sites/{site}/aliases ### Parameters #### Path Parameters - **server** (integer) - Required - The ID of the server. - **site** (integer) - Required - The ID of the site. ### Response #### Success Response (200) - **data** (array) - List of alias objects. #### Response Example { "data": [ { "id": 12345, "domain": "example.com" } ] } ``` -------------------------------- ### phpMyAdmin 1-Click Install Description Source: https://ploi.io/phpmyadmin This section describes phpMyAdmin, a free PHP-based tool for administering MySQL and MariaDB databases via the web. It highlights its intuitive interface for managing databases, tables, columns, and users, while also allowing direct SQL execution. ```markdown phpMyAdmin 1-click install ========================== Manage your databases through the web Database management, simplified ------------------------------- phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL and MariaDB over the Web. Manage databases, tables, columns, relations, indexes, users, and permissions through an intuitive interface, while retaining the ability to execute any SQL statement directly. [Deploy phpMyAdmin now](https://ploi.io/register) [![phpMyAdmin 1-click install](https://ploi.io/images/screenshots/phpmyadmin.png "phpMyAdmin 1-click install")](https://ploi.io/images/screenshots/phpmyadmin.png "phpMyAdmin 1-click install") Why choose phpMyAdmin with Ploi? -------------------------------- The most popular MySQL administration tool, deployed in seconds ### Visual database management Browse, edit, and manage your databases through an intuitive web interface without writing SQL. ### Secure by default Automatic SSL certificate, HTTP authentication, and secure configuration out of the box. ``` -------------------------------- ### GET /api/servers/{server}/sites/{id}/env Source: https://developers.ploi.io/ Retrieves the environment file content for a specific site on a given server. ```APIDOC ## GET /api/servers/{server}/sites/{id}/env ### Description Retrieves the environment file content for a specific site on a given server. ### Method GET ### Endpoint /api/servers/{server}/sites/{id}/env ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server. - **id** (string) - Required - The ID of the site. ### Response #### Success Response (200) - **env_content** (string) - The content of the environment file. ``` -------------------------------- ### POST /api/servers/{server}/sites/{site}/tenants Source: https://developers.ploi.io/ Creates a new tenant for a specific site on a server. ```APIDOC ## POST /api/servers/{server}/sites/{site}/tenants ### Description Creates a new tenant for a specific site on a server. ### Method POST ### Endpoint /api/servers/{server}/sites/{site}/tenants ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server. - **site** (string) - Required - The ID of the site. ### Response #### Success Response (200) - **id** (string) - The ID of the created tenant. ``` -------------------------------- ### GET /api/servers Source: https://developers.ploi.io/ Retrieves a list of all servers associated with the account. ```APIDOC ## GET /api/servers ### Description List all servers available in the account. ### Method GET ### Endpoint /api/servers ### Response #### Success Response (200) - **servers** (array) - List of server objects #### Response Example { "servers": [] } ``` -------------------------------- ### POST /api/servers/{server}/sites/{id}/deploy-to-production Source: https://developers.ploi.io/ Deploys a staging site to production for a specific server and site ID. ```APIDOC ## POST /api/servers/{server}/sites/{id}/deploy-to-production ### Description Deploys a staging site to production for a specific server and site ID. ### Method POST ### Endpoint /api/servers/{server}/sites/{id}/deploy-to-production ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server. - **id** (string) - Required - The ID of the site. ### Request Example ```json { "example": "No request body needed for this endpoint." } ``` ### Response #### Success Response (200) - **message** (string) - A confirmation message indicating the deployment to production has started. ``` -------------------------------- ### GET /api/ips Source: https://developers.ploi.io/ Retrieves a list of available IP addresses. ```APIDOC ## GET /api/ips ### Description Retrieves a list of available IP addresses. ### Method GET ### Endpoint /api/ips ### Response #### Success Response (200) - **ips** (array) - An array of IP address objects. ``` -------------------------------- ### POST /api/servers/{server}/sites Source: https://developers.ploi.io/ Creates a new site on the specified server. ```APIDOC ## POST /api/servers/{server}/sites ### Description Creates a new site on the specified server. ### Method POST ### Endpoint /api/servers/{server}/sites ### Parameters #### Path Parameters - **server** (string) - Required - The ID or identifier of the server. ### Response #### Success Response (200) - **id** (integer) - The ID of the created site. ``` -------------------------------- ### GET /api/status-pages Source: https://developers.ploi.io/ Lists all status pages associated with the user account. ```APIDOC ## GET /api/status-pages ### Description Lists all status pages associated with the user account. ### Method GET ### Endpoint /api/status-pages ### Response #### Success Response (200) - **data** (array) - List of status pages. ``` -------------------------------- ### POST /api/servers/{server}/sites/{id}/deploy Source: https://developers.ploi.io/ Deploys a site to a specific server and site ID. ```APIDOC ## POST /api/servers/{server}/sites/{id}/deploy ### Description Deploys a site to a specific server and site ID. ### Method POST ### Endpoint /api/servers/{server}/sites/{id}/deploy ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server. - **id** (string) - Required - The ID of the site. ### Request Example ```json { "example": "No request body needed for this endpoint." } ``` ### Response #### Success Response (200) - **message** (string) - A confirmation message indicating the deployment has started. ``` -------------------------------- ### GET /api/servers/{server}/insights Source: https://developers.ploi.io/ Lists all insights for a specific server. ```APIDOC ## GET /api/servers/{server}/insights ### Description Lists all insights for a specific server. ### Method GET ### Endpoint /api/servers/{server}/insights ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server. ### Response #### Success Response (200) - **insights** (array) - An array of insight objects. ``` -------------------------------- ### GET /api/servers/{server}/databases Source: https://developers.ploi.io/ Lists all databases associated with a specific server. ```APIDOC ## GET /api/servers/{server}/databases ### Description Lists all databases associated with a specific server. ### Method GET ### Endpoint /api/servers/{server}/databases ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server. ### Response #### Success Response (200) - **databases** (array) - An array of database objects. ``` -------------------------------- ### Database Server Provisioning (Markdown) Source: https://ploi.io/features/elasticsearch-server This markdown snippet outlines the database server offering from Ploi.io. It emphasizes the scalability benefits of a separate database server and mentions that Ploi provides optimized servers for specific database applications. ```markdown [### Database Server A separate database server is more scalable in the future. That's why you can install database-specific optimized servers for your applications. ](https://ploi.io/features/database-server) ``` -------------------------------- ### GET /api/servers/{server}/databases/{id} Source: https://developers.ploi.io/ Retrieves details for a specific database on a given server. ```APIDOC ## GET /api/servers/{server}/databases/{id} ### Description Retrieves details for a specific database on a given server. ### Method GET ### Endpoint /api/servers/{server}/databases/{id} ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server. - **id** (string) - Required - The ID of the database. ### Response #### Success Response (200) - **database_details** (object) - An object containing the database details. ``` -------------------------------- ### GET /api/servers/{server}/docker/containers Source: https://developers.ploi.io/ Retrieves a list of all Docker containers running on the specified server. ```APIDOC ## GET /api/servers/{server}/docker/containers ### Description List all Docker containers currently managed on the server. ### Method GET ### Endpoint /api/servers/{server}/docker/containers ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server ### Response #### Success Response (200) - **data** (array) - List of container objects ``` -------------------------------- ### GET /api/teapot Source: https://developers.ploi.io/ Returns a "teapot" response, typically used for testing or as an Easter egg. ```APIDOC ## GET /api/teapot ### Description Returns a "teapot" response, typically used for testing or as an Easter egg. ### Method GET ### Endpoint /api/teapot ### Response #### Success Response (418) - **message** (string) - A "teapot" related message. ``` -------------------------------- ### POST /api/servers/{server}/sites/{site}/fastcgi-cache/enable Source: https://developers.ploi.io/ Enables FastCGI cache for a specific site on a given server. ```APIDOC ## POST /api/servers/{server}/sites/{site}/fastcgi-cache/enable ### Description Enables FastCGI cache for a specific site on a given server. ### Method POST ### Endpoint /api/servers/{server}/sites/{site}/fastcgi-cache/enable ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server. - **site** (string) - Required - The ID of the site. ### Request Example ```json { "example": "No request body needed for this endpoint." } ``` ### Response #### Success Response (200) - **message** (string) - A confirmation message indicating FastCGI cache has been enabled. ``` -------------------------------- ### GET /api/servers/{server}/insights/{id} Source: https://developers.ploi.io/ Retrieves a summary of a specific insight for a given server and insight ID. ```APIDOC ## GET /api/servers/{server}/insights/{id} ### Description Retrieves a summary of a specific insight for a given server and insight ID. ### Method GET ### Endpoint /api/servers/{server}/insights/{id} ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server. - **id** (string) - Required - The ID of the insight. ### Response #### Success Response (200) - **insight_summary** (object) - An object containing the insight summary. ``` -------------------------------- ### POST /api/servers/{server}/sites/{site}/aliases Source: https://developers.ploi.io/ Creates a new alias for a specific site on a server. ```APIDOC ## POST /api/servers/{server}/sites/{site}/aliases ### Description Creates a new domain alias for an existing site hosted on a Ploi server. ### Method POST ### Endpoint /api/servers/{server}/sites/{site}/aliases ### Parameters #### Path Parameters - **server** (integer) - Required - The ID of the server. - **site** (integer) - Required - The ID of the site. ### Request Example { "domain": "example.com" } ### Response #### Success Response (200) - **id** (integer) - The ID of the created alias. #### Response Example { "id": 12345, "domain": "example.com" } ``` -------------------------------- ### POST /api/servers/{server}/sites/{site}/certificates Source: https://developers.ploi.io/ Creates a new SSL certificate for a specific site. ```APIDOC ## POST /api/servers/{server}/sites/{site}/certificates ### Description Generates or adds a new SSL certificate for the given site. ### Method POST ### Endpoint /api/servers/{server}/sites/{site}/certificates ### Parameters #### Path Parameters - **server** (string) - Required - The ID of the server - **site** (string) - Required - The ID of the site ### Response #### Success Response (200) - **id** (string) - The ID of the created certificate ```