Skip to content

Instantly share code, notes, and snippets.

@lukaszlach
Created April 5, 2022 09:36
Show Gist options
  • Select an option

  • Save lukaszlach/5eb04bcdb7c0405f54e08a54762d4f51 to your computer and use it in GitHub Desktop.

Select an option

Save lukaszlach/5eb04bcdb7c0405f54e08a54762d4f51 to your computer and use it in GitHub Desktop.

Revisions

  1. lukaszlach created this gist Apr 5, 2022.
    81 changes: 81 additions & 0 deletions dr1.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,81 @@
    ```
    .
    ├── app
    │   ├── controller
    │   ├── model
    │   └── view
    ├── composer.json
    ├── .develtio-runner
    │   ├── config.env
    │   ├── DEVELTIO_RUNNER.md
    │   └── Makefile
    ├── develtio-runner
    │   ├── env
    │   │   ├── global.env
    │   │   ├── local
    │   │   │   ├── config.env
    │   │   │   ├── docker-compose-app.yml
    │   │   │   ├── docker-compose-tools.yml
    │   │   │   └── Dockerfile
    │   │   ├── production
    │   │   │   ├── config.env
    │   │   │   ├── docker-compose-app.yml
    │   │   │   └── Dockerfile
    │   │   └── staging
    │   │   ├── config.env
    │   │   ├── docker-compose-app.yml
    │   │   └── Dockerfile
    │   └── etc
    │   └── rc.d
    │   ├── container-start
    │   ├── container-stop
    │   ├── container-stopping
    │   └── image-build
    ├── public
    │   └── index.php
    ├── README.md
    └── vendor
    ```

    ```
    # Build
    [R] ./.develtio-runner/docker/app/php/Dockerfile (FROM php:7.3-fpm-apache)
    only base image, no source code inside
    [P] ./develtio-runner/env/local/Dockerfile (FROM develtio-runner-app)
    optional, extended base image with the source code
    # Start
    PROJECT_LANG=php
    PROJECT_ENGINE=wordpress
    ## make start-tool
    [R] ./.develtio-runner/docker/core/docker-compose-core.yml (no services, shared networks and volumes)
    [R] ./.develtio-runner/docker/tools/docker-compose.yml (global tools - ngrep, tcpdump)
    [R] ./.develtio-runner/docker/tools/php/docker-compose.yml (optional, php tools - composer, phpunit)
    [R] ./.develtio-runner/docker/tools/wordpress/docker-compose.yml (optional, wordpress tools - wp-cli)
    [P] ./develtio-runner/env/local/docker-compose-tools.yml (optional, additional project-level tools)
    ## make start
    [R] ./.develtio-runner/docker/core/docker-compose-core.yml (app service, shared networks and volumes)
    [R] ./.develtio-runner/docker/app/wordpress/docker-compose.yml (optional, wordpress-crafted)
    [P] ./develtio-runner/env/local/docker-compose-app.yml (optional, project-level extensions to above)
    ## Configuration load order
    [R] ./.develtio-runner/config.env (default variables)
    [P] ./develtio-runner/env/global.env (global project variables)
    [P] ./develtio-runner/env/local/config.env (per-environment project variables)
    > No need to edit [R] files by developers, there is always project-level file in the end
    > Add `make ls-tool` - list all available tools (with descriptions)
    > Add `make ls` - list all services in the stack
    > Runner as submodule hidden under .develtio-runner, locked to specific commit with possibility to upgrade
    > Possibility to get runner, set `PROJECT_LANG`, create phpinfo index.php and make start
    > Remove start-tool from start-all
    > Add `container_name` to lb container, so that multiple instances will be handled w/o error; multiple lbs, if needed at all, need downstream load-balancer, Traefik should do
    > Example for second language, Ruby or Node.JS or else
    ```