An example of Laravel app that runs in a docker container with RoadRunner

Overview

Logo

This repository contains an example of Laravel (PHP Framework) application that runs in a docker container with RoadRunner (high-performance PHP application server) as a web server.

🔥 Features list

  • For local application running, you need just two dependencies - installed docker and docker-compose (make is optional, but strongly recommended)
  • PostgreSQL as a database and Redis as a cache & queue driver already configured
  • One Dockerfile for local application development and running on production
  • All used images are based on Alpine (lightweight and security-oriented linux distributive)
  • Lightweight final docker image (compressed size ~65 Mb, ~16 downloadable layers)
  • Unprivileged user is used by default
  • Easy to update PHP and dependencies
  • Ready to run Laravel task scheduling, queue workers, and many others on your choice
  • Without file permission problems
  • For cron jobs running supercronic is used (crontab-compatible job runner, designed specifically to run in containers)
  • Self-signed SSL certificate for HTTPS support
  • Enabled opcache and jit compiler for the performance of your application
  • Composer dependencies caching using separate docker image layer
  • Well-documented code
  • HTTP server doesn't need to be restarted on source code changes
  • Works much faster than php-fpm + nginx and easy to deploy
  • Provided Makefile allows to perform familiar operations easy and fast
  • Ready to run phpunit (with code coverage) and phpstan (static analysis tool for source code)
  • GitHub actions for tests running, image building, etc.

How to use

If you want to integrate Docker + RoadRunner into an existing application, take a look at pull requests with the special label in the current repository - you can repeat these steps.

Another way is repository cloning, forking or usage this repository as a template for your application.

Don't forget to remove TestJob, TestController, and routes, that are declared for this controller in the routes/web.php file - it is used for internal application working tests.

First steps

Let's dive deeper and watch how to start application development, based on this template. First, we need to get the sources:

$ git clone https://github.com/tarampampam/laravel-roadrunner-in-docker.git
$ cd ./laravel-roadrunner-in-docker

After that - build image with our application and install composer dependencies:

$ make install
...
  - Installing spiral/goridge (v3.0.1): Extracting archive
  - Installing spiral/roadrunner-worker (v2.0.3): Extracting archive
  - Installing spiral/roadrunner-http (v2.0.0): Extracting archive
  - Installing laminas/laminas-diactoros (2.5.0): Extracting archive
  - Installing spiral/roadrunner-laravel (v4.0.1): Extracting archive
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Discovered Package: spiral/roadrunner-laravel
Package manifest generated successfully.

Make full application initialization:

$ make init
...
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (19.31ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (9.99ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (14.37ms)
Database seeding completed successfully.
...

Start the application:

$ make up
...

    Navigate your browser to ⇒ http://127.0.0.1:8080 or https://127.0.0.1:8443

Voila! You can open http://127.0.0.1:8080 (or https://127.0.0.1:8443) in your browser and source code in your favorite IDE.

For watching all supported make commands execute make without parameters inside the project directory:

$ make

Available commands:
help               Show this help
install            Install all app dependencies
shell              Start shell into app container
init               Make full application initialization
...

How to

Open the shell in the application container?

Execute in your terminal:

$ make shell

In this shell, you can use composer, php, and any other tools, which are installed into a docker image.

Watch logs?

$ docker-compose logs -f

All messages from all containers output will be listed here.

Install composer dependency?

As it was told above - execute make shell and after that composer require %needed/package%.

Add my own make command?

Append into Makefile something like:

your-command: ## Your command help
	/bin/your/app -goes -here

Tab character in front of your command is mandatory!

Read more about makefiles here.

To Do

  • Describe front-end development/building

Useful links

Support

Issues Issues

If you find any package errors, please, make an issue in current repository.

License

This project is open-sourced software licensed under the MIT license.

Comments
  • make install does not work

    make install does not work

    ~/projects/experiments/laravel-roadrunner-in-docker   master  make install

    Building app
    Step 1/12 : FROM --platform=linux/amd64 php:8.0.9-alpine as runtime
     ---> d75050b53d70
    Step 2/12 : COPY --from=composer:2.1.5 /usr/bin/composer /usr/bin/composer
     ---> Using cache
     ---> 3448bdd0f8c1
    Step 3/12 : COPY --from=spiralscout/roadrunner:2.3.3 /usr/bin/rr /usr/bin/rr
     ---> Using cache
     ---> 3b4dc4e4a3a1
    Step 4/12 : ENV COMPOSER_HOME="/tmp/composer"
     ---> Using cache
     ---> 987a6c6a96e5
    Step 5/12 : RUN set -x     && apk add --no-cache         postgresql-libs         icu-libs     && apk add --no-cache --virtual .build-deps         postgresql-dev         autoconf         openssl         make         g++     && docker-php-ext-install -j$(nproc)         pdo_pgsql         sockets         opcache         pcntl         intl         1>/dev/null     && pecl install -o redis 1>/dev/null     && echo 'extension=redis.so' > ${PHP_INI_DIR}/conf.d/redis.ini     && wget -q "https://github.com/aptible/supercronic/releases/download/v0.1.12/supercronic-linux-amd64"          -O /usr/bin/supercronic     && chmod +x /usr/bin/supercronic     && mkdir /etc/supercronic     && echo '*/1 * * * * php /app/artisan schedule:run' > /etc/supercronic/laravel     && openssl req -x509 -nodes -days 1095 -newkey rsa:2048         -subj "/C=CA/ST=QC/O=Company, Inc./CN=mydomain.com"         -addext "subjectAltName=DNS:mydomain.com"         -keyout /etc/ssl/private/selfsigned.key         -out /etc/ssl/certs/selfsigned.crt     && chmod 644 /etc/ssl/private/selfsigned.key     && docker-php-source delete     && apk del .build-deps     && rm -R /tmp/pear     && echo -e "\nopcache.enable=1\nopcache.enable_cli=1\nopcache.jit_buffer_size=32M\nopcache.jit=1235\n" >>         ${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini     && php -m     && adduser         --disabled-password         --shell "/sbin/nologin"         --home "/nonexistent"         --no-create-home         --uid "10001"         --gecos ""         "appuser"     && mkdir /app /var/run/rr     && chown -R appuser:appuser /app /var/run/rr     && chmod -R 777 /var/run/rr
     ---> Running in 4350d3a9b350
    + apk add --no-cache postgresql-libs icu-libs
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
    (1/8) Installing libgcc (10.3.1_git20210424-r2)
    (2/8) Installing libstdc++ (10.3.1_git20210424-r2)
    (3/8) Installing icu-libs (67.1-r2)
    (4/8) Installing gdbm (1.19-r0)
    (5/8) Installing libsasl (2.1.27-r12)
    (6/8) Installing libldap (2.4.58-r0)
    (7/8) Installing libpq (13.3-r0)
    (8/8) Installing postgresql-libs (13.3-r0)
    Executing busybox-1.33.1-r3.trigger
    OK: 48 MiB in 40 packages
    + apk add --no-cache --virtual .build-deps postgresql-dev autoconf openssl make g++
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
    (1/28) Installing libffi (3.3-r2)
    

    ...

    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    mkdir: can't create directory 'collator/.libs': File exists
    WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.14/main: No such file or directory
    WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.14/community: No such file or directory
    + pecl install -o redis
    ERROR: Service 'app' failed to build : The command '/bin/sh -c set -x     && apk add --no-cache         postgresql-libs         icu-libs     && apk add --no-cache --virtual .build-deps         postgresql-dev         autoconf         openssl         make         g++     && docker-php-ext-install -j$(nproc)         pdo_pgsql         sockets         opcache         pcntl         intl         1>/dev/null     && pecl install -o redis 1>/dev/null     && echo 'extension=redis.so' > ${PHP_INI_DIR}/conf.d/redis.ini     && wget -q "https://github.com/aptible/supercronic/releases/download/v0.1.12/supercronic-linux-amd64"          -O /usr/bin/supercronic     && chmod +x /usr/bin/supercronic     && mkdir /etc/supercronic     && echo '*/1 * * * * php /app/artisan schedule:run' > /etc/supercronic/laravel     && openssl req -x509 -nodes -days 1095 -newkey rsa:2048         -subj "/C=CA/ST=QC/O=Company, Inc./CN=mydomain.com"         -addext "subjectAltName=DNS:mydomain.com"         -keyout /etc/ssl/private/selfsigned.key         -out /etc/ssl/certs/selfsigned.crt     && chmod 644 /etc/ssl/private/selfsigned.key     && docker-php-source delete     && apk del .build-deps     && rm -R /tmp/pear     && echo -e "\nopcache.enable=1\nopcache.enable_cli=1\nopcache.jit_buffer_size=32M\nopcache.jit=1235\n" >>         ${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini     && php -m     && adduser         --disabled-password         --shell "/sbin/nologin"         --home "/nonexistent"         --no-create-home         --uid "10001"         --gecos ""         "appuser"     && mkdir /app /var/run/rr     && chown -R appuser:appuser /app /var/run/rr     && chmod -R 777 /var/run/rr' returned a non-zero code: 1
    make: *** [Makefile:17: install] Ошибка 1
    

    Docker version 20.10.8, build 3967b7d docker-compose version 1.29.2, build 5becea4c Ubuntu 20.04.2 LTS

    opened by YaroslavBemov 8
  • Bump anchore/scan-action from 2 to 3.1.0

    Bump anchore/scan-action from 2 to 3.1.0

    Bumps anchore/scan-action from 2 to 3.1.0.

    Release notes

    Sourced from anchore/scan-action's releases.

    v3.1.0

    New in scan-action v3.1.0

    • Update Grype to 0.22.0 - this includes the ability to ignore vulnerability matches (#121)

    v3.0.0

    New in scan-action v3.0.0

    • Upgrade to Grype to 0.17.0 and add tests #102 (#112) (#118)
    • Improve SARIF output #114 (#115)
    • Change default behavior so action fails on medium (and higher) severities (#86)
    • Respect verbosity from action to call Grype (#82)

    v2.0.4

    New in scan-action v2.0.4

    • bump grype to 0.7.0 (#81)

    2.0.3

    New in scan-action 2.0.3

    • bump grype to 0.6.1 (#79)
    • Halt execution when invalid options are provided (#76)
    • bump grype to 0.5.0 (#75)

    Release v2.0.2

    Minor bug-fix release:

    Release v2.0.1

    Minor bug-fix release.

    Fixes:

    • Removes unnecessary constraint in deduplication for SARIF reporting
    • Allows defining and referencing the location of the SARIF report file
    • Fixes multiple instances where undefined items in the reporting would break scanning
    Changelog

    Sourced from anchore/scan-action's changelog.

    Release Notes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 6
  • poor peformance vs nginx

    poor peformance vs nginx

    #httpd-tools
    
    ab -n 5000 -c 500 http://localhost:29999/
    

    A lot of failed requests

    Server Software:
    Server Hostname:        localhost
    Server Port:            29999
    
    Document Path:          /
    Document Length:        22043 bytes
    
    Concurrency Level:      500
    Time taken for tests:   109.117 seconds
    Complete requests:      5000
    Failed requests:        3168
       (Connect: 0, Receive: 0, Length: 3168, Exceptions: 0)
    Non-2xx responses:      3168
    Total transferred:      42810696 bytes
    HTML transferred:       40382776 bytes
    Requests per second:    45.82 [#/sec] (mean)
    Time per request:       10911.694 [ms] (mean)
    Time per request:       21.823 [ms] (mean, across all concurrent requests)
    Transfer rate:          383.14 [Kbytes/sec] received
    
    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        0    5  15.7      0      85
    Processing:   128 10392 1884.6  10465   14760
    Waiting:       13 10391 1885.1  10463   14759
    Total:        129 10397 1875.3  10466   14760
    
    Percentage of the requests served within a certain time (ms)
      50%  10466
      66%  10923
      75%  11178
      80%  11394
      90%  12019
      95%  13052
      98%  13947
      99%  14413
     100%  14760 (longest request)
    

    With default install of laravel and nginx using php-fpm

    Server Software:        nginx
    Server Hostname:        localhost
    Server Port:            19999
    
    Document Path:          /
    Document Length:        17594 bytes
    
    Concurrency Level:      500
    Time taken for tests:   71.707 seconds
    Complete requests:      5000
    Failed requests:        575
       (Connect: 0, Receive: 0, Length: 575, Exceptions: 0)
    Total transferred:      83446650 bytes
    HTML transferred:       77853450 bytes
    Requests per second:    69.73 [#/sec] (mean)
    Time per request:       7170.715 [ms] (mean)
    Time per request:       14.341 [ms] (mean, across all concurrent requests)
    Transfer rate:          1136.44 [Kbytes/sec] received
    
    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        0   11  30.8      0     128
    Processing:     0 6734 3248.0   7197   27931
    Waiting:        0 6728 3253.1   7192   27930
    Total:          1 6745 3241.8   7206   27931
    
    Percentage of the requests served within a certain time (ms)
      50%   7206
      66%   7807
      75%   8257
      80%   8550
      90%   9115
      95%   9808
      98%  10848
      99%  17728
     100%  27931 (longest request)
    
    opened by mybigman 6
  • Update laravel/framework requirement from ^9.2 to ^9.5

    Update laravel/framework requirement from ^9.2 to ^9.5

    Updates the requirements on laravel/framework to permit the latest version.

    Release notes

    Sourced from laravel/framework's releases.

    v9.5.1

    Reverted

    • Revert "Fix the guard instance used." (#41491)
    Changelog

    Sourced from laravel/framework's changelog.

    v9.5.1 - 2022-03-15

    Reverted

    • Revert "Fix the guard instance used." (#41491)

    v9.5.0 - 2022-03-15

    Added

    • Added callback support on implode Collection method. (#41405)
    • Added Illuminate/Filesystem/FilesystemAdapter::assertDirectoryEmpty() (#41398)
    • Implement email "metadata" for SesTransport (#41422)
    • Make assertPath() accepts Closure (#41409)
    • Added callable support to operatorForWhere on Collection (#41414, #41424)
    • Added partial queue faking (#41425)
    • Added --name option to schedule:test command (#41439)
    • Define Illuminate/Database/Eloquent/Concerns/HasRelationships::newRelatedThroughInstance() (#41444)
    • Added Illuminate/Support/Stringable::wrap() (#41455)
    • Adds "freezeTime" helper for tests (#41460)
    • Allow for callables with beforeSending inIlluminate/Http/Client/PendingRequest.php::runBeforeSendingCallbacks() (#41489)

    Fixed

    • Fixed deprecation warnings from route:list when filtering on name or domain (#41421)
    • Fixes HTTP::pool response when a URL returns a null status code (#41412)
    • Fixed recaller name resolution in Illuminate/Session/Middleware/AuthenticateSession.php (#41429)
    • Fixed the guard instance used in /Illuminate/Session/Middleware/AuthenticateSession.php (#41447)
    • Fixed route:list --except-vendor hiding Route::view() & Route::redirect() (#41465)

    Changed

    • Add null typing to connection property in \Illuminate\Database\Eloquent\Factories\Factory (#41418)
    • Update reserved names in GeneratorCommand (#41441)
    • Redesign php artisan schedule:list Command (#41445)
    • Extend eloquent higher order proxy properties (#41449)
    • Allow passing named arguments to dynamic scopes (#41478)
    • Throw if tag is passed but is not supported in Illuminate/Encryption/Encrypter.php (#41479)
    • Update PackageManifest::$vendorPath initialisation for cases, when composer vendor dir is not in project director (#41463)

    v9.4.1 - 2022-03-08

    Fixed

    • Fixed version of laravel

    v9.4.0 - 2022-03-08

    Added

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 4
  • Bump spiralscout/roadrunner from 2.8.2 to 2.8.7

    Bump spiralscout/roadrunner from 2.8.2 to 2.8.7

    Bumps spiralscout/roadrunner from 2.8.2 to 2.8.7.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies docker 
    opened by dependabot[bot] 4
  • MacOS troubleshooting info and script (fix #28)

    MacOS troubleshooting info and script (fix #28)

    Description

    Add MacOS troubleshooting info in README and ./scripts/fix_mac_user.sh to create mac_passwd file and reconfigure docker-compose.yml to use it.

    Fixes #28

    opened by connerbw 4
  • make test-cover: su: unknown user <local username>

    make test-cover: su: unknown user

    Where dac.chartrand is my username on OSX.

    $ make test-cover
    
    docker-compose run --rm --user "0:0" -e 'XDEBUG_MODE=coverage' app sh -c 'echo "XDebug installing, please wait.." \
    		&& apk --no-cache add autoconf make g++ 1>/dev/null && pecl install xdebug-3.0.4 1>/dev/null \
    		&& docker-php-ext-enable xdebug 1>/dev/null \
    		&& su dac.chartrand -s /bin/sh -c "composer phpunit"'
    Creating laravel-roadrunner-in-docker_app_run ... done
    XDebug installing, please wait..
    WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/main: No such file or directory
    WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/community: No such file or directory
    su: unknown user dac.chartrand
    ERROR: 1
    make: *** [test-cover] Error 1
    
    opened by connerbw 4
  • Error after command

    Error after command "make install"

    just cloning the repository $ git clone https://github.com/tarampampam/laravel-roadrunner-in-docker.git then I enter the command $ make install I get the following error

    In JsonFile.php line 178:
                                                                                    
      file_put_contents(./composer.lock): Failed to open stream: Permission denied  
                                                                                   
    ...
    
    ERROR: 1
    make: *** [Makefile:17: install] Ошибка 1
    

    then I enter the command $ composer i and run again $ make install and i get this problem

    In StreamHandler.php line 146:
                                                                                                                                                                                       
      The stream or file "/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied                                                  
      The exception occurred while attempting to log: The stream or file "/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied  
      The exception occurred while attempting to log: The /app/bootstrap/cache directory must be present and writable.                                                                 
      Context: {"exception":{}}                                                                                                                                                        
      Context: {"exception":{}}                                                                                                                                                        
                                    
    

    i am using Fedora 37

    opened by VITEK-THE-BEST 3
  • Web app startup error: WorkerAllocate: context deadline exceeded

    Web app startup error: WorkerAllocate: context deadline exceeded

    Hello!

    When I'm trying to get this app running, but keep getting the same error:

    2022-06-24T15:41:19.068Z	DEBUG	rpc         	plugin was started	{"address": "tcp://127.0.0.1:6001", "list of the plugins with RPC methods:": ["resetter", "status", "informer"]}
    [INFO] RoadRunner server started; version: 2.10.2, buildtime: 2022-05-26T12:30:20+0000
    2022-06-24T15:41:29.093Z	ERROR	container/poller.go:16	vertex got an error	{"id": "http.Plugin", "error": "static_pool_allocate_workers: WorkerAllocate: context deadline exceeded"}
    github.com/roadrunner-server/endure/pkg/container.(*Endure).poll.func1
    	github.com/roadrunner-server/[email protected]/pkg/container/poller.go:16
    error occurred: static_pool_allocate_workers: WorkerAllocate: context deadline exceeded, plugin: http.Plugin, stopping execution
    

    How to reproduce (just follow the instructions):

    • checkout repo (no modifications to the source code)
    • make install
    • make init
    • make up

    web container is up, but marked as unhealthy (project name here is check):

    CONTAINER ID   IMAGE                COMMAND                  CREATED          STATUS                     PO
    6f62fdd86f91   check_web            "rr serve -c .rr.loc…"   3 minutes ago    Up 3 minutes (unhealthy)   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:8443->8443/tcp, :::8443->8443/tcp   check_web_1
    

    The weird part here is that it happens from the cold container start via make up. Means that after make up I would do just a simple restart via:

    • docker stop 6f62fdd86f91
    • docker start 6f62fdd86f91 when container starts without any issues.

    Environment:

    • Docker version 20.10.8, build 3967b7d
    • MacOS 10.15.4

    Maybe you have any idea what could be the reason? Thanks!

    opened by evgeny-l 3
  • Update spiral/roadrunner-laravel requirement from ^5.5 to ^5.6

    Update spiral/roadrunner-laravel requirement from ^5.5 to ^5.6

    Updates the requirements on spiral/roadrunner-laravel to permit the latest version.

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @tarampampam.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 3
  • make test-cover ERROR: 1

    make test-cover ERROR: 1

    Every time when i trying make test-cover see this:

    docker-compose run --rm --user "0:0" -e 'XDEBUG_MODE=coverage' app sh -c 'echo "XDebug installing, please wait.." \
                    && apk --no-cache add autoconf make g++ 1>/dev/null && pecl install xdebug-3.0.4 1>/dev/null \
                    && docker-php-ext-enable xdebug 1>/dev/null \
                    && su opekunov -s /bin/sh -c "composer phpunit"'
    Creating laravel-roadrunner-in-docker_app_run ... done
    XDebug installing, please wait..
    ERROR: 1
    make: *** [test-cover] Error 1
    

    In empty project too

    opened by Opekunov 2
  • Bump php from 8.1.13-alpine to 8.2.0-alpine

    Bump php from 8.1.13-alpine to 8.2.0-alpine

    Bumps php from 8.1.13-alpine to 8.2.0-alpine.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @tarampampam.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies docker 
    opened by dependabot[bot] 1
Owner
Paramtamtam
Paramtamtam
How to Create Laravel 8 Vue JS CRUD Example

About Project How to Create Laravel 8 Vue JS CRUD, how to implement vue js crud example with Laravel 8. how to Create a crude API in Laravel 8, for ex

Fadi Mathlouthi 1 Oct 22, 2021
Laravel 9 Vue Js flash message example

Laravel 9 Vue Js flash message example; Through this tutorial, i am going to show you how to display a flash messages with vue js components in laravel vue js apps.

Wesley Sinde 3 May 11, 2022
Example of create, update, delete and read operations in laravel 9 version.

Laravel 9 CRUD Example Example of create, update, delete and read operations in laravel 9 version. Download Step 1 (download the project.) git clone h

Ali Yılmaz 4 Aug 3, 2022
This is a simple example project demonstrating the Lupus Nuxt.js Drupal Stack.

Lupus Nuxt.js Drupal Stack - Example project This is a simple example project demonstrating the Lupus Nuxt.js Drupal Stack. Introduction Please refer

drunomics 11 Dec 28, 2022
Drupal's Typed Data API by example

Drupal's Typed Data API by example This repository aims to help show use cases and various exercises with using Drupal's Typed Data API. The Typed Dat

Matt Glaman 34 Nov 9, 2022
🐳 Build a simple laravel development environment with docker-compose.

docker-laravel ?? Introduction Build a simple laravel development environment with docker-compose. Usage $ git clone [email protected]:ucan-lab/docker-la

ucan-lab 911 Jan 5, 2023
Setup Docker Para Projetos Laravel

Setup Docker Para Projetos Laravel

EspecializaTi 9 Sep 13, 2022
Laravel 8 boilerplate in docker-compose with Treafik and SSL setup and github workflow ready for CI/CD pipeline

Laravel8 boilerplate Laravel 8 boilerplate in docker-compose with Treafik and SSL setup with .github workflow ready To start the containers in prod en

Tej Dahal 5 Jul 9, 2022
A preconfigured Laravel, React, Typescript, Docker boilerplate to save you time!

Laravel - React - Docker - Boilerplate This repo is built with the following: Laravel 9 React 17 Vite 3 ESLint 8 TypeScript 4.7 Husky/Commit lint PHP

Lockhinator 23 Dec 14, 2022
A skeleton for build your Kata with Docker

A skeleton for build your Kata with Docker

Raúl Coloma Bonifacio 1 Nov 12, 2021
Reverse proxy skeleton built for docker with traefik, showcasing a Symfony + React application

Decoupled Backend(Symfony) + Frontend(React ts) built with Traefik & Docker Reverse proxy skeleton built for docker with traefik, showcasing a decoupl

Sergiu 1 Dec 13, 2021
Phalcon 3, PHP7, Docker sample starter application

Phalcon Docker Nginx starter app Docker image based on: Ubuntu 16.04 Phalcon 3 PHP 7 Nginx + PHP FPM Supervisord Dependencies Docker. For installation

Guilherme Viebig 25 Oct 7, 2022
App & Models Settings for Laravel

App & Models Settings for Laravel This package allows you to store application wide and model specific Laravel settings. Settings values are type-cast

Mohammed Isa 42 Aug 12, 2022
todolist app with vueJS frontend and laravel backend

todolist-vuejs-laravel A todolist app with vue.js frontend and laravel backend Demo demo Installation To run this locally, you'll need to clone the re

Isaac Kojo Yeboah 2 May 10, 2022
Simple web app with laravel build from scratch

Find Me Simple Web Application This "Find Me" matchmaking web-based application is useful for facilitating people who are looking for new relationship

Jieyab 15 Nov 26, 2022
Boilerplate for a standard tested resourceful Laravel app

Gold Standard A Laravel boilerplate resource This repo is an example of what I consider to be my "gold standard" of a resource-oritented application w

Dwight Watson 25 Mar 19, 2019
Laravel app boilerplate with email verification process on registration

The default master branch is for Laravel 5.4 , for Laravel 5.3 boilerplate switch to the v5.3 branch Laravel app boilerplate with email verification o

LUBUS 41 Jan 3, 2022
A CRUD app made with Laravel and VueJS 3 (API Composition)

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Ludovic Guénet 2 Apr 1, 2022
Simple App Project

SimpleProject(CRUD) by Melvs Clone the repository with git clone Copy .env.example file to .env and edit database credentials there Run composer insta

Melvs 3 Apr 22, 2021