Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Horizon doesn't work on Digital Ocean app platform because App Platform (using gVisor) doesn't support Exec system call. #1525

Open
fabricekabongo opened this issue Jan 2, 2025 · 1 comment

Comments

@fabricekabongo
Copy link

Horizon Version

5.29

Laravel Version

11.31

PHP Version

8.3

Redis Driver

Predis

Redis Version

7

Database Driver & Version

MySQL 8 (Managed DB Digital Ocean)

Description

When starting horizon on an ubuntu container in Digital Ocean App Platform, the supervisors aren't started and no error is raised.

After investigation in Horizon code, I found that horizon run exec @php etc.

Digital Ocean Horizon uses gVisor which limit the system calls that a container is allowed to run and exec isn't part of it.

It would be great to find an alternative that doesn't get stopped by container's security measures.

Steps To Reproduce

  1. Start a new App in Digital Ocean app platform.
  2. Set the command of the container as "php artisan horizon"
  3. After the container start, run "php artisan horizon:list" in the terminal provided by DO.
  4. Expect to see :
    +-------------------+-----+-------------------------------+---------+
    | Name | PID | Supervisors | Status |
    +-------------------+-----+-------------------------------+---------+
    | 6ca0d3ec7743-bib9 | 1 | None | running |
    +-------------------+-----+-------------------------------+---------+
  5. also try: php artisan horizon:supervisors, and you will see "info no supervisors running"
Copy link

github-actions bot commented Jan 2, 2025

Thank you for reporting this issue!

As Laravel is an open source project, we rely on the community to help us diagnose and fix issues as it is not possible to research and fix every issue reported to us via GitHub.

If possible, please make a pull request fixing the issue you have described, along with corresponding tests. All pull requests are promptly reviewed by the Laravel team.

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants