Create Project
A project is one of your applications running on one of your servers. Before you can create a project, you need at least one server initialized and a source control provider connected.
Your servers come pre-configured with the runtime each framework needs — Node.js 22 LTS, the latest PHP, plus any extra services (database, cache, etc.) you picked during provisioning. Frameworks supported include Laravel, WordPress, Next.js, Nuxt.js, Remix, React Router, TanStack Start, and other common stacks.
Starting the wizard
In the Console, click Create Project in the top-right of the sidebar or the header.
Form fields
The wizard walks you through these fields:
- Server — the server the project will live on. You'll only see servers in the current organization that your role lets you create projects on.
- Source Control Provider — GitHub, Bitbucket, or any provider connected under Settings → Source Control.
- Repository URL — the URL or org/repo identifier for your project.
- Branch — which branch to deploy.
mainfor a typical setup; you might usestagingorproductionon dedicated environments. - Framework — Depfloy uses this to decide build and start commands. Pick the closest match; you can override anything later in Settings.
- Project Name — a friendly name shown in the sidebar.
- Project Domain — the primary domain that points at this project.
- Redirect Status — pick whether
www.example.comredirects toexample.com, the other way, or no redirect. - Environment variables — paste the contents of your
.envfile here. You can also leave it empty and add them on the Environments tab after creating the project. - Custom Install Command — overrides Depfloy's default install command (for example to use
pnpm installinstead ofnpm install). Leave blank for the framework default. - Custom Build Command — overrides the default build command.
- Enable Auto Deploy — when on, every push to the configured branch triggers a deployment.
- Enable SSL — when on, Depfloy issues a Let's Encrypt certificate for the domain. DNS must already point at the server for this to succeed; if not, leave it off and turn it on later from the Domains tab.
When everything's filled in, click Create Project. Depfloy provisions the project on the server and triggers an initial deployment.
While your project is being created, point your domain's DNS at the server's public IP. The Domains tab shows the exact records you need to add.
Custom deployment command
For post-deploy work — cache warm-up, signal another service, ping a dashboard — add a custom deployment command on the Settings tab after the project is created.
You do not need to add commands like composer install, npm install, npm run build, or php artisan migrate — Depfloy runs these automatically as part of the build. The custom command runs after the symlink switch, inside the new release directory.
# Example: clear cache and bounce queue workers
php artisan cache:clear
php artisan queue:restart
For guidance on what to avoid in custom deployment commands (php artisan reverb:restart, long-running commands), see Developer Guide → Custom deployment commands.