{"id":20022115,"url":"https://github.com/modxcms/teleport","last_synced_at":"2025-05-05T01:31:09.815Z","repository":{"id":11563934,"uuid":"14050989","full_name":"modxcms/teleport","owner":"modxcms","description":"Teleport is a packaging toolkit for MODX Revolution","archived":false,"fork":false,"pushed_at":"2024-11-06T16:07:37.000Z","size":1005,"stargazers_count":57,"open_issues_count":14,"forks_count":24,"subscribers_count":17,"default_branch":"1.x","last_synced_at":"2025-04-28T12:31:37.228Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://modxcms.github.io/teleport/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/modxcms.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-11-01T18:46:59.000Z","updated_at":"2024-03-15T03:01:03.000Z","dependencies_parsed_at":"2024-04-17T06:38:57.624Z","dependency_job_id":"d15b3ee4-b22a-4dc1-92ac-3082f787327a","html_url":"https://github.com/modxcms/teleport","commit_stats":{"total_commits":145,"total_committers":6,"mean_commits":"24.166666666666668","dds":0.08965517241379306,"last_synced_commit":"9979335a8494006c9f3df71adb2f89fa622929cd"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modxcms%2Fteleport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modxcms%2Fteleport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modxcms%2Fteleport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modxcms%2Fteleport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/modxcms","download_url":"https://codeload.github.com/modxcms/teleport/tar.gz/refs/heads/1.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252423052,"owners_count":21745537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T08:39:14.264Z","updated_at":"2025-05-05T01:31:04.802Z","avatar_url":"https://github.com/modxcms.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Teleport\n\nTeleport is an extensible scripting toolkit for working with one or more local MODX Revolution installations.\n\nTeleport currently functions primarily as a packaging toolkit which extends the MODX Transport APIs and provides commands for extracting and injecting customizable snapshots of MODX deployments. But it can be extended easily to perform an infinite variety of actions related to MODX.\n\n\n## MODX Revolution 3.x\n\nPlease use the [`2.x`](https://github.com/modxcms/teleport/tree/2.x) branch and releases for MODX 3.x support. \n\n\n## Requirements\n\nIn order to use Teleport, your environment must at least meet the following requirements:\n\n* PHP \u003e= 5.4\n* MODX Revolution \u003e= 2.1 (MySQL)\n\nYou must also be able to run PHP using the CLI SAPI.\n\nNOTE: At the current time, various Teleport Extract tpls only support MySQL deployments of MODX Revolution.\n\nUsage on Linux environments with the PHP posix extension can take advantage of advanced user-switching features.\n\nTeleport strives to be a multi-platform tool, and currently works equally well in Linux and OS X environments. Windows support is unknown at this time; Windows contributors wanted.\n\n\n## Installation\n\nThere are several methods for installing Teleport. The easiest way to get started is by installing the Teleport Phar distribution.\n\n_IMPORTANT: Using any of the installation methods, make sure you are running Teleport as the same user PHP runs as when executed by the web server. Failure to do so can corrupt your MODX site by injecting and/or caching files with incorrect file ownership._\n\n### Download and Install Phar\n\nCreate a working directory for Teleport and cd to that directory, e.g.\n\n    mkdir ~/teleport/ \u0026\u0026 cd ~/teleport/\n\nDownload the latest [`teleport.phar`](http://modx.s3.amazonaws.com/releases/teleport/teleport.phar \"teleport.phar\") distribution of Teleport into your Teleport working directory.\n\nCreate a Profile of a MODX site:\n\n    php teleport.phar --action=Profile --name=\"MyMODXSite\" --code=mymodxsite --core_path=/path/to/mysite/modx/core/ --config_key=config\n\nExtract a Snapshot from the MODX site you just profiled:\n\n    php teleport.phar --action=Extract --profile=profile/mymodxsite.profile.json --tpl=phar://teleport.phar/tpl/develop.tpl.json\n\n\n### Other Installation Methods\n\nAlternatively, you can install Teleport using the source and [Composer](http://getcomposer.org/). Learn more about using [git clone](doc/install/git-clone.md) or a [release archive](doc/install/releases.md).\n\n_IMPORTANT: If you want to use the Teleport HTTP Server you cannot use the Phar distribution. You MUST use one of the other installation methods._\n\n### Teleport in your PATH\n\nWith any of the installation methods you can create an executable symlink called teleport pointing to bin/teleport, or directly to the teleport.phar. You can then simply type `teleport` instead of `bin/teleport` or `php teleport.phar` to execute the teleport application.\n\n\n## Basic Usage\n\nIn all of the usage examples that follow, call teleport based on how you have installed the application. For example, if you installed from source, substitute `bin/teleport` for `php teleport.phar`; if you have created an executable symlink to the teleport.phar, substitute `teleport` for `php teleport.phar` in the sample commands. The following examples assume you have installed the teleport.phar distribution.\n\n_NOTE: **Before** using Teleport with a MODX site, you will need to **create a Teleport Profile** from the installed site._\n\n### Create a MODX Site Profile\n\nYou can create a Teleport Profile of an existing MODX site using the following command:\n\n    php teleport.phar --action=Profile --name=\"MySite\" --code=mysite --core_path=/path/to/mysite/modx/core/ --config_key=config\n\nThe resulting file would be located at profile/mysite.profile.json and could then be used for Extract or Inject commands to be run against the site represented in the profile.\n\nLearn more about [Teleport Profiles](doc/use/profile.md).\n\n### Extract a Snapshot of a MODX Site\n\nYou can Extract a Teleport snapshot from a MODX site using the following command:\n\n    php teleport.phar --action=Extract --profile=profile/mysite.profile.json --tpl=phar://teleport.phar/tpl/develop.tpl.json\n\nThe snapshot will be located in the workspace/ directory if it is created successfully.\n\nYou can also Extract a Teleport snapshot and push it to any valid stream target using the following command:\n\n    php teleport.phar --action=Extract --profile=profile/mysite.profile.json --tpl=phar://teleport.phar/tpl/develop.tpl.json --target=s3://mybucket/snapshots/ --push\n\nIn either case, the absolute path to the snapshot is returned by the process as the final output. You can use this as the path for an Inject source.\n\n_NOTE: The workspace copy is removed after it is pushed unless you pass --preserveWorkspace to the CLI command._\n\nLearn more about the [Teleport Extract](doc/use/extract.md) Action.\n\n### Inject a Snapshot into a MODX Site\n\nYou can Inject a Teleport snapshot from any valid stream source into a MODX site using the following command:\n\n    php teleport.phar --action=Inject --profile=profile/mysite.profile.json --source=workspace/mysite_develop-120315.1106.30-2.2.1-dev.transport.zip\n\n_NOTE: If the source is not within the workspace/ directory a copy will be pulled to that location and then removed after the Inject completes unless --preserveWorkspace is passed._\n\nLearn more about the [Teleport Inject](doc/use/inject.md) Action.\n\n### UserCreate\n\nYou can create a user in a profiled MODX site using the following command:\n\n    php teleport.phar --action=UserCreate --profile=profile/mysite.profile.json --username=superuser --password=password --sudo --active --fullname=\"Test User\" --email=testuser@example.com\n\n_NOTE: This uses the security/user/create processor from the site in the specified profile to create a user, and the action accepts any properties the processor does._\n\nLearn more about the [Teleport UserCreate](doc/use/user-create.md) Action.\n\n\n## Get Started\n\nLearn more about Teleport in the [documentation](doc/index.md).\n\n## License\n\nTeleport is Copyright (c) MODX, LLC\n\nFor the full copyright and license information, please view the [LICENSE](./LICENSE \"LICENSE\") file that was distributed with this source code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodxcms%2Fteleport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmodxcms%2Fteleport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodxcms%2Fteleport/lists"}