Skip to main content

App User

This page is for the person installing and managing an app with Reploy. You should not need to understand the app author's build system or deployment internals.

You need one thing from the app provider:

<app-blueprint-ref>

That ref may be an indexed shorthand, a PyPI package ref, or a local file while the app is still being developed.

1. Install Reploy

curl -fsSL https://reploy.yadan.net/install.sh | sh

The installer places reploy in $HOME/.local/bin/reploy by default and prints a PATH hint when needed.

2. Choose Direct or Staged Install

For simple services that work from blueprint defaults, install directly:

sudo reploy install <app-blueprint-ref>

Direct install does not ask install-time configuration questions yet. If the app needs bundle selection, configuration commands, or pre-install testing, use staging.

3. Create a Staging Deployment

reploy stage creates reploy-staging/ by default and writes the deployment files there.

reploy stage <app-blueprint-ref>

From this point on, commands run against reploy-staging/ by default:

reploy info

The staging directory also contains an app-named control script, such as examplectl, for local runtime and app commands:

./reploy-staging/examplectl status
./reploy-staging/examplectl config check --live

Use --dir when you want a different staging directory for this app instance.

4. Start and Test Staging

reploy up
reploy test

reploy up prepares the selected bundle automatically when the bundle is missing or out of date. Use reploy bundle build when you want to force that preparation step before starting the service.

If the app exposes configuration commands, run those through reploy app. The exact commands are app-specific.

reploy app

5. Install or Update Permanently

Permanent install is currently a Linux/systemd flow.

sudo reploy install --to /opt/example --service example

Installing over an existing deployment updates it from the current staging state. App-owned artifacts declared by the blueprint are preserved by default. Use named replacement only when you intentionally want a fresh copy of an artifact:

sudo reploy install --to /opt/example --replace config
sudo reploy install --to /opt/example --clean

For side-by-side installs, use a different target directory, service name, and port.

sudo reploy install --to /opt/example2 --service example2 --port 8082

After install, operate the service through the generated app control script inside the target directory, such as /opt/example/examplectl:

/opt/example/examplectl status
/opt/example/examplectl logs
/opt/example/examplectl restart

6. Uninstall

sudo reploy uninstall --from /opt/example

If the target directory was deleted manually, uninstall by service name:

sudo reploy uninstall --service-name example