시스템 요구사항
📝 초안 (Draft)
이 문서는 검토 중입니다. 내용이 변경될 수 있습니다.
Multi-SaaS Kit 설치 및 운영을 위한 시스템 요구사항입니다.
하드웨어 요구사항
개발 환경
| 구성 요소 | 최소 사양 | 권장 사양 |
|---|---|---|
| CPU | 2코어 | 4코어 이상 |
| RAM | 4GB | 8GB 이상 |
| 디스크 | 20GB SSD | 50GB SSD |
| 네트워크 | 인터넷 연결 | 안정적인 인터넷 연결 |
개발 환경 참고
Docker 컨테이너 4개(nginx, web, postgres, redis)가 동시에 실행되므로, 원활한 개발을 위해 RAM 8GB 이상을 권장합니다.
운영 환경
| 구성 요소 | 소규모 | 중규모 | 대규모 |
|---|---|---|---|
| CPU | 2코어 | 4코어 | 8코어 이상 |
| RAM | 4GB | 8GB | 16GB 이상 |
| 디스크 | 50GB SSD | 100GB SSD | 500GB SSD |
| 동시 사용자 | ~100명 | ~1,000명 | 1,000명+ |
스케일링
대규모 트래픽은 컨테이너 오케스트레이션(Kubernetes)을 권장합니다.
소프트웨어 요구사항
버전 매트릭스
| 소프트웨어 | 최소 버전 | 권장 버전 | 비고 |
|---|---|---|---|
| Docker | 20.10+ | 24.0+ | Docker Compose V2 포함 |
| Docker Compose | 2.0+ | 2.20+ | docker compose 명령 |
| Git | 2.30+ | 2.40+ | 버전 관리 |
| Make | 3.81+ | 4.3+ | 빌드 자동화 |
컨테이너 내부 버전
Docker 컨테이너에서 자동으로 설정되는 버전입니다.
| 소프트웨어 | 버전 | 설명 |
|---|---|---|
| PHP | 8.2+ | Laravel 12 요구사항 |
| Laravel | 12.x | 프레임워크 |
| Filament | 4.x | 관리자 패널 |
| PostgreSQL | 16/17/18 | 데이터베이스 (RLS 지원) |
| Redis | 7.x | 캐시/세션/큐 |
| Node.js | 20.x | 프론트엔드 빌드 |
| Nginx | 최신 Alpine | 웹 서버 |
버전 자동 관리
컨테이너 내부 소프트웨어는 Docker 이미지를 통해 자동으로 설치되므로, 별도 설치가 필요하지 않습니다.
아키텍처 지원
CPU 아키텍처
| 아키텍처 | 지원 여부 | 대상 시스템 |
|---|---|---|
| AMD64 (x86_64) | ✅ 지원 | Intel/AMD 프로세서 (대부분의 서버/데스크톱) |
| ARM64 (aarch64) | ✅ 지원 | Apple Silicon (M1/M2/M3), AWS Graviton |
아키텍처 자동 감지
Makefile이 시스템 아키텍처를 자동으로 감지하여 적절한 Docker Compose 파일을 선택합니다.
# 현재 아키텍처 확인
uname -m
# x86_64 → AMD64
# aarch64 또는 arm64 → ARM64
운영체제
| 운영체제 | 개발 환경 | 운영 환경 |
|---|---|---|
| macOS | ✅ 권장 (Apple Silicon/Intel) | ⚠️ 비권장 |
| Linux | ✅ 지원 (Ubuntu 22.04+) | ✅ 권장 |
| Windows | ⚠️ WSL2 필요 | ⚠️ 비권장 |
Windows 사용 시
Windows에서는 WSL2(Windows Subsystem for Linux 2)를 통해 Docker Desktop을 실행해야 합니다. 네이티브 Windows Docker는 지원하지 않습니다.
사전 지식 요구사항
Multi-SaaS Kit을 효과적으로 사용하기 위해 필요한 기술 지식입니다.
필수 지식
| 영역 | 설명 | 학습 리소스 |
|---|---|---|
| Docker 기초 | 컨테이너 개념, 기본 명령어 | Docker 공식 문서 |
| 터미널/CLI | 기본 명령어, 파일 시스템 탐색 | - |
| Git 기초 | clone, commit, push, pull | Git 공식 문서 |
권장 지식
| 영역 | 설명 | 용도 |
|---|---|---|
| Laravel | PHP 프레임워크 기초 | 백엔드 커스터마이징 |
| Filament | 관리자 패널 프레임워크 | 관리 화면 커스터마이징 |
| PostgreSQL | SQL 쿼리, RLS 개념 | 데이터베이스 관리 |
| Blade/Vue/React | 프론트엔드 | UI 커스터마이징 |
수준별 가이드
| 수준 | 대상 | 추천 시작점 |
|---|---|---|
| 초급 | Docker 경험 없음 | 빠른 시작 가이드 먼저 |
| 중급 | Laravel 경험 있음 | 첫 프로젝트부터 시작 |
| 고급 | SaaS 개발 경험 있음 | 아키텍처 문서 참조 |
네트워크 요구사항
필요 포트
| 포트 범위 | 용도 | 비고 |
|---|---|---|
| 8100-8199 | HTTP 웹 서비스 | 프로젝트별 할당 |
| 5432-5449 | PostgreSQL | 프로젝트별 할당 |
| 6379-6399 | Redis | 프로젝트별 할당 |
방화벽 설정
운영 환경에서는 필요한 포트만 외부에 노출하세요.
# 예: UFW (Ubuntu)
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
설치 확인
모든 요구사항이 충족되는지 확인하세요.
# Docker 버전 확인
docker --version
# Docker version 24.0.x 이상
# Docker Compose 버전 확인
docker compose version
# Docker Compose version v2.x.x 이상
# Git 버전 확인
git --version
# git version 2.30.x 이상
# Make 버전 확인
make --version
# GNU Make 3.81 이상