fortrabbit Help Documentation

website·Indexed 35 days ago

https://help.fortrabbit.com/craft-3-about

Guides and troubleshooting for deploying PHP applications, including installation instructions for Laravel 10, Laravel 9, Craft CMS, October CMS, Kirby, Symfony, and Phalcon. Covers deployment via Git and SFTP, vertical and horizontal scaling, Redis, Memcache, and continuous integration.

Tokens
89.8K
Snippets
320
Records
844
Agent score
65%

What's inside fortrabbit

  1. Overview of the experimental Statamic Git workflow on fortrabbit

    This advanced workflow is designed for experienced developers to deploy Statamic where all content is stored as files and managed via Statamic Git Automation. The core concept is to maintain a Git repository on the fortrabbit App that shares the same upstream as the local repository. To prevent content updates on the App from triggering a full deployment (which happens on the master/main branch), changes on the App are pushed to a separate editorial branch. These changes can then be pulled and merged into the local development branch.
  2. Overview of fortrabbit Company collaboration

    Company collaboration allows you to map your business structure to the fortrabbit platform by creating a 'Company' entity. This enables role-based access control for managing Apps, scaling, monitoring, and billing. It is primarily a paid feature billed on a daily settlement basis.
  3. Overview of fortrabbit Object Storage

    fortrabbit Apps use an ephemeral file system, meaning all local file changes are lost upon deployment. Object Storage provides a persistent, scalable solution for storing user uploads, generated files, and static assets (JS, CSS, images).

    Key characteristics:

    • Public Access: Files are publicly accessible via https://{{app-name}}.objects.frb.io/path-of-the-file.extension.
    • Private Access: Files stored in the /private/ directory are private and must be proxied through the app to be accessed.
    • Compatibility: It implements large parts of the AWS S3 REST API and is compatible with most S3 clients and libraries.
    • Limitation: preSignedRequest is not supported; uploads to storage or access to private files must be proxied through the application.
  4. Overview of fortrabbit services requiring authentication

    The following fortrabbit services require authentication to access:

    • Git deployment
    • SSH and SFTP
    • Remote MySQL database access
    • Log file viewing
    • SSH Remote command execution
    • Object Storage
  5. Overview of SSH authentication in fortrabbit

    SSH key authentication is used as a more secure and convenient alternative to password authentication for accessing fortrabbit services. It is required for tasks such as deploying via Git, accessing live logs, and remote MySQL access. The system uses public-key cryptography: the user provides a public key (.pub) to fortrabbit, while keeping the private key secure on their local machine.
  6. Overview of Universal App deployment methods

    Universal Apps provide three complementary methods to deploy and access code. These methods can work side-by-side depending on the developer's needs:

    1. SFTP: Legacy upload style for simple file management.
    2. Git: Advanced 'push to deploy' workflow, ideal for code management and versioning.
    3. SSH: Used for advanced tasks and manual deployment operations.
  7. Understand fortrabbit Dashboard functional scopes

    The fortrabbit Dashboard is divided into four primary functional areas:

    • Apps: Used to create, manage, scale, and delete applications, retrieve access credentials, configure app-specific settings, and view metrics.
    • Account: Used to manage SSH access keys, passwords, and email preferences.
    • Collaboration: Used to manage personal teams and join external teams.
    • Billing: Used to manage companies, billing contacts, and view invoices.
  8. Monitor Worker performance and health

    Worker health can be monitored via the Dashboard metrics overview:

    • Swap Usage: Any value > 0 indicates a need to upgrade the Worker plan.
    • Memory Usage: Total memory used (includes Linux VFS cache). Monitor for growth over time.
    • Cron Job runs/fails: Total executions and failures. Failures > 0 indicate a need to check logs.
    • Nonstop (re)starts: Total restarts. Note that git pushes trigger restarts; restarts outside of deployment indicate job crashes.
  9. Choose between Fortrabbit Universal and Professional Stacks

    Fortrabbit offers two distinct infrastructure stacks based on the developer's needs and application scale:

    • Universal Stack: Designed for everyone to build websites and web applications. It combines legacy workflows with modern design paradigms and is suitable for beginners.
    • Professional Stack: Designed for sophisticated developers building modern, cloud-enabled, high-performance PHP web applications intended for high traffic.
  10. Use Automatic HTTPS for custom domains

    fortrabbit provides free, zero-config SSL certificates via Let's Encrypt for all custom domains that are correctly added and routed to an App. Certificates are issued and renewed automatically without any manual configuration. Note: This feature does not currently support wildcard domains.
  11. Universal App file system structure overview

    The file system for a Universal App is organized with the application files located under the /srv/app/{{app-name}} path. Other system directories (bin, dev, etc, lib64, proc, usr) are part of the standard Linux distribution and are managed by Fortrabbit; users cannot modify files outside the application context.
    bin
    dev
    etc
    lib64
    proc
    tmp               < 2GB temporary files
    usr
    srv
      app
        {{app-name}}
          htdocs      < default root path
          logs        < log files
  12. Understand the purpose and target audience of the Universal Stack

    The Universal Stack is designed for general-purpose PHP web development, including websites and web applications. It is intended to be universally usable out-of-the-box, making it particularly suitable for developers new to the cloud who want to avoid learning complex new technologies and workflows by unifying legacy development workflows with modern paradigms.