| 고객사 | 연결 | 서비스 | 계약 | 버전 | 장비 | 마지막 활동 |
|---|
줄을 누르면 장비와 접속 주소가 펼쳐집니다. 고객사는 영업사원이 설치할 때 고객의 로그인 이메일로 자동 등록됩니다.
| 시각 | 고객사 | 장비 | 종류 | 결과 | 내용 |
|---|
| 항목 | 기준 | 안 맞으면 |
|---|---|---|
| 윈도우 | Windows 10 2004(빌드 19041) 이상 또는 Windows 11 | 설치 중단 |
| 아키텍처 | 64비트 | 설치 중단 |
| CPU 가상화 | VT-x(인텔) 또는 AMD-V 가 바이오스에서 켜져 있어야 합니다 | 설치 중단바이오스 켜는 방법을 화면에 안내 |
| 디스크 여유 | C 드라이브 20GB 이상 | 설치 중단 |
| 권한 | 관리자 | 설치 중단 |
| 메모리 | 8GB 이상 | 경고만, 설치는 진행 |
| 메모리 | 16GB 컨테이너 7개와 데이터베이스가 함께 돕니다. 8GB 로도 설치는 되지만 느립니다. |
| 저장장치 | SSD 하드디스크에서는 회계 화면이 눈에 띄게 느려집니다. |
| 디스크 용량 | 자료 크기 × 4 + 30GB 프로그램 약 4GB, 데이터베이스 본체, 백업 3개가 들어갑니다. 자료가 20GB 면 110GB 는 있어야 합니다. |
| CPU | 4코어 이상 |
| 인터넷 | 필요 설치할 때 약 4GB 를 내려받고, 그 뒤에는 30분마다 새 버전이 있는지만 확인합니다. |
가르는 것은 가상화가 아니라 SLAT(2단계 주소 변환)입니다. VT-x 는 2006년부터 있었지만 SLAT 은 더 늦게 나왔고, 이것이 실질적인 하한선입니다.
| 제조사 | SLAT 이름 | 하한 | 나온 시기 |
|---|---|---|---|
| 인텔 | EPT | Core i 시리즈 1세대 | 2008년 말 ~ 2009년 |
| AMD | RVI (NPT) | Phenom | 2007년 |
인텔 Core 2 Duo·Quad(2006~2008)는 VT-x 는 있어도 EPT 가 없어 되지 않습니다. 다만 실무에서 이 선이 걸리는 일은 드뭅니다 — Windows 10 2004 이상을 돌리는 PC 면 거의 다 통과하고, Windows 11 은 인텔 8세대·AMD Zen+ 이상만 설치되므로 자동으로 충족됩니다.
저가형 Atom·Celeron 계열은 예외가 있습니다. SKU 마다 달라서 모델명으로 판단하지 마시고 아래 방법으로 실제 PC 에서 확인하십시오.
고객사 PC 의 명령 프롬프트에서 이것을 실행합니다.
systeminfo
맨 아래 Hyper-V 요구 사항 네 줄이 답입니다. 넷 다 예 여야 합니다.
| VM 모니터 모드 확장 | CPU 가 가상화를 지원하는가 (VT-x / AMD-V) |
| 펌웨어에 가상화 사용 | 바이오스에서 켜 두었는가 |
| 2단계 주소 변환 | SLAT — 세대를 가르는 항목 |
| 데이터 실행 방지 사용 가능 | DEP |
이미 Hyper-V 나 WSL 이 돌고 있는 PC 는 네 줄 대신
하이퍼바이저가 검색되었습니다 한 줄만 나옵니다. 그건 이미 다 된다는 뜻입니다.
현장에서 가장 흔한 실패는 CPU 가 못 해서가 아니라 바이오스에서 꺼져 있어서입니다. 완제품 PC 는 기본값이 꺼짐인 경우가 많습니다. 설치 프로그램도 이때 같은 안내를 보여 줍니다.
- 컴퓨터를 재시작합니다.
- 부팅 화면에서 Del, F2, F10, F12 중 하나를 눌러 바이오스 설정으로 들어갑니다. 제조사마다 다르며, 보통 화면 아래쪽에 안내가 나옵니다.
- CPU 관련 설정에서 다음 항목을 찾아 사용(Enabled) 으로 바꿉니다. 인텔: Intel Virtualization Technology / VT-x · AMD: SVM Mode / AMD-V
- 저장하고 재시작합니다 (보통 F10).
바이오스 진입 방법을 모르면 컴퓨터 제조사나 구매처에 "CPU 가상화 켜는 방법" 을 문의하십시오.
VMware·VirtualBox·Hyper-V 안에 설치하려면 중첩 가상화를 켜 두어야 합니다. 켜져 있지 않으면 설치가 한참 진행된 뒤에 실패합니다. 설치 프로그램이 가상 머신을 알아보고 미리 알려 주지만, 막지는 않습니다 — 켜 두면 실제로 잘 돕니다.
| VMware | 프로세서 설정의 Intel VT-x/EPT 가상화 체크 |
| VirtualBox | 시스템 > 가속의 중첩 VT-x/AMD-V 체크 |
| Hyper-V | 호스트에서 Set-VMProcessor -ExposeVirtualizationExtensions $true |
회계 화면이 오가는 길 관리용 연락 (인증·업데이트·확인)
| ① 사무실 밖 접속 | 고객사 직원이 밖에서 https://a00003.도메인 을 엽니다. Traefik 이 HTTPS 를 풀어 줍니다. |
| ② 중계 서버로 전달 | Traefik 이 주소 앞머리(a00003)를 보고 중계 서버(frps)로 넘깁니다. |
| ③ PC 가 먼저 연결 | 사무실 PC 의 외부 접속(frpc) 이 중계 서버에 먼저 연결해 두고, 들어온 요청을 그 길로 받아 PC 안의 접속 연결(nginx)로 넘깁니다. PC 에서 나가는 연결이라 사무실 방화벽·공유기 설정이 필요 없습니다. PC 가 꺼져 있으면 연결이 없어 "사무실 컴퓨터와 연결할 수 없습니다" 안내가 뜹니다. |
| ④ 관리용 연락 | 설치할 때 인증, 30분마다 새 버전 확인, 단추를 누를 때 상태·기록 보고를 인증 서버로 보냅니다. 회계 자료는 오가지 않습니다. 인증 서버에는 PC 정보와 상태만 쌓입니다. |
| ⑤ 프로그램 받기 | 설치와 업데이트 때 Docker Hub 에서 프로그램(이미지)을 받습니다. 받을 권한은 ④ 인증 때 인증 서버가 잠깐 쓸 수 있게 내줍니다. |
| ⑥ 등록된 PC 확인 | 중계 서버가 PC 연결을 받을 때와 30초마다, 인증 서버에 "지금 등록된 PC 인가" 를 묻습니다. 다른 PC 로 교체된 옛 PC 는 여기서 거절되어 끊깁니다. |
| ⑦ 고객사 확인 | 설치 첫 화면에 넣은 이메일로 누구나 서비스에 물어 업체코드·업체명을 받아 옵니다. |
| 화면에 보이는 이름 | 실제 이름 | 하는 일 |
|---|---|---|
| 관리 프로그램 | NoogunaAgent.exe |
트레이에 상주. 30초마다 서비스 상태를 보고, 멈추면 알림. 서버 시작·종료, 업데이트, 백업·복원 단추. |
| 접속 연결 | nooguna-nginx |
모든 요청의 입구(:80). 주소를 보고 회계 화면·회계 서버·자료 수집으로 나눠 보냅니다. |
| 회계 화면 | nooguna | 브라우저에 보이는 화면 (Next.js). |
| 회계 서버 | nooguna-api | 회계 처리 본체. 자료 보관(DB)을 씁니다. |
| 자료 수집 | nooguna-scrap-daemon | 외부 자료 수집 업체의 결과를 받습니다. |
| 자료 보관 (DB) | nooguna-postgres |
회계 자료가 실제로 있는 곳. 사무실마다 스키마 하나(업체코드 이름)를 씁니다. |
| 자료 백업 | nooguna-postgres-backup | 정해진 시각에 DB 를 본사 저장소로 백업합니다 (설정된 고객사만). |
| 외부 접속 | nooguna-tunnel (frpc) |
③ 중계 서버 연결. 이 PC 의 장비 식별값을 함께 보내 ⑥ 확인을 받습니다. |
| 이름 | 포트 | 하는 일 |
|---|---|---|
| Traefik | 443 | 바깥 HTTPS 입구. 인증서를 관리하고 고객사 주소를 중계 서버로, 관리 콘솔 주소를 인증 서버로 보냅니다. |
| 중계 서버 (frps) | 7000, 8080 | 7000: 고객사 PC 가 연결해 오는 곳. 8080: Traefik 이 넘겨주는 요청을 받는 곳. 설정은 /etc/frp/frps.toml. |
| 인증 서버 (node) | 8081 | 관리 콘솔(이 화면), 설치 API, 중계 서버 플러그인. 서비스 이름 nooguna-provision. |
설치
- 영업사원이 설치 파일을 실행하고 고객의 누구나 서비스 이메일을 넣습니다.
- 인증 서버가 ⑦ 누구나 서비스에 물어 업체를 확인하고, 화면에 업체명·업체코드를 보여 줍니다. 이미 다른 PC 에 설치된 계정이면 그 PC 정보를 보여 주고 교체할지 묻습니다.
- 설치 환경 검사(윈도우·가상화·디스크) → 필요하면 Docker Desktop 설치 → 재시작 후 자동으로 이어짐.
- ⑤ 프로그램을 받고, 비밀번호·포트를 정해 서비스를 올립니다. 업체코드 이름으로 회사 자료(스키마)를 만듭니다.
- 화면과 백엔드가 실제로 열리는지 확인하고, 결과를 인증 서버에 보고합니다. 관리 프로그램이 트레이에 뜹니다.
업데이트
- 관리 프로그램이 30분마다 Docker Hub 의 지문과 PC 의 지문을 비교해 새 버전을 확인합니다 (받지는 않음).
- 새 버전이 있으면 오른쪽 아래에 알림. [업데이트]를 누르거나 예약 시각(업무 시간 밖)이 되면 진행합니다.
- 받기 → 자료 백업 → 재기동 → 화면 진입점(nginx)까지 열리는지 확인.
- 확인에 실패하면 이전 버전으로 자동 복원합니다. 그래도 안 뜨면 방금 뜬 백업으로 DB 까지 되돌립니다.
백업 · 복원
- [백업] 은 DB 전체를
C:\Nooguna\backup\db_날짜.dump로 받습니다. 최근 3개만 남깁니다. - [복원] 은 시점을 골라 DB 전체를 그때로 되돌립니다. 시작 전에 지금 상태를 한 번 더 백업합니다. 복원하는 동안 회계 화면을 쓸 수 없습니다. 자료가 많으면 오래 걸립니다.
PC 교체
- 새 PC 에서 설치하면 "이미 다른 컴퓨터에 설치되어 있습니다" 와 함께 기존 PC 정보(이름·사용자·IP·설치한 때·마지막 연결)가 뜹니다.
- [예]를 누르면 등록이 새 PC 로 옮겨지고 기록에 "장비 교체" 로 남습니다.
- 옛 PC 는 업데이트·보고가 막히고, ⑥ 확인에서 외부 접속도 끊깁니다 (30초 안).
- 회계 자료는 옮겨지지 않습니다. 옛 PC 에서 [백업]한 파일을 새 PC 의
C:\Nooguna\backup에 넣고 [복원]합니다.
scripts | 설치·업데이트·부팅·제거 스크립트. 설치 프로그램을 다시 실행해야 바뀝니다 (업데이트는 이미지만 받음). |
agent | 관리 프로그램. |
compose | 서비스 구성(docker-compose.yml, .env, nginx.conf, frpc.toml). |
config | 이 PC 가 누구인지(고객사 코드·설치 아이디), DB 암호. 함부로 지우면 안 됩니다. |
backup | DB 백업 파일. 제거할 때 "모두 삭제" 를 고르지 않으면 남습니다. |
logs | 설치·업데이트·관리 프로그램 기록. [로그 올리기 요청] 때 여기서 올라옵니다. |
| (회계 자료) | 이 폴더가 아니라 Docker 가상 디스크(docker_data.vhdx) 안에 있습니다. |
| 화면 파일 바꿈 | src/web/* 는 올리기만 하면 됩니다 (브라우저에서 Ctrl+F5). |
| 서버 코드 바꿈 | src/*.js 는 올린 뒤 sudo systemctl restart nooguna-provision 이 필요합니다. |
| 올리면 안 되는 것 | config.json, data/ — 서버에 있는 것이 진짜입니다. 덮어쓰면 자격증명·고객사 목록이 사라집니다. |
| 중계 서버 확인 연결 | config.json 의 frpPluginSecret 과 frps.toml 의 path 가 같아야 합니다.
인증 서버가 멈추면 중계 서버의 확인도 실패해 외부 접속이 끊길 수 있습니다. 재시작은 짧게 하십시오. |
회계 프로그램이 영수증 사진·PDF·문서를 올리고 보는 곳입니다. 클라우드판은 이 서버가 Azure 에,
로컬판은 고객 PC 의 C:\Nooguna\files 에 둡니다. 부르는 방법은 같습니다.
회계 프로그램이 부르는 것과 같은 처리를 탑니다. 여기서 되면 회계 프로그램에서도 됩니다.
아래 값은 config.json 에 있습니다. 바꾸려면 그 파일을 고치고 서버를 다시 띄우십시오.
Docker Hub 에 실제로 물어봅니다. 여기서 실패하면 설치도 이미지 내려받기에서 실패합니다.
비밀번호를 잊었다면 서버에서 npm run passwd 를 실행하십시오.