FAQ
Find answers to the most common questions about SWAT, its workflow and how to use it in your own projects.
General questions
SWAT is a lightweight Symfony starter that combines a clean project structure,
a minimal frontend stack and a ready-to-use CI/CD pipeline.
SWAT is built for developers who want a practical Symfony base with real validation
and deployment workflows, without a heavy frontend stack or unnecessary complexity.
Yes. SWAT is designed around real preproduction and production deployment workflows,
with automated GitHub Actions pipelines and environment-specific server configuration.
Installation & setup
No. Symfony CLI is optional but recommended. You can use symfony serve
if it is installed, or run the project with PHP's built-in server instead.
No. SWAT does not require Docker. It can be used with a standard Symfony setup,
local PHP tooling and SSH-based deployments.
Yes. SWAT works with both npm and yarn. Use the package manager that best fits your workflow.
Deployment & CI/CD
SWAT uses GitHub Actions to validate, build and deploy the project automatically.
Deployments are performed over SSH using environment-specific secrets.
Yes. SWAT is designed to support at least preproduction and production environments,
with separate secrets and deployment targets for each one.
GitHub secrets are used to securely store sensitive deployment data such as
SSH keys, hostnames, ports, users and deployment paths.
Yes. The workflows are meant to be adapted to your own validation and deployment strategy.
You can change triggers, steps, environments and deployment logic as needed.
Yes. SWAT is a starting point, so you are free to add or remove packages depending on your project.
Just keep in mind that some CI steps rely on specific tools. If you remove a package such as PHPUnit or change your frontend tooling, you may also need to update the GitHub Actions workflows.
Just keep in mind that some CI steps rely on specific tools. If you remove a package such as PHPUnit or change your frontend tooling, you may also need to update the GitHub Actions workflows.
No. SWAT uses dev and master by default,
but you can adapt the branch strategy to your own workflow.
If you do, make sure your workflows and branch protection rules stay aligned with your deployment strategy.
If you do, make sure your workflows and branch protection rules stay aligned with your deployment strategy.
Configuration & troubleshooting
TRUSTED_PROXIES is only required if your application runs behind a reverse proxy
such as Nginx, Traefik or a load balancer. It allows Symfony to correctly detect the real client IP
and request information.
First, make sure your web server points to the public/ directory
and correctly rewrites requests to public/index.php.
SWAT includes an Apache-oriented .htaccess file. If your environment does not use Apache (for example Nginx or a custom reverse proxy setup), you may need to ignore or replace it.
SWAT includes an Apache-oriented .htaccess file. If your environment does not use Apache (for example Nginx or a custom reverse proxy setup), you may need to ignore or replace it.
Start with the GitHub Actions logs, then verify your GitHub secrets, SSH access,
deployment path, server permissions and environment variables on the target server.
Yes. SWAT is intentionally lightweight and can be adapted to different hosting environments,
deployment strategies and project structures, as long as the resulting setup stays consistent.
Ready to get started?