Deploy TYPO3 on Platform.sh in 7 Simple Steps

Deploy TYPO3 on Platform.sh in 7 Simple Steps

Don’t know how to install TYPO3 on Platform.sh? If you're a TYPO3 beginner or developer, installing TYPO3 manually—configuring Apache, PHP, and MySQL—can be confusing and time-consuming. with Platform.sh, you can deploy TYPO3 in just a few clicks—no server headaches, no manual setup, just fast, flexible TYPO3 hosting ready to go.

That’s where Platform.sh comes in. It gives you everything you need to install and run TYPO3 in the cloud—quickly and without the usual setup work.

Wait! Planning to launch your TYPO3 site on a different platform? Before you go further, check out our TYPO3 Installation Series for easy step-by-step guides to install TYPO3 on different platforms.

Let’s dive in and build a powerful, secure TYPO3 environment — the right way — on Platform.sh.

In this guide, you’ll learn how to install TYPO3 on your Mac using Platform.shP step-by-step —without the need for a Linux server or expensive hosting.

Let’s get started!

Platform.sh is a versatile, cloud-based hosting solution designed to streamline DevOps. By automating infrastructure tasks (like deployments and scaling), it allows you to focus on development and innovation. This guide walks you through deploying TYPO3 on Platform.sh—covering everything from initial setup to final launch.

TYPO3 is a free, open-source Content Management System (CMS) built to help businesses and organizations create, manage, and grow their websites. It was founded in 1997 by Kasper Skårhøj and has since become one of the most popular CMS platforms—especially across Europe.

TYPO3 is written in PHP and uses TypoScript, a powerful configuration language that allows for advanced customization and flexibility. You don’t need any special software—TYPO3 runs in your browser and outputs content using standard HTML and JavaScript.

Whether you’re running a small business site, a university portal, or a large enterprise website, TYPO3 can scale to fit your needs.

Imagine an enterprise CMS that evolves as your project grows—without piling on complexity. That’s TYPO3 for you! It’s an open-source powerhouse that excels at:

here are the key reasons that TYPO3 Developers, marketers, and agencies trust TYPO3 for its:

  • Modularity: Make your website do exactly what you need. No more, no less.
  • Security & Stability: Regular LTS (Long-Term Support) releases help you stay secure for years.
  • Scalability: From a tiny local site to a massive global platform, TYPO3 can handle it.
  • Community-Driven Development: Enjoy a lively global community that refines and evolves TYPO3 continuously.

Did You Know? TYPO3 powers over 500,000+ active websites around the world! 

Read more TYPO3 Facts.

Why use TYPO3?

TYPO3 offers advanced features like granular user roles, multisite management, and a strong ecosystem of extensions. It’s perfect for businesses and agencies that need scalability and long-term support.

  • Git-Powered Deployments: Simply push changes via Git, and Platform.sh automatically builds and deploys your TYPO3 app.
  • Ephemeral Environments: Test new features or updates on temporary branches without touching production.
  • Auto-Scaling: Grow to accommodate traffic spikes without heavy manual intervention.
  • Security & Compliance: Benefit from automated updates, multi-regional hosting, and built-in security best practices.
  • Ease of Configuration: YAML-based environment definitions keep your hosting config version-controlled and reproducible.

Who’s This Guide For?

  • Beginners who want a quick path to hosting TYPO3 on a PaaS.
  • Intermediate/Advanced users exploring streamlined deployments and ephemeral environments for dev/test.

1. Platform.sh Account

  • Sign up at platform.sh
  • You’ll use this to create and manage your TYPO3 project in the cloud.

2. TYPO3 Project Setup

  • Start from Platform.sh’s official TYPO3 template, or
  • Push your existing TYPO3 project to a Platform.sh Git repository.

3. Supported TYPO3 Version

  • TYPO3 v10 LTS, v11 LTS, v12 LTS, or newer
  • Always check for the latest stable TYPO3 version compatibility with Platform.sh.

4. Environment Configuration Files

  •  .platform.app.yaml – to define PHP settings, build and deploy steps
  • .platform/services.yaml – to define database services like MariaDB or MySQL
  • .platform/routes.yaml – to configure URLs and routing

5. Required Services

  • PHP: TYPO3 recommends PHP 8.1 or 8.2
  • Database: MySQL/MariaDB (configured via Platform.sh services)
  • Web Server: Platform.sh uses Nginx internally, no manual setup needed

6. Composer

  • TYPO3 installation on Platform.sh is Composer-based
  • Make sure your project has a valid composer.json file with TYPO3 packages

7. Git & CLI Tools

  • Push your code to Platform.sh using Git
  • Optional: Use the Platform.sh CLI for faster local commands

Before diving in, note TYPO3’s release cycles:

  • LTS (Long-Term Support): Typically three years of updates per major release.
  • ELTS (Extended LTS): Paid option if you need extra time beyond standard LTS.

Staying on a currently supported LTS means you’ll get important security patches and feature improvements.

View Roadmap

1. PHP & TYPO3 Compatibility

TYPO3 VersionPHP VersionsStatus
9 ELTS7.2–7.4Active ELTS
10 ELTS7.2–7.4Active ELTS
11 ELTS7.4, 8.0Active ELTS
12 LTS8.1–8.4Active ELTS
13 LTS8.2–8.4Active ELTS

2. System Requirements

  • Web Server: Apache or Nginx
  • Database: MariaDB/MySQL recommended
  • Composer: Recommended for a smoother TYPO3 experience

Always verify with TYPO3’s official System requirements to ensure you’re up to date.

Diagram Explanation:

  • Composer automates versioning, dependency management, and updates.
  • Classic is manual but sometimes easier on hosts without CLI access.

Platform.sh organizes your project via a few key files and containers:

  • .platform.app.yaml: Defines how your TYPO3 application is built and run.
  • .platform/services.yaml: Specifies service containers (e.g., MariaDB, Redis).
  • .platform/routes.yaml: Defines routing rules (HTTP/HTTPS) to your application.
  • Git Repository: All code, including composer.json, is stored in a single source-controlled repo that triggers automated builds.

Diagram Explanation:

  • You push code to Platform.sh via Git.+
  • The platform builds TYPO3 with Composer in the build phase.
  • Once deployed, TYPO3 runs in a container that communicates with a separate MariaDB container.
  • Media files can be stored on persistent disk.
  • Additional environments (e.g., feature branches) spin up automatically for testing.

Below is an outline for a standard Composer-based setup. Platform.sh strongly favors Composer for managing PHP dependencies, so this typically aligns well with TYPO3 best practices.

Step 1. Create a New Platform.sh Project

  1. Sign Up or Log In
    • Head to your Platform.sh dashboard and create a new project.
  2. Select a Template (Optional)
    • You can start with a generic PHP template or choose a custom skeleton if one is available.
  3. Install the Platform.sh CLI (Optional but recommended)

The CLI makes local development and environment management more convenient.
 

Step 2. Configure Services (MariaDB)

In your repository, you’ll generally have a .platform directory. Create or update services.yaml:

# .platform/services.yaml
db:
  type: mariadb:10.4
  disk: 1024

Step 3. Configure Application (.platform.app.yaml)

Create or modify your .platform.app.yaml to define how TYPO3 is built and run:

# .platform.app.yaml

name: app
type: php:8.1
disk: 2048

build:
  flavor: composer
  commands:
    # This command runs after 'composer install' is done
    post_install: |
      # Additional build steps (if needed)

web:
  locations:
    "/":
      root: "public"
      index: ["index.php"]

relationships:
  database: "db:mysql"

# This part ensures necessary PHP extensions
runtime:
  extensions:
    - mbstring
    - gd
    - intl
    - curl
    - zip
    - mysqli
    - opcache
    - xml
    - json

# Set environment variables, including for your TYPO3 context, if needed
variables:
  php:
    memory_limit: 512M
  TYPO3_CONTEXT: Production

Key points:

  • type: php:8.1 ensures a container with PHP 8.1 is used.
  • build.flavor: composer triggers composer install.
  • web.locations points the web root to public (TYPO3’s typical public directory).
  • relationships.database links this app to the db service configured in services.yaml.

Step 4. Composer Setup

Ensure your composer.json has the required TYPO3 dependencies:

{
  "name": "my-typo3-project",
  "type": "project",
  "require": {
    "typo3/cms-base-distribution": "^12.0", 
    "php": "^8.1"
  }
}

You might also include commonly used extensions here (e.g., georgringer/news).

Step 5. Set Up .platform/routes.yaml

Define how Platform.sh routes traffic to your TYPO3 app:

# .platform/routes.yaml
"https://{default}/":
  type: upstream
  upstream: "app:http"

This tells Platform.sh to send all HTTP/HTTPS requests to the app container defined in your .platform.app.yaml.

Step 6. Commit & Push

git add .
git commit -m "Add Platform.sh configuration for TYPO3"
git push platform main

Build & Deploy: Platform.sh automatically runs composer install in a build container, then spins up the runtime containers with your new config.

Step 7. TYPO3 Installation Wizard

  • Find Your Platform.sh Environment URL - In the Platform.sh dashboard or via CLI, locate the environment’s generated URL.
  • Open the URL in a Browser - TYPO3’s install wizard should appear if everything is configured correctly.
  • Database Credentials - Platform.sh injects environment variables for the DB (e.g., DATABASE or via PLATFORM_RELATIONSHIPS). The wizard often auto-detects them, but if needed, you can manually enter them by referencing database credentials in the environment.
  • Complete Setup - Create your admin user, finalize installation, and log into TYPO3’s backend.

     

Once all server configurations are complete, it’s time to finish the setup through the TYPO3 Installation Wizard. This user-friendly, step-by-step wizard helps you finalize the installation process directly in your browser.

Step 1. Check the System Environment (detect if any issues)

TYPO3 will scan your server for required PHP extensions, folder permissions, and system settings. Fix any issues listed before proceeding,

Step 2. Setup Your Database Credentials

Enter the database name, username, and password you created earlier. TYPO3 will use this to store your content and configurations.

Step 3. Choose an Existing Database or Create a New

Select an existing empty database or let TYPO3 create a new one for you.

Step 4. Create backend user & Site

Set up the backend administrator account. Make sure to choose a secure password—you’ll use this to log into the TYPO3 dashboard.

Step 5. Installation Process Start

Define your site name and initial setup options. You can also choose to load a distribution or start with a blank site.

You did it! Now you have a running TYPO3 site on Platform.sh.

Step 6. Get Start with Backend Login

TYPO3 will complete the setup and redirect you to the backend login page.

1. Use Composer for TYPO3 Installation

  • Why: Composer keeps your TYPO3 project clean, versioned, and production-ready.
  • Tip: Use composer create-project to install TYPO3. Avoid downloading ZIP files manually.

2. Define PHP Version in .platform.app.yaml

  • Why: TYPO3 requires specific PHP versions (e.g., PHP 8.1+ for v12).
  • Tip: In your .platform.app.yaml, set the PHP version like this:

3. Set Environment Variables for Configuration

  • Why: Keeps sensitive data (like DB credentials, contexts) out of your codebase.
  • Tip: Use Platform.sh's environment variable feature to define TYPO3_CONTEXT, DB settings.

4. Use Read-Only Web Root

  • Why: Platform.sh uses an immutable file system during runtime.
  • Tip: Store fileadmin, uploads, and typo3temp outside the web root using symlinks or custom mounts.

Visit get.typo3.org for comprehensive details on the release, including how to download and install TYPO3. The Installation Guide provides in-depth instructions for the installation process.

Platform.sh offers an elegant, Git-centric workflow for hosting TYPO3, letting you focus on development rather than wrangling servers. By following this guide, you’ll have a basic but powerful setup—complete with ephemeral test environments, automated builds, and a well-structured approach to managing TYPO3’s dependencies.

From here, you can explore advanced features like custom caching, multi-environment CI/CD workflows, or hooking into Platform.sh’s API for automated branch spin-ups. Whatever your plans, Platform.sh + TYPO3 is a powerful combo for streamlined, scalable website development.

Happy TYPO3ing on Platform.sh!

It’s strongly recommended. Platform.sh’s default PHP build process relies on Composer to manage and install dependencies automatically.

It varies. You can specify a version in services.yaml (e.g., mariadb:10.4). Always consult the latest service catalog to confirm available versions.

 

The public/ directory can handle uploaded files, which are stored on persistent storage. Make sure you have enough disk allocated in your .platform.app.yaml.
 

Yes. Each Git branch can become an environment, complete with its own URL and isolated services.

Not mandatory, but it’s highly convenient for environment management, logs, and SSH access. You can also manage everything via the web dashboard.

Use the CLI: platform ssh and check in /var/log or environment-specific paths. You can also view logs in the Platform.sh UI.
 

Platform.sh automatically provisions SSL certificates for the default environment URL. For custom domains, upload your certificate via the dashboard or CLI.

Absolutely. Up your container size or add more containers (workers) in your plan. For big projects, advanced scaling features handle high-traffic demands.

Platform.sh supports multiple database types. Just specify the desired service (e.g., mysql:8.0) in services.yaml and update your .platform.app.yaml relationships accordingly.

Post a Comment

×