Files
AirService_potyk/README.md
T
2026-06-02 20:35:48 +05:00

3.0 KiB

AirService

Система управления заявками на техническое обслуживание (Service Desk). Сотрудники создают заявки, назначают приоритеты и отслеживают статус выполнения.

Стек: Laravel 10, Livewire, Tailwind CSS, MySQL, Vite


Локальная разработка

Требования: PHP >= 8.2, Composer, Node.js >= 18, MySQL

git clone <repo-url>
cd AirService

composer install
npm install

cp .env.example .env
# Поменять APP_ENV=local, APP_DEBUG=true, APP_URL=http://localhost
# Поменять DB_HOST=127.0.0.1, DB_USERNAME=root, убрать DB_ROOT_PASSWORD
php artisan key:generate
php artisan migrate --seed

Запустить в двух терминалах:

# Терминал 1
php artisan serve

# Терминал 2
npm run dev

Приложение: http://127.0.0.1:8000


Деплой на сервер (flamy / docker-runtime)

Требования: Docker, Docker Compose на docker-runtime (10.20.0.20).

1. Скопировать проект на сервер

ssh -i /root/.ssh/docker_vm_ed25519 crimson@10.20.0.20
sudo mkdir -p /opt/docker-apps/airservice

Скопировать файлы (с локальной машины):

rsync -avz --exclude='.git' --exclude='node_modules' --exclude='vendor' \
  ./ crimson@10.20.0.20:/opt/docker-apps/airservice/

2. Создать .env на сервере

cd /opt/docker-apps/airservice
cp .env.example .env
nano .env

Обязательно заполнить:

APP_KEY=        # php artisan key:generate --show
APP_URL=https://your-domain.ru
DB_PASSWORD=    # придумать
DB_ROOT_PASSWORD=  # придумать

3. Запустить

docker compose up -d --build
docker compose ps
docker compose logs -f --tail=100

Проверить локально на сервере:

curl -I http://10.20.0.20:18201

4. Открыть домен через Caddy (edge-proxy)

ssh -i /root/.ssh/edge_vm_ed25519 crimson@192.168.0.80
sudo nano /etc/caddy/Caddyfile

Добавить блок:

http://www.your-domain.ru, https://www.your-domain.ru {
    redir https://your-domain.ru{uri} 308
}

your-domain.ru {
    encode zstd gzip

    reverse_proxy 10.20.0.20:18201 {
        header_up Host {host}
        header_up X-Real-IP {remote_host}
    }
}
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy

Структура Docker-сервисов

Сервис Описание
airservice_app PHP-FPM (Laravel)
airservice_nginx nginx, публикует порт 18201
airservice_mysql MySQL 8.0, только внутри сети
airservice_queue Queue worker (queue:work)