OpenMage LTS

Deploy a highly scalable, self-healing OpenMage LTS cluster in seconds.

About

OpenMage LTS is a community-driven fork of Magento 1.9.4.5 that offers long-term support and PCI compliance as a drop-in replacement for Magento 1.

Stack

This template provisions the following components:

ComponentProcess typeHorizontally scalable
NGINXWebYes
PHP-FPM (7.3+)WorkerYes
MariaDB (10.3+)Service-
Redis Cache*Service-
Elasticsearch*Service-
Varnish*Service-

* Optional addon

Supported versions

OpenMage LTS (any version)

You can choose to have the latest version installed automatically or bring your own codebase.

Deployment

This template supports two development workflows:

  1. "Modern" workflow using composer with Magento Core added as an external dependency. This keeps Magento out of your project repository and allows for easy upgrades/semantic versioning. Uses package aydin-hassan/magento-core-composer-installer under the hood to manage dependencies.
  2. "Legacy" workflow with Magento Core packages added to the project repository (no composer).

Configuration

This template automatically manages the app/etc/local.xml config file.

  • Database credentials are automatically populated based on the environment.
  • Redis caching is automatically configured if the Redis addon is enabled.
  • Supports reverse proxy/HTTP Acceleration with Varnish Cache.
  • Elasticsearch can be enabled using a 3. party extension.

Environment variables

The Magento configuration can be customized with the following variables.

Variable nameDescription
MAGE_BASE_URLSets the default store base url
MAGE_DB_TABLE_PREFIXSets a custom database table prefix
MAGE_BACKEND_FRONTNAMESets a custom admin URL path
MAGE_CRYPT_KEYSets the Magento encryption key
MAGE_SESSION_SAVESets the Magento session store (one of redis|db|files, default: files)
MAGE_CACHE_PRESERVE_SETTINGSIf set to true, Magento cache will not automatically be enabled

Magento Multi-Store

Under Site Dashboard > Settings > Magento Multistore you can create mappings for domains to specific Magento websites/store views.

Add one mapping per line followed by a semi-colon like the example below:

# format: <hostname> <code>[,<type>];
# map requests for magento.com (including subdomains such as www.magento.com) to the store view 'us_store'
.magento.com us_store; # MAGE_RUN_TYPE defaults to 'store'
# map requests for magento.de to the website 'de_store'
magento.de de_store,website; # MAGE_RUN_TYPE explicitly set to 'website'

If you omit type it will default to "store" (store view). The hostname may be prefixed with a . (dot) to also match on subdomains (such as www​.).

Cron jobs

This template automatically configures the default Magento cron job. You can customize the schedule or add additional jobs from the Site Dashboard > Settings > Cron jobs section.

Persistent disks

The following directories are mounted by persistent storage volumes.

./media

Contains static assets and product images.

./var

Contains cache, session files, file exports, etc.

Do NOT commit these folders to your Git repository as they will be overwritten. Use SFTP to upload files.

Admin tools

The following utilities are included with this template.

  • n98-magerun (alias: magerun) is a command-line interface for Magento.
  • phpMyAdmin is a web-based administration tool for your database.