Docker: agregar setup local con NGINX + PHP-FPM y script de control
Incluye Dockerfile, docker-compose.yml (puerto 8088), nginx.conf y script _app con --status, --start y --stop para levantar la app localmente. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
cdbbf0e6db
commit
5a54fdcfde
@@ -0,0 +1,6 @@
|
|||||||
|
FROM php:8.2-fpm-alpine
|
||||||
|
|
||||||
|
RUN apk add --no-cache sqlite sqlite-dev \
|
||||||
|
&& docker-php-ext-install pdo pdo_sqlite
|
||||||
|
|
||||||
|
WORKDIR /var/www/html
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
URL="http://srv-ns8:8088"
|
||||||
|
|
||||||
|
status() {
|
||||||
|
APP=$(docker compose -f "$DIR/docker-compose.yml" ps --status running --quiet app 2>/dev/null)
|
||||||
|
WEB=$(docker compose -f "$DIR/docker-compose.yml" ps --status running --quiet web 2>/dev/null)
|
||||||
|
|
||||||
|
if [[ -n "$APP" && -n "$WEB" ]]; then
|
||||||
|
echo "✔ rm-PAGOs está corriendo → $URL"
|
||||||
|
elif [[ -z "$APP" && -z "$WEB" ]]; then
|
||||||
|
echo "✘ rm-PAGOs está detenida."
|
||||||
|
echo ""
|
||||||
|
echo " Para levantar:"
|
||||||
|
echo " cd $DIR && docker compose up -d"
|
||||||
|
echo " o simplemente:"
|
||||||
|
echo " $0 --start"
|
||||||
|
else
|
||||||
|
echo "⚠ Estado parcial (un contenedor está caído)."
|
||||||
|
docker compose -f "$DIR/docker-compose.yml" ps
|
||||||
|
echo ""
|
||||||
|
echo " Para reiniciar:"
|
||||||
|
echo " $0 --start"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
--status) status ;;
|
||||||
|
--start)
|
||||||
|
echo "Levantando rm-PAGOs..."
|
||||||
|
docker compose -f "$DIR/docker-compose.yml" up -d
|
||||||
|
echo "Listo → $URL"
|
||||||
|
;;
|
||||||
|
--stop)
|
||||||
|
echo "Bajando rm-PAGOs..."
|
||||||
|
docker compose -f "$DIR/docker-compose.yml" down
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Uso: $0 --status | --start | --stop"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
services:
|
||||||
|
app:
|
||||||
|
build: .
|
||||||
|
volumes:
|
||||||
|
- ./pagos:/var/www/html
|
||||||
|
- db_data:/var/www/html/db
|
||||||
|
networks:
|
||||||
|
- pagos_net
|
||||||
|
|
||||||
|
web:
|
||||||
|
image: nginx:alpine
|
||||||
|
ports:
|
||||||
|
- "8088:80"
|
||||||
|
volumes:
|
||||||
|
- ./pagos:/var/www/html
|
||||||
|
- ./docker/nginx.conf:/etc/nginx/conf.d/default.conf
|
||||||
|
- db_data:/var/www/html/db
|
||||||
|
depends_on:
|
||||||
|
- app
|
||||||
|
networks:
|
||||||
|
- pagos_net
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db_data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
pagos_net:
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
root /var/www/html;
|
||||||
|
index index.html index.php;
|
||||||
|
|
||||||
|
resolver 127.0.0.11 valid=10s;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
set $upstream app:9000;
|
||||||
|
fastcgi_pass $upstream;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ /db/ {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user