{"id":17989568,"url":"https://github.com/evilfreelancer/dockavel","last_synced_at":"2025-03-25T23:30:50.312Z","repository":{"id":110656625,"uuid":"140112630","full_name":"EvilFreelancer/dockavel","owner":"EvilFreelancer","description":"Docker + Laravel","archived":false,"fork":false,"pushed_at":"2021-07-13T21:00:09.000Z","size":41,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-20T22:10:38.074Z","etag":null,"topics":["container","docker","laravel"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/evilfreelancer/dockavel","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EvilFreelancer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-07T19:43:19.000Z","updated_at":"2022-12-09T13:16:54.000Z","dependencies_parsed_at":"2023-04-14T18:33:12.860Z","dependency_job_id":null,"html_url":"https://github.com/EvilFreelancer/dockavel","commit_stats":null,"previous_names":[],"tags_count":164,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvilFreelancer%2Fdockavel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvilFreelancer%2Fdockavel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvilFreelancer%2Fdockavel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvilFreelancer%2Fdockavel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EvilFreelancer","download_url":"https://codeload.github.com/EvilFreelancer/dockavel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245561181,"owners_count":20635688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["container","docker","laravel"],"created_at":"2024-10-29T19:14:58.950Z","updated_at":"2025-03-25T23:30:50.280Z","avatar_url":"https://github.com/EvilFreelancer.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dockavel = Docker + Laravel\n\nSimple image with basic Laravel inside Docker container, based on\nAlpine Linux with latest PHP (whick availble on stable Alpine of\ncourse).\n\nRepository has different versions of Laravel (from 5.4), so if you need\nsome legacy version of Laravel the you need set [required tag](https://hub.docker.com/r/evilfreelancer/dockavel/tags/).\n\n## How to use\n\n### How to enable xdebug\n\nThis PHP plugin is already installed into container and can be enabled\nvia PHP_XDEBUG_ENABLED environment variable.\n\n\u003cdetails\u003e\n\u003csummary\u003e\n  \u003ci\u003eList of all available environment variables\u003c/i\u003e\n\u003c/summary\u003e\n\nVarious env vars can be set at runtime via your docker command or docker-compose environment section:\n\n__CONTAINER_TIMEZONE:__ Change default timezone of your container\n\n__APACHE_SERVER_NAME:__ Change server name to match your domain name in httpd.conf\n\n__PHP_SHORT_OPEN_TAG:__ Maps to php.ini 'short_open_tag'\n\n__PHP_OUTPUT_BUFFERING:__ Maps to php.ini 'output_buffering'\n\n__PHP_OPEN_BASEDIR:__ Maps to php.ini 'open_basedir'\n\n__PHP_MAX_EXECUTION_TIME:__ Maps to php.ini 'max_execution_time'\n\n__PHP_MAX_INPUT_TIME:__ Maps to php.ini 'max_input_time'\n\n__PHP_MAX_INPUT_VARS:__ Maps to php.ini 'max_input_vars'\n\n__PHP_MEMORY_LIMIT:__ Maps to php.ini 'memory_limit'\n\n__PHP_ERROR_REPORTING:__ Maps to php.ini 'error_reporting'\n\n__PHP_DISPLAY_ERRORS:__ Maps to php.ini 'display_errors'\n\n__PHP_DISPLAY_STARTUP_ERRORS:__ Maps to php.ini 'display_startup_errors'\n\n__PHP_LOG_ERRORS:__ Maps to php.ini 'log_errors'\n\n__PHP_LOG_ERRORS_MAX_LEN:__ Maps to php.ini 'log_errors_max_len'\n\n__PHP_IGNORE_REPEATED_ERRORS:__ Maps to php.ini 'ignore_repeated_errors'\n\n__PHP_REPORT_MEMLEAKS:__ Maps to php.ini 'report_memleaks'\n\n__PHP_HTML_ERRORS:__ Maps to php.ini 'html_errors'\n\n__PHP_ERROR_LOG:__ Maps to php.ini 'error_log'\n\n__PHP_POST_MAX_SIZE:__ Maps to php.ini 'post_max_size'\n\n__PHP_DEFAULT_MIMETYPE:__ Maps to php.ini 'default_mimetype'\n\n__PHP_DEFAULT_CHARSET:__ Maps to php.ini 'default_charset'\n\n__PHP_FILE_UPLOADS:__ Maps to php.ini 'file_uploads'\n\n__PHP_UPLOAD_TMP_DIR:__ Maps to php.ini 'upload_tmp_dir'\n\n__PHP_UPLOAD_MAX_FILESIZE:__ Maps to php.ini 'upload_max_filesize'\n\n__PHP_MAX_FILE_UPLOADS:__ Maps to php.ini 'max_file_uploads'\n\n__PHP_ALLOW_URL_FOPEN:__ Maps to php.ini 'allow_url_fopen'\n\n__PHP_ALLOW_URL_INCLUDE:__ Maps to php.ini 'allow_url_include'\n\n__PHP_DEFAULT_SOCKET_TIMEOUT:__ Maps to php.ini 'default_socket_timeout'\n\n__PHP_DATE_TIMEZONE:__ Maps to php.ini 'date.timezone'\n\n__PHP_PDO_MYSQL_CACHE_SIZE:__ Maps to php.ini 'pdo_mysql.cache_size'\n\n__PHP_PDO_MYSQL_DEFAULT_SOCKET:__ Maps to php.ini 'pdo_mysql.default_socket'\n\n__PHP_SESSION_SAVE_HANDLER:__ Maps to php.ini 'session.save_handler'\n\n__PHP_SESSION_SAVE_PATH:__ Maps to php.ini 'session.save_path'\n\n__PHP_SESSION_USE_STRICT_MODE:__ Maps to php.ini 'session.use_strict_mode'\n\n__PHP_SESSION_USE_COOKIES:__ Maps to php.ini 'session.use_cookies'\n\n__PHP_SESSION_COOKIE_SECURE:__ Maps to php.ini 'session.cookie_secure'\n\n__PHP_SESSION_NAME:__ Maps to php.ini 'session.name'\n\n__PHP_SESSION_COOKIE_LIFETIME:__ Maps to php.ini 'session.cookie_lifetime'\n\n__PHP_SESSION_COOKIE_PATH:__ Maps to php.ini 'session.cookie_path'\n\n__PHP_SESSION_COOKIE_DOMAIN:__ Maps to php.ini 'session.cookie_domain'\n\n__PHP_SESSION_COOKIE_HTTPONLY:__ Maps to php.ini 'session.cookie_httponly'\n\n__PHP_XDEBUG_ENABLED:__ Turns on xdebug (which is not for production really)\n\n\u003c/details\u003e\n\n### Via Dockerfile\n\nIf you want to use this image and you just need to add source code of\nyor application with dependencies, for this just create `Dockerfile`\nwith following content inside:\n\n```docker\nFROM evilfreelancer/dockavel\n\nADD [\".\", \"/app/app\"]\nADD [\"composer.json\", \"/app/app\"]\nWORKDIR /app\n\nRUN composer update \\\n \u0026\u0026 chown -R apache:apache /app\n```\n\nFor building you just need run:\n\n    docker build . --tag laravel\n\nBy default image has `80` port exposed (apache2 here), so you just need plug your local\nport with port of container together:\n\n    docker run -d -p 80:80 laravel\n\n### Via docker-compose\n\nIf you need MySQL with Laravel the you need create the\n`docker-compose.yml` file and put inside following content:\n\n```yml\nversion: \"2\"\n\nservices:\n\n  mysql:\n    image: mysql:5.7\n    ports:\n      - 3306:3306\n    environment:\n      # Configuration here must match the settings of laravel\n      - MYSQL_DATABASE=homestead\n      - MYSQL_ROOT_PASSWORD=root_pass\n      - MYSQL_USER=homestead\n      - MYSQL_PASSWORD=secret\n    volumes:\n      - ./databases/mysql:/var/lib/mysql\n      - ./logs/mysql:/var/log/mysql\n\n  laravel-dev:\n    image: evilfreelancer/dockavel\n    restart: unless-stopped\n    ports:\n      - 81:80\n    environment:\n      - APP_NAME=Develop\n      - APP_ENV=local\n      - APP_DEBUG=true\n      - PHP_XDEBUG_ENABLED=true\n    volumes:\n      - ./laravel:/app:rw\n\n  laravel:\n    image: evilfreelancer/dockavel\n    restart: unless-stopped\n    ports:\n      - 80:80\n    environment:\n      - APP_NAME=Laravel\n      - APP_ENV=stagging\n      - APP_KEY=base64:XFmYKmOH9JhC4egs5y7h9hKnACECuRpVvybd8gaU1EA=\n      - APP_DEBUG=false\n      - APP_URL=http://localhost\n      - LOG_CHANNEL=stack\n      - DB_CONNECTION=mysql\n      - DB_HOST=mysql\n      - DB_PORT=3306\n      - DB_DATABASE=homestead\n      - DB_USERNAME=homestead\n      - DB_PASSWORD=secret\n      - BROADCAST_DRIVER=log\n      - CACHE_DRIVER=file\n      - SESSION_DRIVER=file\n      - SESSION_LIFETIME=120\n      - QUEUE_DRIVER=sync\n      - REDIS_HOST=127.0.0.1\n      - REDIS_PASSWORD=null\n      - REDIS_PORT=6379\n      - MAIL_DRIVER=smtp\n      - MAIL_HOST=smtp.mailtrap.io\n      - MAIL_PORT=2525\n      - MAIL_USERNAME=null\n      - MAIL_PASSWORD=null\n      - MAIL_ENCRYPTION=null\n      - PUSHER_APP_ID=\n      - PUSHER_APP_KEY=\n      - PUSHER_APP_SECRET=\n      - PUSHER_APP_CLUSTER=mt1\n      - MIX_PUSHER_APP_KEY=\"${PUSHER_APP_KEY}\"\n      - MIX_PUSHER_APP_CLUSTER=\"${PUSHER_APP_CLUSTER}\"\n    volumes:\n      - ./laravel/app:/app/app:rw\n      - ./laravel/config:/app/config:rw\n      - ./laravel/database:/app/database:rw\n      - ./laravel/public:/app/public:rw\n      - ./laravel/resources:/app/resources:rw\n      - ./laravel/routes:/app/routes:rw\n      # Required modules for system\n      - ./laravel/vendor:/app/vendor:rw\n      - ./laravel/node_modules:/app/node_modules:rw\n      # Following folders must be writable in container for apache user\n      # chown apache:apache -R storage/ bootstrap/\n      - ./laravel/storage:/app/storage:rw\n      - ./laravel/bootstrap:/app/bootstrap:rw\n```\n\nRun this composition of containers:\n\n    docker-compuse up -d\n\nBut how to update the Laravel image? That's easy, if you use `:latest`\ntag of docker image the you just need:\n\n    docker-composer pull\n    docker-composer up -d\n\nAnd your of laravel container will be recreated if new version of\nLaravel in repository.\n\n## Almost done\n\nNow you need just open this url http://localhost, and you'll see the Laravel magic.\n\n## Links\n\n* [Laradock](http://laradock.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilfreelancer%2Fdockavel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevilfreelancer%2Fdockavel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilfreelancer%2Fdockavel/lists"}