Deploy to Webspace
The Sitequest-Software/sitequest-deploy-webspace-action GitHub Action uploads a local build directory as a tar.gz, extracts it atomically into your webspace, and prints a summary. No SFTP keys to provision — just an API key.
What it does
- Tars
sourceinto a single archive on the runner. - POSTs the archive to the Sitequest API.
- Server-side: extracts to a staging directory, then atomically swaps it into
targetunder the webspace home (<previous>is removed unlesskeep-oldis set).
Inputs
| Input | Required | Default | Description |
|---|---|---|---|
api-key |
Yes | — | Sitequest API key with the webspace:manage scope. Store as a repository secret. |
webspace-id |
Yes | — | Target webspace ID (visible in the dashboard URL). |
source |
No | dist |
Local directory to deploy. |
target |
No | public_html |
Remote directory under the webspace home. |
strip-components |
No | 0 |
Strip N leading path components when extracting (passed to tar --strip-components). |
keep-old |
No | false |
If true, keeps the previous release in <target>.old/ instead of removing it. |
api-base |
No | https://panel.site.quest |
Override the API base URL (for staging). |
Outputs
| Output | Description |
|---|---|
bytes-uploaded |
Size of the uploaded tar.gz archive in bytes. |
files-deployed |
Number of files extracted on the target. |
duration-ms |
End-to-end deploy duration in milliseconds. |
Example workflow
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm run build
- uses: Sitequest-Software/sitequest-deploy-webspace-action@v1
with:
api-key: ${{ secrets.SITEQUEST_API_KEY }}
webspace-id: ${{ vars.SITEQUEST_WEBSPACE_ID }}
source: dist
target: public_html
Required scope
The API key must have the webspace:manage scope. Create one in the dashboard under API / MCP (in the profile menu).
See also
- Run a Command — for migrations or cache clears after deploy.
- API reference: SFTP Write, Execute.