streetworker app

安装: 0

依赖: 0

建议者: 0

安全性: 0

星标: 5

观察者: 7

分支: 2

公开问题: 10

语言:Vue

类型:项目

dev-develop / 1.0.x-dev 2024-09-03 09:11 UTC

This package is auto-updated.

Last update: 2024-09-03 09:11:24 UTC


README

Software License Open Issues Closed Issues Contributors Contributors

Swapp是一个旨在简化正在路上的streetworker文档的项目。

有关更多信息,请查看:https://streetworkapp.de/

有关Swapp的完整工作演示,请查看:https://swapp.demo.streetworkapp.de

Was ist Swapp? What is Swapp?

如何开始本地开发?

  1. 设置nginx代理(包括docker-gen)

    将以下docker-compose.yml放置在您选择的文件夹中,例如/var/apps/nginx-proxy//<your-home-dir>/workspace/nginx-proxy/

    version: "3.4"
    
    services:
        nginx-proxy:
            image: jwilder/nginx-proxy:alpine
            container_name: nginx-proxy
            ports:
                - target: 80
                  published: 80
                  protocol: tcp
                - target: 443
                  published: 443
                  protocol: tcp
            volumes:
                - /var/run/docker.sock:/tmp/docker.sock:ro
                - ./certs:/etc/nginx/certs
                - ./vhosts:/etc/nginx/conf.d
            networks:
                - swapp-dev
    
    networks:
        swapp-dev:
           external: true
  2. 安装本地SSL证书

    以下可以使用包含jwilder/nginx-proxy和mkCert的Dockerfile自动完成。

    首先,您必须确定要用于Swapp的域名。以下示例中将使用swapp.local。仅使用swapp会导致证书问题,因为大多数浏览器不接受二级域名的通配符证书:例如,浏览器不会接受为子域api.swapp创建的*.swapp证书

    安装mkCert
    # linux
    wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.1/mkcert-v1.4.1-linux-amd64
    sudo mv mkcert-v1.4.1-linux-amd64 /usr/local/bin/mkcert
    sudo chmod +x /usr/local/bin/mkcert
    # macOS
    brew install mkcert
    brew install nss # if you use Firefox
    安装rootCA

    这会将mkcert的rootCA自动添加到您的系统受信任的CA中,因此您在本地浏览器中不再会收到不受信任证书的通知。

    mkcert --install
    创建证书

    导航到nginx-proxy证书卷,例如cd /var/apps/nginx-proxy/certs/<your-home-dir>/workspace/nginx-proxy/certs

    mkcert -key-file swapp.local.key -cert-file swapp.local.crt swapp.local *.swapp.local    

    这将为swapp.local的所有子域生成证书

  3. 设置DNS
    # /etc/hosts
    127.0.0.1	swapp.local
  4. 启动nginx代理
    # this need to be run only once 
    docker network create swapp-dev
    # /var/apps/nginx-proxy/ or /<your-home-dir>/workspace/nginx-proxy/
    docker-compose up -d    
  5. 创建.env
    #<yourWorkSpace>/swapp
    cp .env.dist .env

    根据需要调整敏感变量,例如JWT_KEYDB_PASSWORD。确保DOMAIN_NAME与创建证书时使用的名称匹配。

  6. 添加到您的.bashrc(或.zshrc
    $ vi ~/.bashrc
    
    ...
    export HOST_UID=$(id -u)      # UID is now available for docker-compose.yml
    export HOST_GID=$(id -g)      # GID is now available for docker-compose.yml
    
  7. 启动swapp栈
    docker-compose up -d

    nginx代理将为每个具有设置环境变量VIRTUAL_HOST的swapp服务创建一个vhost条目。您可以在卷中检查创建的主机

    cat path-to-nginx-proxy/vhosts/default.conf
  8. 通过以下域名访问swapp
    使用自签名证书

    优点:无需在每次访问第一个网站请求时接受不安全的证书。

    要使用您的移动设备在本地WAN中访问,您必须将'swapp.local'替换为您的本地IP地址

    • 在Windows 7中查找本地IP地址 [1]
    • 在Ubuntu中查找本地IP地址 [1] [2]
  9. 可选:使用XDebug
    • .env中激活XDebug
      PHP_XDEBUG_ENABLED=1
      
    • PHPStorm设置
      • 设置... -> 语言 & 框架 -> PHP -> 服务器:添加
        • 名称:必须与PHP_IDE_CONFIG值相同
        • 端口:80
        • 路径映射:主机系统中项目根目录的路径
      • 设置 -> 语言 & 框架 -> PHP -> 调试 -> DBGp代理
        • 端口: 9000
    • 启动容器
      $ docker-compose up -d
    • 在PHPStorm中单击“开始监听PHP调试连接”后,您可以跳转到Web和CLI断点。
    • 要启用/禁用XDebug,只需在docker-compose.yml中调整环境变量PHP_XDEBUG_ENABLED,然后重启容器(docker-compose down && docker-compose up -d

快捷表

  • 执行symfony命令
    $ docker-compose exec web php bin/console [SF-CONSOLE-COMMAND]
  • 启动webpack encore
    $ docker-compose exec web node_modules/.bin/encore dev-server
  • 显示容器及其状态
    $ docker-compose ps
  • 容器shell访问
    $ docker-compose exec web bash
  • CLI连接到MySQL
    $ mysql -u swapp -p -hmysql
  • 停止服务/容器
    $ docker-compose stop
  • 停止并删除容器(包括卷、镜像和网络,但不包括数据卷)
    $ docker-compose down