# fortrabbit docs > Developer documentation for fortrabbit, the PHP cloud hosting platform. Covers Git deployments, SSH access, managed databases, workers, and more. ## Full documentation All docs concatenated into a single file for LLM consumption. - [llms-full.txt](/llms-full.txt) ## Docs - [BETA (now)](https://docs.fortrabbit.com/raw/platform/new/beta.md) - [New and old - side by side](https://docs.fortrabbit.com/raw/platform/new/new-and-old.md) - [Changes](https://docs.fortrabbit.com/raw/platform/new/changes.md) - [Price comparison (old/new)](https://docs.fortrabbit.com/raw/platform/new/price-comparsion.md) - [Migration from old to new platform](https://docs.fortrabbit.com/raw/platform/new/migration.md) - [New platform](https://docs.fortrabbit.com/raw/platform/new.md) - [First steps](https://docs.fortrabbit.com/raw/platform/get-started/first-steps.md) - [Project organization](https://docs.fortrabbit.com/raw/platform/get-started/project-organization.md) - [Free trial details](https://docs.fortrabbit.com/raw/platform/get-started/free-trial.md) - [Choosing the right hosting plan](https://docs.fortrabbit.com/raw/platform/get-started/choosing-a-hosting-plan.md) - [Get started](https://docs.fortrabbit.com/raw/platform/get-started.md) - [Account organization](https://docs.fortrabbit.com/raw/platform/concepts/account-organization.md) - [Components intro](https://docs.fortrabbit.com/raw/platform/concepts/components.md) - [Stack detector](https://docs.fortrabbit.com/raw/platform/concepts/stack-detector.md): When connecting a Git repo from GitHub while setting up an app for git deployment, the code in the repo will be scanned using the stack detector: - [Software templates](https://docs.fortrabbit.com/raw/platform/concepts/software-templates.md): We maintain a list of hosting settings for popular software to be pre-configured for smooth setup. When setting up an app with Git deployment the repos will be parsed by the stack detector and the software will be detected automatically. If the software is not detected or setup without Git deployment is preferred, the software can be chosen by the user. Software templates are version aware (although just major versions). - [Limitations](https://docs.fortrabbit.com/raw/platform/concepts/limits.md) - [Software support levels](https://docs.fortrabbit.com/raw/platform/concepts/software-support-levels.md): There are no one-click installers at fortrabbit. Our software guides are mostly about deploying and configuring an existing code base to fortrabbit. Our friendly support chat can help you with all general hosting questions as well as wth general PHP questions. Additionally we are good with certain frameworks and CMS. We have categorized our knowledge in levels. - [Live code examples](https://docs.fortrabbit.com/raw/platform/concepts/live-code-examples.md) - [Concepts](https://docs.fortrabbit.com/raw/platform/concepts.md) - [Direct code access](https://docs.fortrabbit.com/raw/platform/code-access/intro.md): Direct code access lets you connect to environments via SSH or transfer files via SFTP. This can be useful when working with legacy software, for quick edits, or when Git-based deployment isn't practical, or sometimes in combination. - [SSH access](https://docs.fortrabbit.com/raw/platform/code-access/ssh.md) - [SFTP access](https://docs.fortrabbit.com/raw/platform/code-access/sftp.md) - [Directory structure](https://docs.fortrabbit.com/raw/platform/code-access/directories.md): When you login with SFTP or SSH to your environment you can see the file directory structure. This is what you'll find: - [Code access troubleshooting](https://docs.fortrabbit.com/raw/platform/code-access/troubleshooting.md) - [Code access overview](https://docs.fortrabbit.com/raw/platform/code-access.md) - [Deployment intro](https://docs.fortrabbit.com/raw/platform/deployment/intro.md): In regard of deployment, Git is not only used as a version control system, but also as a transport layer to copy over the latest code changes. A typical code deployment on fortrabbit consists of the following deployment pipeline: - [The fortrabbit GitHub App](https://docs.fortrabbit.com/raw/platform/deployment/github-app.md) - [Build commands](https://docs.fortrabbit.com/raw/platform/deployment/build-commands.md) - [Post deploy commands](https://docs.fortrabbit.com/raw/platform/deployment/post-deploy-commands.md) - [Deployment trigger](https://docs.fortrabbit.com/raw/platform/deployment/trigger.md) - [Cached directories](https://docs.fortrabbit.com/raw/platform/deployment/cached-directories.md) - [Deployment strategy](https://docs.fortrabbit.com/raw/platform/deployment/strategy.md): The result of the changes received by git push and the build steps execution is called a deploy package - a temporary file set. This will be put into the storage of the environment somehow. You can change the deployment synchronization strategy setting with the dashboard. The strategy matches with the software and deployment flows to be used. With the software template defaults for the deployment strategy are set. - [Git source directory](https://docs.fortrabbit.com/raw/platform/deployment/git-source-directory.md): The Git source directory is a dashboard settings for environments that have git deployment enabled. Define which folder with the Git repo should be deployed. In most cases the root path of the repo will work fine. Leave the field empty for that. - [Exclude patterns](https://docs.fortrabbit.com/raw/platform/deployment/exclude-patterns.md): This is essential to preserve user uploads, assets, and other user-generated content. This setting is only available when the deployment strategy is set to 'replace'. Note that with the replace strategy, all files from the deployment build will replace the content of the actual web storage. Generally, you want to exclude runtime data (files and folder created by the website not with git). Usually this about user uploads, logs, sessions. - [Replace patterns](https://docs.fortrabbit.com/raw/platform/deployment/replace-patterns.md): This is essential to avoid old files cluttering the system and confusing the software. This setting is only available when the deployment strategy is set to 'merge'. Note that with the blend strategy, all files from the deployment build will synced into the content of the actual web storage. No old files will be deleted. - [Deploy hooks](https://docs.fortrabbit.com/raw/platform/deployment/deploy-hook.md): Deploy hooks are unique URLs that accept HTTP POST requests to trigger a deployment on an environment. - [Deploy logs](https://docs.fortrabbit.com/raw/platform/deployment/logs.md) - [Deployment troubleshooting](https://docs.fortrabbit.com/raw/platform/deployment/troubleshooting.md) - [Deployment overview](https://docs.fortrabbit.com/raw/platform/deployment.md) - [Using ENV vars on fortrabbit](https://docs.fortrabbit.com/raw/platform/settings/env-vars.md) - [Password protection](https://docs.fortrabbit.com/raw/platform/settings/password-protection.md) - [Routing options](https://docs.fortrabbit.com/raw/platform/settings/routing.md) - [PHP settings](https://docs.fortrabbit.com/raw/platform/settings/php.md): Environments ship with an opinionated (think optimized) pre-configuration of PHP settings. Those also depend on the software template. The dashboard exposes the most important settings to configure the PHP version and certain PHP extensions. - [Root path](https://docs.fortrabbit.com/raw/platform/settings/root-path.md) - [Incoming firewall (WAF)](https://docs.fortrabbit.com/raw/platform/settings/firewall-incoming.md) - [Outgoing firewall](https://docs.fortrabbit.com/raw/platform/settings/firewall-outgoing.md) - [Logs](https://docs.fortrabbit.com/raw/platform/settings/logs.md) - [Metrics](https://docs.fortrabbit.com/raw/platform/settings/metrics.md) - [Hosting settings](https://docs.fortrabbit.com/raw/platform/settings.md) - [Database access intro](https://docs.fortrabbit.com/raw/platform/mysql/access/intro.md) - [Database access via terminal](https://docs.fortrabbit.com/raw/platform/mysql/access/access-local-terminal.md): The following commands are run on your local computer. The mysql command line client is required. Exact commands may differ depending on the kind of local development environment. - [Database access via GUI](https://docs.fortrabbit.com/raw/platform/mysql/access/access-local-gui.md) - [Database access from within the environment](https://docs.fortrabbit.com/raw/platform/mysql/access/access-environment.md) - [MySQL access](https://docs.fortrabbit.com/raw/platform/mysql/access.md) - [Database export/import](https://docs.fortrabbit.com/raw/platform/mysql/export-import/intro.md) - [Database up via terminal](https://docs.fortrabbit.com/raw/platform/mysql/export-import/database-up-terminal.md) - [Database down via terminal](https://docs.fortrabbit.com/raw/platform/mysql/export-import/database-down-terminal.md) - [MySQL database upload from local to remote by GUI](https://docs.fortrabbit.com/raw/platform/mysql/export-import/database-up-gui.md) - [MySQL database download from remote to local via GUI](https://docs.fortrabbit.com/raw/platform/mysql/export-import/database-down-gui.md) - [MySQL export/import](https://docs.fortrabbit.com/raw/platform/mysql/export-import.md) - [Advanced database tips](https://docs.fortrabbit.com/raw/platform/mysql/advanced-database.md) - [Database troubleshooting](https://docs.fortrabbit.com/raw/platform/mysql/troubleshooting.md) - [MySQL overview](https://docs.fortrabbit.com/raw/platform/mysql.md) - [PHP](https://docs.fortrabbit.com/raw/platform/components/php.md) - [MySQL](https://docs.fortrabbit.com/raw/platform/components/mysql.md): Most classical CMS systems, such as WordPress and Craft CMS are using it as the central data storage. Alternatives to MySQL are PostgreSQL and Redis derivatives like Valkey. - [Storage](https://docs.fortrabbit.com/raw/platform/components/storage.md) - [Traffic](https://docs.fortrabbit.com/raw/platform/components/traffic.md) - [Backups](https://docs.fortrabbit.com/raw/platform/components/backups.md): Backups are an optional scalable component available per environment in various plans. They include file and database backups, see working with backup files. The encrypted backups are stored off-site on a block storage and do not count towards your storage usage. Backups can be downloaded from the dashboard, backup restore is offered too. - [Jobs](https://docs.fortrabbit.com/raw/platform/components/jobs.md): Jobs is an optional component that can be booked and scaled per environment in the dashboard. The scaling increases in available RAM and number of jobs. - [Components](https://docs.fortrabbit.com/raw/platform/components.md) - [The app](https://docs.fortrabbit.com/raw/platform/objects/app.md) - [The environment](https://docs.fortrabbit.com/raw/platform/objects/environment.md) - [The person](https://docs.fortrabbit.com/raw/platform/objects/person.md) - [The team](https://docs.fortrabbit.com/raw/platform/objects/team.md) - [The invoice object](https://docs.fortrabbit.com/raw/platform/objects/invoice.md) - [The payment method](https://docs.fortrabbit.com/raw/platform/objects/payment-method.md) - [The domain](https://docs.fortrabbit.com/raw/platform/objects/domain.md) - [The deployment object](https://docs.fortrabbit.com/raw/platform/objects/deployment.md): The deployment object displays metadata, including deployment logs, the issuer, the environment, and a link to the deployed commit. - [The SSH key object](https://docs.fortrabbit.com/raw/platform/objects/ssh-key.md): Remember, on fortrabbit an account represents a person. SSH key authentication is used to securely identify you for your personal code access. SSH keys are an object within the fortrabbit dashboard. Personal SSH keys can be managed with your account settings, deploy keys with each environment. - [Dashboard objects](https://docs.fortrabbit.com/raw/platform/objects.md) - [Pricing structure](https://docs.fortrabbit.com/raw/platform/billing/pricing-structure.md): The example diagram below illustrates the billable structure of a payment method with two apps, one with one environment, the other with two environments. The environments have different plans of components booked. - [Postpaid billing](https://docs.fortrabbit.com/raw/platform/billing/postpaid.md) - [Daily aggregation](https://docs.fortrabbit.com/raw/platform/billing/daily-aggregation.md): If you book a plan on the 16th day or create an app or environment, the invoice items will be calculated for 15 active usage days. The dollar signs indicate days that would be included in the invoice: - [Billing schedule](https://docs.fortrabbit.com/raw/platform/billing/schedule.md) - [Payment types](https://docs.fortrabbit.com/raw/platform/billing/payment-types.md): We provide a range of available payment types that can be managed with the dashboard. Availability may depend on your geographical location. Beside all classic credit cards, direct bank debit and wallets are supported. SEPA direct debit is accessible to clients in the European Union only. - [Autoscaling](https://docs.fortrabbit.com/raw/platform/billing/autoscaling.md) - [Plans](https://docs.fortrabbit.com/raw/platform/billing/plans.md) - [Currency rules](https://docs.fortrabbit.com/raw/platform/billing/currencies.md) - [VAT rules](https://docs.fortrabbit.com/raw/platform/billing/vat.md) - [Late payments](https://docs.fortrabbit.com/raw/platform/billing/late-payments.md) - [Invoice archive](https://docs.fortrabbit.com/raw/platform/billing/invoice-archive.md) - [Invoice threshold](https://docs.fortrabbit.com/raw/platform/billing/invoice-threshold.md): The threshold value may change over time and may be differ depending on currency and payment type. Consider something like 50 cent. We use Stripe as our invoicing provider and their threshold functionality. Invoices below threshold will be nullified automatically, so nothing needs to be paid for that service period. The amount will be added to the payment methods balance and applied to the next invoice. - [Grouped tiers](https://docs.fortrabbit.com/raw/platform/billing/tiers.md): Usage based components are sized in practical ranges so that costs stay predictable and mostly flat. Best illustrated with an example: With web traffic the smallest plan includes 32 GiB. This tier is sufficient for 96% of all websites, resulting in highly predictable costs and usually no cost jumps month by month. - [Billing](https://docs.fortrabbit.com/raw/platform/billing.md) - [External domains](https://docs.fortrabbit.com/raw/platform/dns/external-domains.md) - [Point a domain to fortrabbit](https://docs.fortrabbit.com/raw/platform/dns/external-domain-setup.md) - [Domain forwarding](https://docs.fortrabbit.com/raw/platform/dns/domain-forwarding-service.md) - [HTTPS](https://docs.fortrabbit.com/raw/platform/dns/https.md) - [Apex domains](https://docs.fortrabbit.com/raw/platform/dns/apex-domains.md) - [DNS and domain troubleshooting](https://docs.fortrabbit.com/raw/platform/dns/dns-troubleshooting.md) - [DNS and domains](https://docs.fortrabbit.com/raw/platform/dns.md) - [Collaboration intro](https://docs.fortrabbit.com/raw/platform/collaboration/intro.md) - [Team invite](https://docs.fortrabbit.com/raw/platform/collaboration/how-to/invite-to-team.md) - [Invite to app](https://docs.fortrabbit.com/raw/platform/collaboration/how-to/invite-to-app.md) - [Invite to a payment method](https://docs.fortrabbit.com/raw/platform/collaboration/how-to/invite-to-payment-method.md) - [Invite to take over billing](https://docs.fortrabbit.com/raw/platform/collaboration/how-to/invite-to-pay.md) - [How to](https://docs.fortrabbit.com/raw/platform/collaboration/how-to.md) - [Developer collaboration](https://docs.fortrabbit.com/raw/platform/collaboration/developer-collaboration.md) - [Billing collaboration](https://docs.fortrabbit.com/raw/platform/collaboration/billing-collaboration.md) - [Technical contact](https://docs.fortrabbit.com/raw/platform/collaboration/technical-contact.md): A technical contact is a person with a developer connection to the app - usually the responsible developer with good knowledge of the project and code base. Think 'web master'. - [Billing connection](https://docs.fortrabbit.com/raw/platform/collaboration/billing-connection.md) - [Developer connection](https://docs.fortrabbit.com/raw/platform/collaboration/developer-connection.md) - [Account types](https://docs.fortrabbit.com/raw/platform/collaboration/account-types.md) - [Team roles](https://docs.fortrabbit.com/raw/platform/collaboration/team-roles.md) - [Collaboration](https://docs.fortrabbit.com/raw/platform/collaboration.md) - [Backup files](https://docs.fortrabbit.com/raw/platform/backups/files.md): The fortrabbit backup component provides you with a downloadable file archive of an environment at a given time, see retention. This archive contains everything required to restore the state of that backup. - [Topic backups](https://docs.fortrabbit.com/raw/platform/backups.md) - [Restore from backup](https://docs.fortrabbit.com/raw/platform/backups/restore.md) - [Backup retention](https://docs.fortrabbit.com/raw/platform/backups/retention.md) - [Jobs usage](https://docs.fortrabbit.com/raw/platform/jobs/usage.md): Jobs are an optional component, see booking and scaling jobs. After booking a new settings page will become available with the environment in the dashboard. Here you can add, remove, start, stop and edit jobs. - [Crons](https://docs.fortrabbit.com/raw/platform/jobs/crons.md) - [Workers](https://docs.fortrabbit.com/raw/platform/jobs/workers.md) - [Jobs tuning](https://docs.fortrabbit.com/raw/platform/jobs/tuning.md) - [Jobs](https://docs.fortrabbit.com/raw/platform/jobs.md) - [Platform](https://docs.fortrabbit.com/raw/platform.md) - [Install Laravel locally](https://docs.fortrabbit.com/raw/guides/laravel/install.md) - [Laravel setup](https://docs.fortrabbit.com/raw/guides/laravel/setup.md) - [Laravel deployment](https://docs.fortrabbit.com/raw/guides/laravel/deployment.md) - [Laravel deploymentbuild settings](https://docs.fortrabbit.com/raw/guides/laravel/build-settings.md) - [Laravel tuning](https://docs.fortrabbit.com/raw/guides/laravel/tune.md) - [Laravel](https://docs.fortrabbit.com/raw/guides/laravel.md) - [Install Craft CMS local](https://docs.fortrabbit.com/raw/guides/craft-cms/install.md) - [Craft CMS setup at fortrabbit](https://docs.fortrabbit.com/raw/guides/craft-cms/setup.md) - [Deploy Craft CMS to fortrabbit](https://docs.fortrabbit.com/raw/guides/craft-cms/deployment.md) - [Database syncing with Craft CMS](https://docs.fortrabbit.com/raw/guides/craft-cms/database.md) - [Craft CMS assets handling](https://docs.fortrabbit.com/raw/guides/craft-cms/assets.md) - [Craft CMS tuning](https://docs.fortrabbit.com/raw/guides/craft-cms/tune.md) - [Craft CMS performance tips](https://docs.fortrabbit.com/raw/guides/craft-cms/performance.md) - [Updating Craft CMS](https://docs.fortrabbit.com/raw/guides/craft-cms/updating.md) - [Running a headless Craft CMS on fortrabbit](https://docs.fortrabbit.com/raw/guides/craft-cms/headless.md) - [Using Craft CMS plugins](https://docs.fortrabbit.com/raw/guides/craft-cms/plugins.md) - [Craft CMS queue jobs](https://docs.fortrabbit.com/raw/guides/craft-cms/queueing.md): Craft CMS uses queue jobs for long-running tasks. By default these jobs are processed by a web based ajax call which blocks PHP processes that are meant for site delivery. In the worst case scenario the queue runner consumes all PHP resources. Luckily there are more robust solutions available. - [Craft CMS domain setup](https://docs.fortrabbit.com/raw/guides/craft-cms/domain-setup.md): For general information on how to add domains to your fortrabbit App, please see our domains article. For Craft CMS be sure to have set your domain's root path to the /web folder. - [Craft CMS troubleshooting](https://docs.fortrabbit.com/raw/guides/craft-cms/troubleshooting.md) - [Craft CMS guides](https://docs.fortrabbit.com/raw/guides/craft-cms.md) - [Install Kirby CMS locally](https://docs.fortrabbit.com/raw/guides/kirby/install.md) - [Kirby deployment options](https://docs.fortrabbit.com/raw/guides/kirby/deployment-options.md) - [Deploy Kirby with Git and rsync](https://docs.fortrabbit.com/raw/guides/kirby/git-and-rsync.md) - [Deploy Kirby with rsync](https://docs.fortrabbit.com/raw/guides/kirby/rsync.md) - [Tune Kirby](https://docs.fortrabbit.com/raw/guides/kirby/tune.md) - [Kirby guides](https://docs.fortrabbit.com/raw/guides/kirby.md) - [Install Statamic](https://docs.fortrabbit.com/raw/guides/statamic/install.md) - [Statamic deployment options](https://docs.fortrabbit.com/raw/guides/statamic/deployment-options.md) - [Deploy Statamic with Git and rsync](https://docs.fortrabbit.com/raw/guides/statamic/deploy-git-rsync.md) - [Statamic tuning](https://docs.fortrabbit.com/raw/guides/statamic/tuning.md) - [Statamic guides](https://docs.fortrabbit.com/raw/guides/statamic.md) - [WordPress quick setup guide](https://docs.fortrabbit.com/raw/guides/wordpress/setup.md): We assume you've already created an app and chose WordPress in the software template. In the following, you will install WordPress directly on the environment. We do not recommend to use git deployment since, WordPress is not ready for it yet. - [Tune WordPress](https://docs.fortrabbit.com/raw/guides/wordpress/tune.md) - [Update WordPress](https://docs.fortrabbit.com/raw/guides/wordpress/update.md): There are many ways to deploy and develop WordPress. Depending on your work-flow, the way you'll update WordPress and deploy the update might be different. Minor patch versions of WordPress might be updated automatically. - [Secure WordPress](https://docs.fortrabbit.com/raw/guides/wordpress/security.md): The good news is that WordPress has automatic background updates and they are enabled by default. Please check the article from the official WordPress codex on how to configure automatic background updates and take care that your WordPress core, plugins and even themes are always up-to-date. - [WordPress guides](https://docs.fortrabbit.com/raw/guides/wordpress.md) - [Tempest guide](https://docs.fortrabbit.com/raw/guides/more/tempest.md) - [Drupal guide](https://docs.fortrabbit.com/raw/guides/more/drupal.md) - [October CMS guide](https://docs.fortrabbit.com/raw/guides/more/october-cms.md) - [Grav install guide](https://docs.fortrabbit.com/raw/guides/more/grav.md) - [Symfony guide](https://docs.fortrabbit.com/raw/guides/more/symfony.md) - [Typo3 guide](https://docs.fortrabbit.com/raw/guides/more/typo3-cms.md) - [Other CMS & frameworks](https://docs.fortrabbit.com/raw/guides/more/others.md) - [Software guides overview](https://docs.fortrabbit.com/raw/guides/more.md) - [Guides](https://docs.fortrabbit.com/raw/guides.md) - [Intro to website performance](https://docs.fortrabbit.com/raw/dev/performance/intro.md) - [People problems](https://docs.fortrabbit.com/raw/dev/performance/people-problems.md) - [Common performance issues](https://docs.fortrabbit.com/raw/dev/performance/common-issues.md) - [Monitoring & metrics](https://docs.fortrabbit.com/raw/dev/performance/monitoring.md) - [Backend performance best practices](https://docs.fortrabbit.com/raw/dev/performance/backend.md): We want you to encourage to design for performance and scalability. And that is all about thinking a bit ahead. Speed matters for your users and for SEO. You - the responsible PHP developer - may have more responsibility than you think. - [PHP processes](https://docs.fortrabbit.com/raw/dev/performance/php-processes.md) - [Frontend performance best practices](https://docs.fortrabbit.com/raw/dev/performance/frontend.md) - [Database performance tips](https://docs.fortrabbit.com/raw/dev/performance/database.md): Many 504 errors and slow PHP response times are related to slow MySQL queries. It's your job as the responsible developer to make sure no insane MySQL queries are executed with your environment. When using a framework or CMS you might not write MySQL queries directly. Still you need to take that the requests to the database are executed without waste. - [Scaling ideas](https://docs.fortrabbit.com/raw/dev/performance/scaling.md): The fortrabbit platform offers a high grade of abstraction for booking required hosting resources, aiming to make booking more resources an almost seamless experience. The product catalog is designed in components that can be booked and scaled individually. - [Performance](https://docs.fortrabbit.com/raw/dev/performance.md) - [SSH key setup](https://docs.fortrabbit.com/raw/dev/learn/ssh-key-setup.md) - [Composer](https://docs.fortrabbit.com/raw/dev/learn/composer.md) - [Staging environments](https://docs.fortrabbit.com/raw/dev/learn/staging-environments.md) - [Monorepos](https://docs.fortrabbit.com/raw/dev/learn/monorepos.md) - [Headless hosting workflows](https://docs.fortrabbit.com/raw/dev/learn/headless.md) - [PHP info](https://docs.fortrabbit.com/raw/dev/learn/php-info.md): phpinfo() is a built-in PHP function that displays information about the current server settings, including: - [Using a canonical tag](https://docs.fortrabbit.com/raw/dev/learn/canonical-tag.md): Let's say you have the page fortrabbit.com and fort-rabbit.com registered. And you want both to display the same content but still keep the originally entered URL. Actually, for this example you might want to create a redirect to the domain that matters most to you, but whatever. Now you want the search engines to prefer and link to the first domain, so you add in the head of each HTML page delivered: - [Composer private repos](https://docs.fortrabbit.com/raw/dev/learn/composer-private-repos.md) - [Dig](https://docs.fortrabbit.com/raw/dev/learn/dig.md): The dig command shows you if there are any DNS entries and where they are pointing to. Here we look up help.fortrabbit.com. - [Encoding](https://docs.fortrabbit.com/raw/dev/learn/encoding.md) - [Git intro](https://docs.fortrabbit.com/raw/dev/learn/git-intro.md) - [GitHub API limits and Composer](https://docs.fortrabbit.com/raw/dev/learn/github-api-limits.md): The solution is to create a GitHub OAuth token and put it in your composer.json file. You can do so by visiting https://github.com/settings/tokens or via terminal: - [Hosts file](https://docs.fortrabbit.com/raw/dev/learn/hosts-file.md): Let's say you are developing a website soon to launch and want to test your custom domain before actually switching the DNS routing it to fortrabbit. Just add the domain to fortrabbit, as you would do with any actually routed domain, then modify your local hosts file, which lets your local machine know ahead of time that the domain is to be served from your fortrabbit e. - [HTTPS troubleshooting](https://docs.fortrabbit.com/raw/dev/learn/https-troubleshooting.md): TLS certificates are provided for all domains. See the HTTPS article for general features and configuration. - [Learn](https://docs.fortrabbit.com/raw/dev/learn.md) - [Security tips](https://docs.fortrabbit.com/raw/dev/learn/security-tips.md) - [ENV vars intro](https://docs.fortrabbit.com/raw/dev/env-vars/intro.md) - [Accessing ENV vars from PHP](https://docs.fortrabbit.com/raw/dev/env-vars/access.md) - [Understanding the .env file](https://docs.fortrabbit.com/raw/dev/env-vars/dotenv.md) - [Security considerations for ENV vars](https://docs.fortrabbit.com/raw/dev/env-vars/security.md) - [ENV vars](https://docs.fortrabbit.com/raw/dev/env-vars.md) - [Reduce hosting costs](https://docs.fortrabbit.com/raw/dev/how-to/reduce-hosting-costs.md) - [How to download a full website](https://docs.fortrabbit.com/raw/dev/how-to/download-a-website.md) - [How to](https://docs.fortrabbit.com/raw/dev/how-to.md) - [Migrate to fortrabbit](https://docs.fortrabbit.com/raw/dev/how-to/migrate-to-fortrabbit.md): fortrabbit is not your traditional shared or VPS hosting. It may require some tinkering on your application and we recommend reading the intro as well as our specific install guides for various frameworks & CMS to get the concepts and features. - [rsync deployment](https://docs.fortrabbit.com/raw/dev/how-to/rsync.md) - [Using Secure Copy](https://docs.fortrabbit.com/raw/dev/how-to/scp.md) - [PHP version upgrade](https://docs.fortrabbit.com/raw/dev/how-to/upgrade-php.md) - [Configure .user.ini](https://docs.fortrabbit.com/raw/dev/how-to/userini.md): At fortrabbit, php-fpm is used for performance and security reasons. This means that adding php_value directives to .htaccess files has no effect. You can instead use .user.ini files to configure PHP settings that aren't available through the fortrabbit dashboard. - [.htaccess intro](https://docs.fortrabbit.com/raw/dev/htaccess/intro.md): .htaccess is a hidden file that usually lives in the web root folder of your code base. It enables altering the web server's configuration directives. .htaccess rules apply to all subdirectories. .htaccess is usually not excluded in .gitignore so it will be deployed alongside your code. Take care: htaccess is a sharp sword. With great power comes great responsibility. - [Redirects with .htaccess](https://docs.fortrabbit.com/raw/dev/htaccess/redirects.md) - [HTTP auth with .htaccess](https://docs.fortrabbit.com/raw/dev/htaccess/http-auth.md): The fortrabbit dashboard also provides a setting for this. - [GZIP with .htaccess](https://docs.fortrabbit.com/raw/dev/htaccess/gzip.md): HTTP responses are compressed if the content-type header indicates a text document, for example text/css or text/html. To enable GZIP compression for other HTTP responses, like your REST or GraphQL APIs, use the AddOutputFilterByType directive: - [Environment detection with .htaccess](https://docs.fortrabbit.com/raw/dev/htaccess/environment-detection.md) - [Force HTTPS with HSTS in .htaccess](https://docs.fortrabbit.com/raw/dev/htaccess/hsts.md): In your .htaccess file you can add this line: - [More .htaccess tips](https://docs.fortrabbit.com/raw/dev/htaccess/tips.md) - [.htaccess troubleshooting](https://docs.fortrabbit.com/raw/dev/htaccess/troubleshooting.md) - [HTTP headers](https://docs.fortrabbit.com/raw/dev/htaccess/http-headers.md) - [.htaccess overview](https://docs.fortrabbit.com/raw/dev/htaccess.md) - [Troubleshoot 404 errors](https://docs.fortrabbit.com/raw/dev/http-errors/404.md): The server can be reached and is answering but there is nothing to show under this address. - [Troubleshoot 500 errors](https://docs.fortrabbit.com/raw/dev/http-errors/500.md) - [Troubleshoot 503 errors](https://docs.fortrabbit.com/raw/dev/http-errors/503.md) - [Troubleshoot 504 errors](https://docs.fortrabbit.com/raw/dev/http-errors/504.md): Usually, the request is taking too long to process or something is blocking execution and many requests are piling up. This article aims to help developers troubleshooting 504 and 503 errors. - [HTTP errors](https://docs.fortrabbit.com/raw/dev/http-errors.md) - [Troubleshoot 400 errors](https://docs.fortrabbit.com/raw/dev/http-errors/others/400.md): The server was reached but rejected the request before it reached your application logic. Understand and fix 400 responses on fortrabbit. - [Troubleshoot 403 errors](https://docs.fortrabbit.com/raw/dev/http-errors/others/403.md): This happens when access is denied, or in other words: the resource is not allowed for some reason. This article aims to help developers troubleshooting 403 errors. - [Troubleshoot 408 errors](https://docs.fortrabbit.com/raw/dev/http-errors/others/408.md): The server timed out waiting for the request to complete. - [Troubleshoot 502 errors](https://docs.fortrabbit.com/raw/dev/http-errors/others/502.md) - [Other HTTP errors](https://docs.fortrabbit.com/raw/dev/http-errors/others.md) - [Development](https://docs.fortrabbit.com/raw/dev.md) - [Intro to local development with PHP](https://docs.fortrabbit.com/raw/integrations/local-development/intro.md) - [Local development with DDEV](https://docs.fortrabbit.com/raw/integrations/local-development/ddev.md): We can not recommend DDEV enough. It is an abstraction layer on top of Docker to simplify local PHP development. It's rooted in the Drupal world but is also popular with Craft CMS, Symfony, Laravel and WordPress. DDEV is sponsorware, use it for free to use, donations welcome. It's a command line tool and has many nice features and even plugins. - [Laravel Valet](https://docs.fortrabbit.com/raw/integrations/local-development/laravel-valet.md): Laravel Valet is an easy-to-use local solution not only for Laravel developers on macOS. It's a command line interface, so you install it with the Terminal. It bundles NGNIX, DnsMasq and some other magic to an easy to use CLI. - [Local development with Laravel Herd](https://docs.fortrabbit.com/raw/integrations/local-development/laravel-herd.md): Laravel Herd provides a streamlined local development environment specifically optimized for PHP applications on macOS and Windows. It bundles NGNIX, DnsMasq and some other magic to an easy to use statusbar app. For using MySQL the Pro upgrade must be bought. - [Local development with Laravel Sail](https://docs.fortrabbit.com/raw/integrations/local-development/laravel-sail.md): Sail is Laravel's own take on a Docker-based local development environment. It's essentially a docker-compose.yml file and a CLI wrapper script stored in your project. It's a good match if you want a per-project isolated environment that matches the "Laravel way" of doing things. - [Local development with ServBay](https://docs.fortrabbit.com/raw/integrations/local-development/servbay.md): ServBay is a GUI-based local development environment for macOS and Windows. It provides web servers, multiple PHP versions, and common databases in one app, with per-project settings and local DNS. - [Local development with Laragon](https://docs.fortrabbit.com/raw/integrations/local-development/laragon.md): Laragon is an open source, portable, isolated development environment for Windows. It runs services natively without virtualization and comes with a simple GUI to manage your local stack. - [Local development](https://docs.fortrabbit.com/raw/integrations/local-development.md) - [Domain registration providers](https://docs.fortrabbit.com/raw/integrations/dns/intro.md) - [DNS and domain registration providers](https://docs.fortrabbit.com/raw/integrations/dns/providers.md) - [Domain provider instructions](https://docs.fortrabbit.com/raw/integrations/dns/instructions.md) - [Cloudflare](https://docs.fortrabbit.com/raw/integrations/dns/cloudflare.md) - [ANAME / ALIAS records](https://docs.fortrabbit.com/raw/integrations/dns/aname-alias-records.md) - [DNS](https://docs.fortrabbit.com/raw/integrations/dns.md) - [Git providers](https://docs.fortrabbit.com/raw/integrations/git-providers/intro.md) - [GitHub](https://docs.fortrabbit.com/raw/integrations/git-providers/github.md) - [Bitbucket](https://docs.fortrabbit.com/raw/integrations/git-providers/bitbucket.md) - [GitLab](https://docs.fortrabbit.com/raw/integrations/git-providers/gitlab.md) - [Codeberg](https://docs.fortrabbit.com/raw/integrations/git-providers/codeberg.md) - [Git hosting](https://docs.fortrabbit.com/raw/integrations/git-providers.md) - [Application Performance Monitoring](https://docs.fortrabbit.com/raw/integrations/apm/intro.md): APM tools help you look inside your running application to identify performance bottlenecks, slow database queries, and runtime errors. Instead of guessing why your app is slow, APM tools give you data-driven insights to optimize your code effectively. - [Blackfire](https://docs.fortrabbit.com/raw/integrations/apm/blackfire.md) - [New Relic](https://docs.fortrabbit.com/raw/integrations/apm/new-relic.md) - [Tideways](https://docs.fortrabbit.com/raw/integrations/apm/tideways.md) - [Laravel Nightwatch](https://docs.fortrabbit.com/raw/integrations/apm/laravel-nightwatch.md) - [SigNoz](https://docs.fortrabbit.com/raw/integrations/apm/signoz.md) - [DataDog](https://docs.fortrabbit.com/raw/integrations/apm/datadog.md) - [Flare](https://docs.fortrabbit.com/raw/integrations/apm/flare.md) - [Application Performance Monitoring](https://docs.fortrabbit.com/raw/integrations/apm.md) - [Email account providers](https://docs.fortrabbit.com/raw/integrations/email/intro.md) - [Email account providers](https://docs.fortrabbit.com/raw/integrations/email/providers.md) - [Personal and work email](https://docs.fortrabbit.com/raw/integrations/email.md) - [Database clients](https://docs.fortrabbit.com/raw/integrations/database-clients/intro.md) - [MySQL Workbench](https://docs.fortrabbit.com/raw/integrations/database-clients/workbench.md): MySQL Workbench is the official unified visual tool for database architects, developers, and DBAs. It provides data modeling, SQL development, and comprehensive administration tools. - [Sequel Ace](https://docs.fortrabbit.com/raw/integrations/database-clients/sequel-ace.md): Sequel Ace is a fast, open-source, native MySQL/MariaDB client for macOS. It is the successor to the popular Sequel Pro. It's free to use. We like it. - [TablePlus](https://docs.fortrabbit.com/raw/integrations/database-clients/tableplus.md): TablePlus is a modern, native, and friendly tool for relational databases. It supports macOS, Windows, and Linux. We don't use it, but like it. - [phpMyAdmin](https://docs.fortrabbit.com/raw/integrations/database-clients/phpmyadmin.md) - [Database clients](https://docs.fortrabbit.com/raw/integrations/database-clients.md) - [Git clients](https://docs.fortrabbit.com/raw/integrations/git-clients/intro.md) - [GitHub CLI](https://docs.fortrabbit.com/raw/integrations/git-clients/gh-cli.md): GitHub CLI brings GitHub to your terminal with the gh command. It reduces context switching between browser and terminal. It is available for macOS, Windows, and Linux for free. - [Fork](https://docs.fortrabbit.com/raw/integrations/git-clients/fork.md): Fork is a fast and friendly Git client for Mac and Windows and has gained popularity for being extremely fast and having a clean, intuitive interface. It offers a generous free evaluation version (almost free). It's a very good tool for individuals. It's also good as a companion app, when using Git in the terminal or through IDE integration. - [Tower](https://docs.fortrabbit.com/raw/integrations/git-clients/tower.md): Tower is a premium graphical Git client for macOS and Windows. It's great for complex operations like interactive rebase and managing multiple remotes. It's specifically useful to align on git workflows across a team. The pricing is yearly per user. - [GitHub Desktop](https://docs.fortrabbit.com/raw/integrations/git-clients/github-desktop.md): GitHub Desktop is an open source Git client by GitHub. It's designed to work seamlessly with GitHub, but it works with any Git repository too. It simplifies many Git concepts, which makes it great for beginners. - [Git clients](https://docs.fortrabbit.com/raw/integrations/git-clients.md) - [SFTP clients](https://docs.fortrabbit.com/raw/integrations/sftp-clients/intro.md): You mostly deploy code via Git. However, SFTP is useful for browsing files, downloading logs, uploading assets, and troubleshooting. See our SFTP guide for connection details and use cases. There are many good clients available. We have guides for the most popular ones. - [Cyberduck](https://docs.fortrabbit.com/raw/integrations/sftp-clients/cyberduck.md): Cyberduck is a popular, (free) open-source client that supports SFTP, FTP, WebDAV, Amazon S3, and more. It is available for macOS and Windows. It has a cute icon, but might have become a bit bloated over the years. - [Transmit](https://docs.fortrabbit.com/raw/integrations/sftp-clients/transmit.md): Transmit by Panic is widely considered the best file transfer client for macOS. It's fast, reliable, and integrates well with the OS. Unlike other tools here it is paid. - [FileZilla](https://docs.fortrabbit.com/raw/integrations/sftp-clients/filezilla.md): FileZilla is one of the most well-known FTP clients. Its is free software and works on Windows, Linux, and macOS. - [PuTTY (PSFTP)](https://docs.fortrabbit.com/raw/integrations/sftp-clients/putty.md): PuTTY is a classic command line tool for Windows users. PuTTY itself is for SSH terminal access, but the suite includes PSFTP for secure file transfers via command line. If you prefer a graphical interface on Windows, we recommend WinSCP or Cyberduck. - [WinSCP](https://docs.fortrabbit.com/raw/integrations/sftp-clients/winscp.md): WinSCP is a widely used open source SFTP client for Windows. It offers a dual-pane interface and integrated text editor. It's quit old, but it works. - [SFTP clients](https://docs.fortrabbit.com/raw/integrations/sftp-clients.md) - [Database hosting](https://docs.fortrabbit.com/raw/integrations/database-hosting/intro.md): Keep your app on fortrabbit, disable the database component, and use an external database provider. - [PlanetScale](https://docs.fortrabbit.com/raw/integrations/database-hosting/planetscale.md): PlanetScale offers a scalable, serverless MySQL-compatible database. It is built on Vitess, the database clustering system used by YouTube. - [Neon](https://docs.fortrabbit.com/raw/integrations/database-hosting/neon.md): Neon is a serverless open-source Postgres database. It separates storage and compute to offer a modern serverless Postgres experience. It features branching, autoscaling, and bottomless storage. - [CrateDB](https://docs.fortrabbit.com/raw/integrations/database-hosting/cratedb.md): CrateDB is a distributed SQL database built on top of a NoSQL foundation. It is a distributed SQL database that makes it easy to store and analyze massive amounts of data in real-time. It is good for IoT and time-series data. CrateDB uses the PostgreSQL wire protocol. So you can use many standard PostgreSQL clients and libraries to interact with it. - [Database hosting](https://docs.fortrabbit.com/raw/integrations/database-hosting.md) - [Transactional email services](https://docs.fortrabbit.com/raw/integrations/transactional-mail/intro.md) - [More transactional email services](https://docs.fortrabbit.com/raw/integrations/transactional-mail/providers.md): Here are some commercial services for transactional emails. Sorry, we can't tell you which is the best one — haven't got the time to test them all. Well known are: - [Postmark](https://docs.fortrabbit.com/raw/integrations/transactional-mail/postmark.md) - [SendGrid](https://docs.fortrabbit.com/raw/integrations/transactional-mail/sendgrid.md) - [Transactional mail providers](https://docs.fortrabbit.com/raw/integrations/transactional-mail.md) - [Web analytics services](https://docs.fortrabbit.com/raw/integrations/web-analytics/intro.md): Web analytics services provide insights into your website's traffic, user behavior, and content performance. They help you make data-driven decisions about content, design, and marketing strategies. - [Fathom Analytics](https://docs.fortrabbit.com/raw/integrations/web-analytics/fathom.md): Fathom Analytics is a privacy-focused analytics tool. It doesn't use cookies, doesn't track users across websites, and complies with GDPR and CCPA without requiring cookie consent banners. - [Plausible analytics](https://docs.fortrabbit.com/raw/integrations/web-analytics/plausible.md) - [Rybbit analytics](https://docs.fortrabbit.com/raw/integrations/web-analytics/rybbit.md) - [Umami Analytics](https://docs.fortrabbit.com/raw/integrations/web-analytics/umami.md) - [Matomo](https://docs.fortrabbit.com/raw/integrations/web-analytics/matomo.md) - [Google Analytics](https://docs.fortrabbit.com/raw/integrations/web-analytics/google-analytics.md) - [Web analytics](https://docs.fortrabbit.com/raw/integrations/web-analytics.md) - [GitHub Actions runners](https://docs.fortrabbit.com/raw/integrations/github-actions-runners/intro.md): GitHub Actions are not always the best fit. Builds are a bit slow, costs are high, when compared. Managed runner providers and self-hosted runner platforms fill that gap. They usually offer a GitHub-compatible runner label, better hardware choices, and more flexible billing. In many cases, moving over is a small workflow change instead of a full CI migration. - [Namespace](https://docs.fortrabbit.com/raw/integrations/github-actions-runners/namespace.md): Namespace is a managed runner platform aimed at teams that want a near drop-in replacement for GitHub-hosted runners with better storage and caching behavior. It also offers ARM support, macOS runners, remote terminal access, and additional tooling around preview environments and remote Docker builds. - [BuildJet](https://docs.fortrabbit.com/raw/integrations/github-actions-runners/buildjet.md): BuildJet targets teams that want better CI performance without redesigning their workflows. It supports ARM runners and its own cache backend, so it can be useful for projects where dependency and build caches dominate runtime. - [Actuated](https://docs.fortrabbit.com/raw/integrations/github-actions-runners/actuated.md): Actuated is a fit for teams that want GitHub Actions compatibility but do not want their CI workloads to run on shared infrastructure. It supports ARM, offers SSH-based debugging, and is designed for environments where large images, private networking, or local datasets matter. That flexibility comes with more operational responsibility than a fully managed service, so it is best suited to teams that are comfortable owning part of the runner platform. - [WarpBuild](https://docs.fortrabbit.com/raw/integrations/github-actions-runners/warpbuild.md): WarpBuild supports Linux, Windows, macOS, x86-64, and ARM runners. It also offers a bring-your-own-cloud model for teams that want workloads to stay inside their AWS, GCP, or Azure account while still using a managed control plane. This makes it an interesting middle ground between a simple hosted runner service and a more infrastructure-heavy self-hosted approach. - [Blacksmith](https://docs.fortrabbit.com/raw/integrations/github-actions-runners/blacksmith.md): Blacksmith focuses on being easy to adopt while improving performance and cost compared with GitHub-hosted runners. Its notable strengths include a migration wizard, high-speed caching, ARM support, and additional workflow statistics. - [Ubicloud](https://docs.fortrabbit.com/raw/integrations/github-actions-runners/ubicloud.md): Ubicloud provides hosted runners with Linux and ARM options and a pricing model that is often notably lower than GitHub-hosted runners. The wider platform is open source, which may matter to teams that care about transparency or want a closer look at the underlying approach. This is a practical option when cost is the main decision driver and you still want a service that behaves like hosted infrastructure. - [RunsOn](https://docs.fortrabbit.com/raw/integrations/github-actions-runners/runs-on.md): RunsOn is an open source runner tool for AWS. It is aimed at teams that want a GitHub Actions-compatible setup in their own account, including access to ARM, GPU, custom images, and very large instance sizes. It is attractive when AWS locality and infrastructure control matter, but it is less of a plug-and-play managed service than the hosted runner providers in this list. - [Cirun](https://docs.fortrabbit.com/raw/integrations/github-actions-runners/cirun.md): Cirun sits between managed convenience and self-hosted control. You connect your preferred cloud provider, and Cirun provisions runners when jobs need them. It supports ARM, GPU workloads, and multiple major cloud platforms. - [Depot](https://docs.fortrabbit.com/raw/integrations/github-actions-runners/depot.md): Depot is aims to accelerate Docker image builds, but it also supports GitHub Actions workloads with managed remote builders, centralized caching, ARM support, macOS builds, and optional GPU-backed jobs. - [GitHub Actions runners](https://docs.fortrabbit.com/raw/integrations/github-actions-runners.md) - [Uptime monitoring services](https://docs.fortrabbit.com/raw/integrations/uptime-monitoring/intro.md): Uptime monitoring tools continuously request your websites, APIs, and critical endpoints from one or multiple regions. If checks fail, usually multiple times, they send alerts by email, SMS, or other channels you configure. - [Oh Dear](https://docs.fortrabbit.com/raw/integrations/uptime-monitoring/oh-dear.md): Oh Dear is an uptime monitoring tool with practical checks and incident notifications. It's solid monitoring without a large observability stack. - [UptimeRobot](https://docs.fortrabbit.com/raw/integrations/uptime-monitoring/uptime-robot.md): UptimeRobot is known for quick onboarding and a familiar uptime-monitoring workflow. It is a starting point for teams that want lightweight monitoring and alerting. - [StatusCake](https://docs.fortrabbit.com/raw/integrations/uptime-monitoring/statuscake.md): StatusCake provides uptime monitoring with notification and incident-focused features. It can be a good option for teams that want a mature monitoring product with broad check coverage. - [Instatus](https://docs.fortrabbit.com/raw/integrations/uptime-monitoring/instatus.md): Instatus is chosen for clean and easy-to-maintain status pages. While status pages are its core strength, it also includes monitoring and alerting capabilities for incident workflows. It has a super fancy website. - [Uptime Kuma](https://docs.fortrabbit.com/raw/integrations/uptime-monitoring/uptime-kuma.md): Uptime Kuma is a self hosted uptime monitoring service with a modern UI and broad check support. It is a common choice when you prefer to run monitoring infrastructure yourself. - [Pulsetic](https://docs.fortrabbit.com/raw/integrations/uptime-monitoring/pulsetic.md): Pulsetic combines uptime checks with incident communication and status workflow features. It can fit teams that want a modern all-in-one experience for outages. - [Better Stack](https://docs.fortrabbit.com/raw/integrations/uptime-monitoring/better-stack.md): Better Stack - The AI SRE observability stack - combines uptime checks with incident tooling and observability features. It can be useful when teams want to standardize multiple operational workflows in one platform. - [Uptime monitoring](https://docs.fortrabbit.com/raw/integrations/uptime-monitoring.md) - [Integrations and combinations](https://docs.fortrabbit.com/raw/integrations.md) - [fortrabbit docs](https://docs.fortrabbit.com/raw/readme.md): Welcome! This repo contains the contents of the (new) fortrabbit docs. ## Notes - site: https://docs.fortrabbit.com | contact: support@fortrabbit.com | owner: fortrabbit GmbH - web: www.fortrabbit.com (marketing) · blog.fortrabbit.com (blog) · dash.fortrabbit.com (dashboard) - indexing: allowed | excerpting: allowed | embedding: permitted | caching: transient | redistribution: prohibited - training: prohibited without permission — contact support@fortrabbit.com for permission requests - attribution required: "Source: docs.fortrabbit.com — " - license: copyright fortrabbit GmbH — https://www.fortrabbit.com/legal