맥미니를 홈서버·셀프호스팅 장비로 운영하는 데 필요한 셋업, 전력·발열, 소프트웨어 팁을 모읍니다.
사진, 영상, 스크린샷 같은 참고 자료를 한곳에 모아 보고, 폴더로 나누고, 태그와 메모를 붙일 수 있는 자체 운영 웹 도구가 필요하다. 현재 쓰는 Eagle.cool은 개인 컴퓨터 안에서만 쓰기 좋고, 폴더 구조가 지저분해지는 문제가 있다. Immich는 개인 사진 관리용으로 이미 쓰고 있어 자료용 라이브러리로 따로 오가야 하는 점이 번거롭다. Stash는 영상 관리 기능은 괜찮지만 성인 콘텐츠 중심의 분류 방식이 맞지 않는다. Pinry는 더 이상 활발히 업데이트되지 않고 폴더 기능이 부족하다. Karakeep은 영상 지원이 없어 요구에 맞지 않는다. 필요한 조건은 도커 컴포즈로 설치하고, Portainer에서 관리하며, 영상과 사진은 NAS에 저장하고, 폴더와 하위 폴더, 주석, 태그, 웹 화면, Nginx를 통한 외부 접속을 지원하는 것이다. 영상 썸네일에서 미리보기가 되면 더 좋다.
27인치 모니터 하나를 업무용 윈도우 노트북과 Mac mini M4가 함께 쓰고 있다. Logitech MX Keys 키보드는 두 기기 사이를 빠르게 바꿀 수 있어서 입력 전환은 불편하지 않다. 화면은 매번 전환하기 번거로워서 27인치 모니터 아래에 둘 7~10인치 작은 보조 화면이 필요하다. HDMI 스위치도 써봤지만 사용감이 맞지 않아, 맥미니 화면을 늘 바로 볼 수 있는 별도 소형 모니터를 찾는 상황이다.
Mac mini의 전원 버튼이 아래쪽에 있어도 기기를 살짝 들어 올리면 누를 수 있다. 버튼을 눈에 잘 띄지 않는 곳에 두면 겉모습은 더 깔끔하고 끊김 없는 형태가 된다. 아래쪽 버튼 배치에 대한 비판은 실제 사용에서 생각보다 크게 불편하지 않을 수 있다. 핵심 쟁점은 디자인의 깔끔함과 손으로 누르기 쉬운 위치 사이의 균형이다.
맥 M3 16GB 환경에서 통합 개발 환경, 데이터베이스, 도커 이미지, 엑셀, 포스트맨, 크롬을 함께 쓰면 압축 메모리가 많이 늘어날 수 있다. 여러 개발 도구와 브라우저를 동시에 켜는 작업에서는 16GB 메모리가 빠듯하게 느껴질 수 있다. 그래서 맥 미니 M4 24GB 메모리와 512GB 저장 공간 모델로 바꾸는 선택이 검토되고 있다. 핵심 고민은 성능만이 아니라 오래 쓸 수 있는지, 그리고 수입이 줄어든 상황에서 업그레이드 비용을 감당할 만한지다.
맥 미니에서 OpenClaw와 함께 로컬 대규모 언어 모델을 돌리기 위한 설정 가이드가 공개됐다. 대상은 메모리 16GB에서 24GB인 macOS 환경이다. 모델은 qwen 3.5를 양자화한 버전으로, OpenClaw에 맞게 설정하는 방식이다. 설정이 제대로 끝났는지 확인할 수 있는 테스트 스킬도 포함되어 있다. 목표는 로컬 모델을 OpenClaw에 붙일 때 생기는 설정 부담을 줄이는 것이다. 문제가 생기면 댓글로 알려 달라는 안내도 함께 있다.
NAS용 하드디스크를 고를 때 필요한 정보를 한곳에서 비교할 수 있는 사이트가 공개됐다. nasdisks.com은 현재 판매 중인 NAS 드라이브를 큰 표로 보여주며, 모델별 CMR/SMR 방식, 실제 고장률, 실시간 가격을 함께 제공한다. 고장률은 제조사 홍보 자료가 아니라 Backblaze의 2025년 전체 통계를 바탕으로 계산됐다. 가격은 미국, 독일, 영국, 프랑스, 스페인, 이탈리아, 캐나다 7개 지역의 테라바이트당 가격으로 비교할 수 있다. 드라이브별 작은 가격 기록 차트도 있어 할인처럼 보이는 가격이 실제로 좋은 가격인지 판단하는 데 도움이 된다. 계정 가입, 광고, 이메일 제출 없이 쓸 수 있고, 전체 CSV/JSON 데이터셋은 CC BY 4.0으로 무료 다운로드할 수 있다. 직접 자동화에 연결할 수 있는 API도 제공된다.
하루 방문자가 약 100명인 공개 웹사이트에서 방문 통계를 더 자세히 모으고 싶다는 요구다. 현재는 Plausible을 쓰고 있지만, 가능하면 직접 서버에 설치해 운영할 수 있는 다른 분석 도구를 찾고 있다. 광고 수익화는 없고 앞으로도 광고를 붙일 계획이 없다. 목적은 마케팅보다 통계 확인에 가깝다. GDPR을 지키면서 쿠키 동의 알림을 띄우지 않아도 되는 방식이면 더 좋다. 핵심 요구는 작은 사이트에서도 부담 없이 운영되고, 가능한 한 많은 방문 데이터를 모을 수 있는 자체 호스팅 분석 도구다.
교실에 있는 12대의 M1 Mac Studio 중 8대가 갑자기 자체 할당 IP 상태가 됐다. 이 상태는 보통 장비가 네트워크에서 정상 IP 주소를 받지 못했다는 뜻이다. 문제 장비들은 3년 동안 같은 자리에서 잘 쓰였고, 금요일까지 작동했지만 월요일 아침부터 관리 시스템에 접속하지 못했다. 같은 네트워크 포트에 Mac 노트북을 꽂으면 정상 IP를 받았고, 문제 장비에 Thunderbolt 이더넷 어댑터를 연결하면 네트워크가 됐다. 그래서 문제는 네트워크 포트보다 Mac Studio의 내장 NIC 쪽에 가까워 보인다. 한 대를 지우고 JAMF 프로필을 모두 제거해도 증상은 그대로였다. 문제가 있는 자리에 정상 장비를 옮기면 정상 IP를 받았기 때문에, 특정 자리나 케이블만의 문제로 보기는 어렵다.
MiniMax M3, GLM-5.1, Nemotron 3 Ultra는 코딩 보조와 추론 작업을 겨냥한 최신 오픈 가중치 모델이다. 성능 점수 차이는 크지 않아서, 실제 선택 기준은 점수보다 직접 돌릴 수 있는 장비, 라이선스, 에이전트 연결 방식이다. 세 모델 모두 서버급 장비가 필요하다. 현실적으로 8개 H100 또는 8개 H200 그래픽처리장치가 있는 장비, 또는 4~8개 B200 그래픽처리장치가 필요하며, 시간 단위로 빌려 쓰는 방식도 고려해야 한다. 단일 그래픽처리장치, 노트북, 집 안의 작은 서버 환경에는 맞지 않는다. MiniMax M3는 총 4270억 매개변수 중 260억 매개변수를 활성화하는 MoE 모델이고, 100만 토큰 문맥을 지원하며, MiniMax Community License를 쓴다. GLM-5.1은 총 7540억 매개변수의 MoE 모델이고, 약 20만 토큰 문맥을 지원하며, MIT 라이선스를 쓴다. 직접 운영은 개인정보 보호, 대량 처리, 미세조정이 필요할 때 의미가 있고, 단순히 API 비용을 조금 아끼려는 목적에는 맞지 않는다.
Corvus는 팀과 커뮤니티가 직접 운영할 수 있는 대화 플랫폼이다. 목표는 Discord나 Slack처럼 채팅과 음성 대화를 제공하되, 운영자가 자기 서버에 올려서 데이터와 접근 방식을 더 직접 관리할 수 있게 하는 것이다. 실시간 메시지, 서버, 채널, 역할, 권한, 초대, 개인 대화, 단체 대화, 스레드, 반응, 임베드, 입력 중 표시가 포함된다. 음성·영상 채널은 LiveKit을 통해 처리하고, 화면 공유와 눌러서 말하기 기능도 계획에 들어 있다. 데스크톱 앱은 무거운 Electron 대신 더 가벼운 Tauri로 만들며, 기본 알림을 지원한다. 무대 채널, 칸반 보드, 문서, GitHub 코드 리뷰 화면도 목표 기능에 포함된다. 뒷단은 직접 운영할 수 있으며 Postgres와 Supabase를 사용한다. 아직 초기 단계라 지금 당장 Discord나 Slack을 대체할 완성품은 아니다.
Uhella는 Mac mini에서 실행되는 iCloud 사진 관리 도구다. 설치하고 켜 두면 iCloud에 “Keep Forever”라는 특별 앨범을 만든다. 사용자는 iCloud 안에 남겨 둘 사진 수를 정할 수 있다. 정한 수를 넘으면 오래된 사진이 자동으로 백업 아카이브로 옮겨진다. 이 과정은 사용자가 매번 직접 정리하지 않아도 Uhella가 알아서 처리한다. 소스 코드는 GitHub에 공개되어 있다.
예산 약 1000달러로 새 홈랩 서버를 만들려는 구성이다. 이미 UDM Pro, 라즈베리 파이 3대, Pi-hole을 쓰고 있으며, 랙 장착형 UniFi 전원 공급 스위치를 추가할 계획이다. 새 서버에는 Proxmox를 올리고, 여러 가상 머신과 도커 컨테이너를 돌릴 예정이다. 실행하려는 서비스는 Jellyfin, Immich, Home Assistant, 마인크래프트 서버, 쿠버네티스 학습 환경이다. 코딩과 안드로이드 앱 개발에도 쓰고, 나중에는 가벼운 인공지능 실험도 생각하고 있다. 인터넷은 2.5기가비트 광회선이고, 10기가비트 네트워크 카드를 추가하려 한다. 시작 메모리는 64기가바이트를 원하며, 여러 개의 NVMe 저장장치를 꽂을 여유도 필요하다. 오래된 Xeon 서버보다는 최신 Ryzen이나 Intel 기반 구성을 더 선호한다.
스포티파이를 끊고 직접 운영하는 음악 스트리밍 환경을 만들려면, 단순히 내 서버에 있는 음악 파일을 재생하는 기능만으로는 부족하다. 원하는 형태는 스포티파이나 타이달처럼 휴대폰과 컴퓨터에서 모두 쓰는 현대적인 음악 앱에 가깝다. 핵심 요구는 외부 서비스, 토렌트, 음악 관리 도구 같은 곳에서 곡을 찾아 바로 스트리밍하고, 추천 기능을 제공하며, 온라인 공개 재생목록을 검색할 수 있는 것이다. 직접 재생목록을 만들 수 있어야 하고, 가능하면 들은 곡을 서버에 자동으로 임시 저장했다가 오래 쓰지 않으면 지우는 방식도 원한다. 휴대폰에서 오프라인 재생까지 되면 더 좋다. Navidrome은 후보로 봤지만, 이런 요구를 모두 만족하는지 확실하지 않다.
Trinket.io가 서비스를 종료하면서 소스 코드를 오픈소스로 공개했다. 덕분에 같은 기능을 다른 사람이 다시 실행할 수 있게 됐다. 현재 Trinket은 https://trinket.strivemath.org/ 에서 무료로 계속 이용할 수 있다. 사라지는 웹서비스가 소스 코드 없이 닫히면 사이트, 소프트웨어, 게임, 작은 도구가 영영 접근 불가능해질 수 있다. 이번 사례는 서비스 종료 때 오픈소스로 공개하면 다른 운영자가 이어받아 보존할 수 있다는 점을 보여준다.
papersweep.eu는 여러 종이 문서를 한 번에 스캔해 만든 큰 PDF를 자동으로 나누고 정리한다. 빈 페이지를 기준으로 PDF를 여러 문서 구간으로 쪼갠 뒤, Mistral AI OCR이 각 페이지의 글자를 읽는다. 그다음 Mistral AI를 한 번 더 사용해 문서를 청구서, 세금 문서, 보험, 급여명세서, 계약서, 의료 문서 등 16가지 종류로 분류한다. 결과물은 분류된 폴더가 들어 있는 ZIP 파일과 Excel 기록표로 나온다. 같은 묶음 안에 여러 유럽 언어 문서가 섞여 있어도 처리할 수 있고, 문서 언어를 알아본 뒤 폴더명과 파일명을 같은 언어로 만든다. 계정과 쿠키는 필요 없고, 파일은 유럽 서버에서 2시간 안에 자동 삭제되거나 요청하면 즉시 삭제된다.
맥미니 M4를 밤낮없이 계속 돌리며 AI 개발 작업을 하면 냉각을 신경 써야 할 수 있다. 작업 내용은 Codex와 Claude Code 실행, Hermes agent에 연결된 6개의 하위 에이전트 사용, MiniMax 3를 활용한 앱 개발이다. 핵심은 맥미니가 작고 조용한 데스크톱이라도, 계속 높은 부하를 받으면 일반 사무용 컴퓨터처럼만 다루기 어렵다는 점이다. 온도 수치, 실제 냉각 방법, 냉각 전후 비교는 제시되지 않았다.
NZBdav와 AIOstreams를 도커 컴포즈 템플릿으로 띄운 뒤, Stremio 또는 Nuvio에서 검색 결과는 정상적으로 나온다. 하지만 스트림을 선택해 내려받고 보려고 하면 항상 “/data 경로 접근이 거부됨” 오류가 난다. 컨테이너 폴더 권한은 맞게 설정한 것으로 보이지만, 실제로는 컨테이너 안에서 쓰려는 /data 경로와 호스트 쪽 연결 폴더, 사용자 아이디 설정, 그룹 아이디 설정 중 어딘가가 맞지 않을 가능성이 있다. 설정에는 시간대, 사용자 아이디, 그룹 아이디, 재시작 정책, 도커 네트워크, Traefik 라우터, Authelia 보호, nzbdav 데이터 폴더 연결이 들어가 있다. 가져오기 방식은 STRM 파일 방식으로 설정되어 있다.
작은 홈 서버는 AMD Ryzen 3500, Nvidia P2000 그래픽 카드, DDR4 메모리 32GB, 3TB HDD 4개, 2TB HDD 2개, 250GB SSD 2개, LSI9300-16i 12G 저장장치 카드로 구성되어 있다. 현재 TrueNAS를 시험 중이지만 사용 방식이 잘 맞지 않아 다른 운영체제를 찾고 있다. 원하는 조건은 무료이고, 처음 운영하는 사람이 이해하기 쉬운 홈 서버용 운영체제다. 핵심 고민은 많은 저장장치를 안정적으로 다루면서도 설정과 관리가 너무 복잡하지 않은 선택지를 찾는 것이다.
Jellyfin을 직접 설치하면서 영화와 TV 프로그램 폴더를 원하는 위치로 지정하려고 했지만, 설치 화면에서 1900번 포트가 이미 사용 중이라고 나온다. 환경은 새로 설치한 Zorin이며, Jellyfin이 처음 설치하려는 앱이다. 즉, 사용자가 따로 여러 앱을 올려 둔 상태에서 생긴 충돌이 아니라, 거의 빈 서버 환경에서도 기본 서비스나 시스템 구성 때문에 포트 충돌이 날 수 있는 상황이다. 현재 필요한 것은 어떤 프로그램이 1900번 포트를 쓰는지 확인하고, Jellyfin 설정이나 기존 서비스 설정을 조정하는 방법이다.
집에서 Jellyfin 미디어 서버를 운영하는 환경에서 일부 영상 파일이 재생 중 오래 멈춘다. 같은 화질의 다른 드라마나 영상은 집 안 네트워크와 Tailscale로 밖에서 접속했을 때 모두 바로 재생된다. 업로드 속도는 900Mbps라서 회선 문제일 가능성은 낮다. 변환 작업에는 RTX 3060 그래픽카드를 따로 쓰고 있고, Docker 안에서도 그래픽카드 연결이 작동한다. 주로 블루레이 1080p 리먹스 파일을 보관해 사용한다. 문제는 전체 서버 성능보다 특정 파일 하나의 형식, 인코딩 방식, 자막, 오디오 트랙, 또는 Jellyfin의 변환 처리와 관련됐을 가능성이 크다.
Ghost CMS가 방문자 증가나 업데이트 작업 없이 갑자기 CPU를 100%까지 사용했다. 컨테이너를 다시 시작하면 몇 분 동안만 괜찮아졌다가 같은 문제가 다시 생겼다. 원인은 SQLite 데이터베이스 안의 `welcome_email_automation_runs` 기록 하나였다. 그 기록의 `next_welcome_email_automated_email_id` 값이 실제로 존재하지 않는 이메일을 가리키고 있어서, Ghost CMS가 환영 이메일 처리를 끝내지 못하고 계속 다시 시도했다. `sqlite3 /path/to/ghost.db "UPDATE welcome_email_automation_runs SET next_welcome_email_automated_email_id=NULL;"` 명령으로 해당 값을 비우자 바로 CPU 사용량이 내려갔다. 다시 시작은 필요 없었다. SQLite를 쓰는 설정에서 더 자주 생기는 문제인지, MySQL 설정에서도 생기는지는 아직 분명하지 않다.
라즈베리 파이 4B에서 역방향 프록시를 따로 돌릴 때, 도메인으로 접속한 서비스 속도가 직접 접속보다 크게 낮아졌다. 같은 LAN 안에서 원격 접속이 아닌 상태로 시험했는데, FQDN으로 접속하면 약 350Mbps까지 떨어졌고 IP:포트로 바로 접속하면 약 600Mbps가 나왔다. 역방향 프록시를 2.5기가비트 연결이 있는 주 컴퓨터로 옮기자 직접 접속과 비슷한 속도가 나왔다. 그래서 병목은 역방향 프록시 장비나 그 네트워크 연결일 가능성이 높다. 다만 주 컴퓨터를 자주 손보는 동안에도 외부 진입 지점을 안정적으로 유지하고 싶어서, 역방향 프록시는 별도 장비에 두려는 요구가 있다. 라즈베리 파이 랙 선반에 들어갈 정도의 작은 크기와 2.5기가비트 또는 기가비트 포트 2개 이상을 갖춘 대안 장비가 필요하다. Radxa X4가 조건에 잘 맞아 보였지만, 구하기 어렵고 합리적인 가격의 매물도 찾기 힘든 상태다.
채용 공고에서 AWS 경험을 자주 요구하는 이유가 비용보다 운영 능력 때문인지 묻는 내용이다. 직접 서버를 운영하면 더 싸게 보일 수 있지만, 필요할 때 서버 자원을 자동으로 늘리고 줄이는 기능이 핵심 차이일 수 있다. 특히 방문자가 갑자기 늘 때 서비스가 멈추지 않게 처리하는 자동 확장을 직접 운영 환경에서도 구현할 수 있는지에 초점이 있다.
목표는 Proxmox가 설치된 Dell Precision 5820에 macOS 가상 머신을 만들어, 실제 Mac 노트북처럼 쓰면서 Apple 기기 관리를 연습하는 것이다. 연습하려는 내용은 기기를 Intune에 등록하기, Intune에서 Apple 기기로 앱 보내기, 다른 MDM 도구로 Apple 기기 관리하기, Intune에서 필요한 Apple 인증서 조건 이해하기다. 하드웨어는 i9-10980XE, 메모리 128GB, 1TB SSD, VT-x 지원 구성을 갖췄다. 필요한 수준은 단순 실행이 아니라 성능 문제가 적고 실제 업무용 Mac에 가까운 macOS 환경이다. 핵심 고민은 macOS 설치 파일을 어디서 구하고 어떤 버전을 골라야 하는지, Proxmox에서 성능 문제를 어떻게 피할지, Apple 라이선스와 법적 문제를 어떻게 처리할지다. Windows를 오래 써 왔고 Linux와 보안 업무에는 익숙하지만, Mac 자체는 새로 배워야 하는 상황이다.
국제 SIM 카드 한 장을 인증 문자 수신용으로 두고, 받은 문자를 현재 쓰는 휴대폰으로 다시 전달하려는 상황이다. 전달 방식은 이메일, 알림, 웹훅, 또는 API처럼 자동화에 연결할 수 있는 방법이면 된다. 가능한 구성으로는 SIM 카드를 꽂는 모뎀을 서버에 연결하는 방법과, 오래된 휴대폰에 문자 전달 앱을 설치해 중계기로 쓰는 방법이 언급된다. 아직 실제로 성공한 구성, 특정 제품명, 통신사 조건은 제시되지 않았다.
음원 스트리밍 서비스에서는 좋아하던 노래가 시간이 지나며 사라질 수 있다. 저작권 문제, 지역별 법, 아티스트의 삭제 요청, 특정 버전만 남는 문제 때문에 재생목록의 곡 수가 줄어들 수 있다. 일부 서비스는 개인이 가진 음원을 올려서 보관하는 기능도 제한적일 수 있다. 목표가 좋아하는 노래를 잃지 않는 것이라면, 직접 호스팅한 음악 서버가 더 안정적인 선택이 될 수 있다. 다만 Spotify 같은 서비스가 주는 추천, 편의 기능, 플랫폼 전용 기능까지 모두 대신하기는 어렵다. 핵심 고민은 재생목록 보존을 우선할지, 스트리밍 서비스의 편리한 기능을 우선할지다.
기증받은 MacBook Pro에 이전 소유자의 Apple ID가 남아 있다. 이전 소유자가 계정을 지우지 않았고, macOS 복구 모드로 들어가 초기화하려 해도 FileVault 복구 키를 요구해 진행이 막힌 상태다. 그 복구 키도 알 수 없다. 핵심 문제는 이전 소유자에게 연락하기 전에 공장 초기화가 가능한지 여부다.
Mac Mini G4의 그래픽 칩이 고장 난 상태다. 흔히 구할 수 있는 ATI 9000이나 ATI 7500 계열 칩으로는 맞지 않고, 이 기기에는 ATI 9200 SE 칩이 필요하다. 같은 9200 SE 그래픽 카드는 이베이에서 약 20달러에 찾았지만, 그 카드를 분해해 칩만 떼어 쓰는 방식은 멀쩡한 부품 하나를 희생하는 선택이다. 대체 부품으로는 “215L74AVA12PH” 또는 “215J78AVA12PH” 칩을 찾고 있다. 그래픽 칩을 제거하기 전에는 화면 출력에 문제가 있었다.
개인 경험 기준으로, 월 20달러짜리 Claude Pro 계정과 Claude Code만으로 55분 만에 맥용 빠른 메모 앱을 만들었다. 참고 자료는 화면 한 장뿐이었고, 첫 요청은 94단어였으며, 이후에는 승인과 짧은 수정 요청을 반복했다. 결과물은 1.4메가바이트짜리 작은 네이티브 앱으로, 맥 미니에 설치해 지금까지 문제없이 작동했다. 이 앱은 Craft Documents 계정과 연결된다. 통화 녹음이 어려운 상황에서 빠르게 메모하거나 이미지를 넣고, 원하는 Craft 문서를 고르거나 검색해 바로 덧붙일 수 있다. 전체 Craft 앱을 계속 켜두지 않아도 되고, 로그인할 때 자동으로 실행되며, 단축키나 메뉴 막대에서 바로 열 수 있다. 코딩 경험은 HTML과 CSS를 조금 고치는 수준이어도 이런 작은 개인용 도구를 만들 수 있었다는 점이 핵심이다.
Fluxer는 사용자가 직접 운영할 수 있는 오픈소스 채팅 앱이다. 내부 개발 내용을 다시 공개 저장소로 돌리고, 직접 설치 기능을 공식 지원하기 시작했다. 설치 문서와 미리 만들어진 Docker 이미지가 제공되며, 안정성을 높이기 위한 수백 개의 버그 수정도 포함됐다. Android 앱은 공개됐고, iOS 앱은 비공개 베타로 제공된다. 모바일 앱은 아직 완성도가 낮은 상태이며, 현재는 직접 운영하는 서버에 연결할 수 없다. Google Play Services가 없는 기기에서도 시험이 필요해 Android 앱을 먼저 열어 둔 상태다. 안정판이 되면 여러 앱 스토어에 올릴 계획이다.