oracle-server stack

This commit is contained in:
2026-01-23 10:44:46 +00:00
commit ce486ccb0e
3 changed files with 151 additions and 0 deletions

22
.gitignore vendored Normal file
View File

@@ -0,0 +1,22 @@
# 데이터 디렉토리 (DB 데이터, n8n 작업물 등)
**/data/
**/files/
**/binaryData/
**/node_modules/
# 보안 및 인증서
**/.env
**/secrets/
**/letsencrypt/
**/*.pem
**/*.key
**/.runner
# 시스템 로그
**/*.log
**/*.journal
# OS 관련
.DS_Store
Thumbs.db

65
docker-compose.yml Normal file
View File

@@ -0,0 +1,65 @@
services:
php-app:
image: nkey01/laravel-wms:1.0.0
container_name: php-app
restart: unless-stopped
env_file:
- .env
- ./wms/.env
depends_on:
- postgres
volumes:
- laravel_public:/var/www/html/public # public을 볼륨으로 뽑아서 nginx와 공유
nginx:
image: nginx:1.27-alpine
container_name: nginx
restart: unless-stopped
ports:
- "80:80"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d:ro
- laravel_public:/var/www/html/public:ro
depends_on:
- php-app
- n8n
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: unless-stopped
ports:
- "5678:5678"
env_file:
- .env
- ./n8n/.env
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
- DB_POSTGRESDB_USER=${POSTGRES_USER}
- DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
- N8N_PATH=/n8n/
- N8N_EDITOR_BASE_URL=${BASE_URL}
volumes:
- ./n8n/data:/home/node/.n8n
- ./n8n/files:/files
depends_on:
- postgres
postgres:
image: postgres:15
container_name: postgres
restart: unless-stopped
ports:
- "5432:5432"
env_file:
- .env
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
laravel_public:

64
nginx/conf.d/custom.conf Normal file
View File

@@ -0,0 +1,64 @@
upstream php_fpm {
server php-app:9000;
}
upstream n8n_backend {
server n8n:5678;
}
server {
listen 80;
server_name _;
root /var/www/html/public;
index index.php index.html;
# ===== 2) n8n - /n8n/ 경로로 분리 =====
# ^~ 를 붙여서, 이 location이 매치되면 정규식(~, ~*) location은 무시하게 만들기
location ^~ /n8n/ {
proxy_pass http://n8n_backend/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
}
# ===== 1) WMS (Laravel) - 루트로 사용 =====
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass php_fpm;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_read_timeout 600s;
fastcgi_send_timeout 600s;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
try_files $uri $uri/ @laravel;
expires 30d;
access_log off;
}
location @laravel {
fastcgi_pass php_fpm;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include fastcgi_params;
}
}