Skip to content

v1.0.0

Choose a tag to compare

@shellharbor shellharbor released this 06 Oct 20:12
· 11 commits to main since this release
ec35435

LaraShip v1.0.0

LaraShip provides a native Bash toolkit for deploying and managing Laravel applications on Ubuntu. Applications run in Docker Compose, with a shared Nginx reverse proxy and optional Let's Encrypt certificates.

Features

  • Deploy a fresh Laravel application or an existing Git repository, with branch selection, SSH deploy keys and post-deployment commands.
  • Support Laravel 12 and 13 on PHP 8.3, with Laravel 13 as the default.
  • Use official PostgreSQL 17 and MySQL 8.4 LTS images, or connect to native databases on the server.
  • Enable optional Filament 5, Redis, queue worker, Horizon and database backup modules.
  • Configure deployments through command-line options, configuration files and reusable admin-panel, api and staging presets.
  • Preview effective settings with --dry-run, without changing the server or exposing credentials.
  • Manage projects with deployment, update, activation, deactivation, removal and listing utilities.
  • Support HTTP deployments with --no-ssl, HTTPS certificates and optional HTTP Basic Auth.

Security and reliability

  • Production defaults: APP_ENV=production, debugging disabled, PHP without Xdebug and project ports bound to loopback.
  • Environment files and backup archives use private permissions.
  • Existing project paths are protected against accidental replacement; the shared proxy name is reserved.
  • Database credentials are encoded safely, with validation for unsupported characters in the official MySQL initializer.
  • Project and proxy locks prevent conflicting operations. Proxy changes are validated before application, with rollback on failure.
  • Git updates enable maintenance mode before changing application code. Failed updates retain maintenance mode and provide recovery guidance.
  • Initial migration failures abort deployment. Authenticated database and HTTP checks verify readiness before reporting success.

Backups and restoration

  • Scheduled and manual database dumps, configurable retention, backup listing and restoration.
  • Native PostgreSQL backup clients automatically match the server's major version, including PostgreSQL 16.
  • Restore input is validated before maintenance or service shutdown.
  • Project ZIP archives use private staging and are published without overwriting existing files.

Validation

Local verification covered 42 isolated Docker scenarios, including PostgreSQL/MySQL deployments, Git updates, modules, proxy operations and backup/restore. Additional checks verified native PostgreSQL 16 backup compatibility. Bash syntax, ShellCheck and automated regression tests passed.

Existing installations

Updating the toolkit does not rewrite previously generated project configurations or upgrade database volumes. Apply template changes explicitly. Moving from Elestio images to official database images requires a logical dump and restoration into a separate empty volume, retaining the original database for recovery.

Database migrations are not rolled back automatically. Review migration compatibility and preserve backups before updating an existing application.