Stars: 357
Forks: 90
Pull Requests: 9
Issues: 6
Watchers: 13
Last Updated: 2023-09-11 03:37:00
Open-Source Solution for Server Provisioning and Zero-Downtime PHP Deployment
License: GNU Affero General Public License v3.0
Languages: PHP, JavaScript, CSS, Vue, Blade, Shell
Eddy is an open-source deployment tool built with Splade that allows users to deploy PHP applications with zero downtime using the Caddy web server.
Eddy supports easy server provisioning using Ubuntu 22.04 LTS and can start servers quickly from popular providers such as DigitalOcean, Hetzner, or any custom provider. Eddy also features automatic SSL certificate renewal, automatic security updates, and the ability to manage cron jobs, daemon processes, and firewall rules. It supports Database and File backups to S3, FTP, and SFTP destinations with custom schedules, automatic cleanup, and notifications. Additionally, users can manage MySQL databases and run multiple PHP versions on a single server.
Eddy Server Management is a Protone Media product.
Eddy is built with the Jetstream starter kit, so it also comes with:
Eddy was created to show off the capabilities of Splade. As a real-life app, Eddy perfectly showcases some of Splade's key features, including the ability to build Single-Page Applications with Blade templates, Modal and Event capabilities, and Form and Table components.
Although Eddy is an open-source project, you have the option to use the hosted service at eddy.management. Choosing the hosted service not only provides you with the convenience of not having to host it yourself, but it also supports the continued development of Eddy and Splade. However, hosting it yourself is also an option.
Since Eddy is open-source, you can easily contribute to the project by submitting pull requests. This gives you the added benefit of being able to see exactly how the app works and interacts with your server. Don't hesitate to get involved and help make Eddy and Splade even better!
Eddy is a regular Laravel 10 application, so it can be installed on any server that meets the Laravel server requirements. In addition to the Laravel requirements, Eddy requires the following:
timeout
to run commands with a timeoutbeautysh
to format shell scriptscaddy
to format a CaddyfileEddy features built-in support for Vagrant, allowing for easy local server provisioning without the need to start up servers with a cloud provider. To make Eddy publicly accessible for server connections, you can use tools like Expose, Ngrok or Cloudflare Tunnel.
Eddy sets itself apart from other solutions by being completely open-source, giving you the freedom to host it yourself and see exactly how it works. In fact, the hosted version of Eddy runs on the exact same code as the open-source version. While Eddy is still relatively new and may not be as feature-rich as some alternatives, our goal is to rapidly expand its capabilities over time.
Thank you for considering contributing to Eddy! Our project follows the Laravel coding style and conventions as closely as possible. Here are some guidelines to help you get started:
__()
helper function instead of hardcoding translations.Auth
or Request
facade in a model or a service class.ActivityLog
entry.If you discover a security vulnerability within Eddy, please send an e-mail to Eddy via [email protected]. All security vulnerabilities will be promptly addressed.
Eddy is open-sourced software licensed under the AGPL-3.0 License.