# Operacion Docker del servidor

En `sysfarma.pe` la aplicacion corre dentro de Docker. No se debe usar `php`, `composer` ni `artisan` del host para tareas de la app.

## Runtime valido

- Compose: `/var/www/farmacia/docker-compose.yml`
- Codigo: `/var/www/html/farmacia`
- Contenedor PHP/FPM: `fpm_softlte_org_pe`

## Comandos recomendados

Desde `/var/www/html/farmacia`:

```bash
chmod +x script-docker-app.sh script-update.sh
./script-docker-app.sh php -v
./script-docker-app.sh artisan optimize:clear
./script-docker-app.sh artisan migrate --force
./script-docker-app.sh artisan tenancy:migrate --no-interaction
./script-docker-app.sh composer install --no-dev --optimize-autoloader
./script-docker-app.sh shell
```

## Despliegue

```bash
chmod +x script-docker-app.sh script-update.sh
./script-update.sh main
```

## No usar en este servidor

Estos comandos pueden ejecutar PHP `7.4.3` del host y no el runtime real de la aplicacion:

```bash
php artisan ...
composer install
php -v
```

Si se necesita verificar la version PHP real de la app:

```bash
./script-docker-app.sh php -v
```

## SSL wildcard de sysfarma.pe

La arquitectura SSL productiva de `sysfarma.pe` ya no debe operar con SAN por tenant.

- Documento operativo: [docs/2026-06-20-sysfarma-wildcard-ssl.md](/c:/laragon/www/enterfarmaplus/docs/2026-06-20-sysfarma-wildcard-ssl.md)
- Regla obligatoria:
  - no volver a `SSLCertificateFile /etc/letsencrypt/live/sysfarma.pe/...`
  - mantener `ServerAlias *.sysfarma.pe`
  - mantener la renovacion en `dns-cloudflare` con `/etc/letsencrypt/cloudflare.ini`
  - tratar SSL y tenancy como capas distintas
