SWPanel

SWPanel for developers

Your code, your workflow, your hosting. No FTP.

Connect your GitHub, GitLab, Gitea or Bitbucket repository and every push reaches your SWPanel hosting or Cloud analyzed, with a prior backup to undo. And from the CI you already use, with an API call.

  • Analyzed before publishing
  • Backup to undo
  • Works with your tools
Terminal · a git push with SWPanel
~/mi-web git push origin mainSWPanel received the push · webhookok  It works        php -l and PHPStanok  Security        no serious flaws2   Advisories      with its AI Engine fixok  Passes the filterno serious or security errorsok  Copy of what was there, savedok  Published on your website
  1. git push To the branch you choose
  2. Analysis That it works, security and quality
  3. Publishing With a backup to undo
  4. Status in your Git The commit, in green or red

Why

SWPanel is no longer just where your website lives. It's part of your workflow.

A platform that integrates with your tools: documented REST API, webhooks, continuous deployments and code analysis, all in a secure, certified environment.

  • No more uploading files by hand

    You run git push and your website updates. No FTP clients or passwords shared with every freelancer.

  • Secure by design

    Nothing reaches your website without going through code analysis. No loose files, no commands, no backdoors.

  • You can always go back

    Before publishing, SWPanel saves a copy of what was there, outside the website, so it can be undone.

  • Works with what you already use

    GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins or a simple curl: your CI deploys with an API call.

How it works

From push to website, in five steps

Your CI packages, SWPanel reviews and publishes. You just push.

  1. Connect

    Connect your repository or create an API token in SWPanel.

  2. Package

    Your CI builds the website as usual: npm run build, composer install, whatever it is.

  3. Deploy

    An API call uploads the package.

  4. SWPanel reviews it

    Before touching your website:

    • Validates paths, size and forbidden files
    • Analyzes errors, vulnerabilities and dependencies
    • Applies your rules: you can veto a deployment with your Flows
  5. Publishes

    If everything is fine, it's published to your hosting or Cloud with a copy of the previous version, and your team gets the notification.

From your CI

Five lines in your workflow and your website deploys

The workflow packages the website and uploads it with a call to POST /public/services/{servicio}/deployment/. SWPanel validates it, analyzes it and publishes it with a prior backup.

  • GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins or curl
  • Test mode for pull requests: analyzes without publishing
  • History of each deployment and rollback in one call
.github/workflows/swpanel.yml
on:
  push:
    branches: [main]
jobs:
  desplegar:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm run build && tar -czf web.tgz -C dist .
      - run: |
          curl -X POST \
            https://api.swpanel.com/public/services/$SERVICIO/deployment/ \
            -H "Authorization: Bearer ${{ secrets.SWPANEL_TOKEN }}" \
            -F "[email protected]"

Sample recipe. The full one, with all options, is in the API documentation.

What it includes

Everything you need to deploy with peace of mind

From the first push to the rollback, with code analysis, the API and control over who deploys what.

Code analysis on every push

Every push, reviewed before reaching the website

Connect GitHub, GitLab, Gitea or Bitbucket with signed webhooks. Every push is analyzed and, if it passes your filter, it's published on its own to your website.

  • Errors, best practices, PHPStan and AI review
  • Vulnerable dependencies: composer.lock and package-lock.json, cross-checked with public vulnerability databases (OSV); plugins and JS libraries, with SWPanel's vulnerability database
  • Automatic publishing with filter and prior backup
  • Previews per branch
Learn about Code Analyzer
dev.swpanel.com › Code Analyzer › Git repository Real screenshot
Code Analyzer: latest analysis of a repository with serious errors, security flaws and warnings
  1. 2 serious errors, 9 security flaws and 13 warnings.
  2. The analyzed commit.
  3. See how to fix it.
  4. Push to main: it sees it within 5 minutes at most.
  5. AI Engine fixes.
  6. Publishing to the website: if you enable it.
  7. Preview of the other branches.
dev.swpanel.com › Code Analyzer › Publishing Real screenshot
Code Analyzer publishing: publish automatically, when it publishes and preview of each branch
  1. Publish automatically every push that passes the filter.
  2. No serious or security errors: the recommended one.
  3. Or always, or only if everything is clean.
  4. The folder of the website.
  5. Preview of each branch, at a hidden address.
  6. What's published, with its backup to undo.

An API designed to integrate

More than 200 REST routes, documented and traced

Services, email, DNS, SSL, databases, cron, backups, security (FireWall, BotLock and country blocking), domains and templates, with interactive documentation in Scalar.

  • Webhooks and Flows: react to what happens on your account, or stop an action before it happens
  • Clear errors: each error says which field failed and what values it accepts
  • Read-only tokens, with expiry and IP list
  • Every SWPanel screen shows the equivalent API call
  1. The errors of your calls, with their code.
  2. Active calls, routes, errors and keys.
  3. Which parts of the API you use.
  4. How your usage has evolved.
dev.swpanel.com › Integrator dashboard Real screenshot
Integrator dashboard: calls, routes in use, errors, active keys, which parts of the API you use and how it has evolved

Continuous deployments

  • Package deployment via API from any CI.
  • Test mode (dry_run): validates and analyzes without publishing, ideal for pull requests.
  • History of each deployment: who, when, which commit and what changed.
  • Rollback in one call.
  • Protected files: your wp-config.php, your .env or your uploads are never overwritten.

Security and control

  • Tokens for deployment only, limited to a service.
  • No secrets: OIDC authentication from GitHub Actions and GitLab CI. The CI proves which repository and branch it is, and there's no key that can leak.
  • Mandatory approval for production, from SWPanel or from Telegram.
  • Atomic deployments: the website switches from one version to another in one go, and rollback to any version is instant.
  • Disable FTP on a service when you only deploy via API.

Who it's for

For those who live in the repository

Agencies and freelancers

Each customer on their own hosting, each project in its own repository and deployments without sharing passwords.

Development teams

Code review and deployment, in the same pull request flow.

Resellers (RHA) and integrators

Automate the setup of your customers' websites with the API.

See more

Start in 5 minutes

Three steps and you're in

  1. Activate the API on your account

    Integrator mode organizes SWPanel around automation.

  2. Create a token

    Read-only if you only query, with expiry and your IPs.

  3. Connect your repository

    Or copy the GitHub Actions recipe from the documentation.

Frequently asked questions

Developer questions

The API enabled on your account and a token. To deploy from your CI, an API call with your website package; for every push to reach the website on its own, connect your GitHub, GitLab, Gitea or Bitbucket repository. In both cases, SWPanel analyzes the code before publishing and keeps a copy of the previous version.

Yes. You can take your theme or your plugin from the repository to the website. With API deployments, wp-config.php and wp-content/uploads are also protected and never overwritten.

You decide the filter: don't publish if there are serious or security errors (the recommended one), publish even with warnings, publish only if everything is clean, or always publish.

Yes, they coexist. Whenever you want, you can close the FTP of a service and deploy only through the API.

With API deployments up to 50 MB compressed by default, adjustable per service.

Nothing: the package is not published until it arrives complete and its fingerprint (SHA-256) is checked.

Push and forget about FTP

Connect your repository and see what SWPanel finds on the next push.