Google Flow 한국어 나레이션·자막과 배경음악이 있는 손그림 설명 영상입니다. 공개 코드·공식 문서를 바탕으로 만든 설명도이며 실제 설치·실행 녹화가 아닙니다.
02 · 실제 앱 화면
공식 문서의 실제 화면으로 먼저 보세요
Postiz 공식 문서(postiz-docs)에 실린 화면이에요. 채널 추가부터 고객별 채널 묶음, 주간 캘린더, 미디어 보관함, 설정, AI 에이전트까지 골라 볼 수 있어요. 문서용 예시 데이터로 찍은 화면이고, 채널 목록이 보이는 화면에는 v2.23.0 표기가 있어 v2.25.1과 다를 수 있어요.
올릴 계정을 고르는 Add Channel 창채널 연결 문서의 화면이에요. 원문은 채널을 연결된 소셜 계정 하나라고 설명하고, 캘린더 왼쪽의 Add Channel을 누르면 플랫폼에 따라 OAuth 이동, 직접 넣는 자격 증명, 인스턴스 주소, 브라우저 확장 중 하나로 연결된다고 적어요. 직접 설치에서는 키를 넣지 않은 플랫폼도 이 목록에 그대로 보이고, 누르면 연결에 실패한다고 해요. 아이콘이 보인다고 내 계정이 연결되는 건 아니에요. 아래쪽이 잘린 것은 원본 이미지 그대로예요.
화면: gitroomhq/postiz-docs 공식 문서 이미지(커밋 d0a587d8, 2026-10-19 확인), Copyright (c) 2023 Mintlify, MIT 라이선스. 깃밥이 너비 2000px 이하로 줄이고 WebP로 바꿨을 뿐 내용은 고치지 않았어요. Acme Coffee·Northwind 같은 이름과 글은 문서의 예시 데이터이고, 채널 목록이 보이는 화면의 v2.23.0 표기처럼 예전 버전 화면이라 v2.25.1과 다를 수 있어요. 공식 문서에는 글쓰기(composer) 화면이나 실제로 발행된 글의 화면이 없어서 싣지 않았어요. 플랫폼 이름과 로고는 각 소유자의 것이에요. 깃밥이 찍은 화면이 아니며, Postiz가 깃밥을 보증하지 않아요.
03 · 바로 시작하기
Docker Compose로 켜고, 초안 하나까지
직접 설치는 공식 문서가 권장하는 Docker Compose 저장소로 시작해요. 서버를 맡길 사람이 없다면 Postiz Cloud가 있어요. 명령어 옆 복사 버튼을 누르고 서버의 터미널에 붙여넣으면 돼요.
원본 v2.25.1(2026-10-11 UTC 릴리스) 기준 · 설치 문서는 2026-10-19에 읽음 · 깃밥이 직접 설치하거나 실행해 보지는 않았어요. v2.25.1 릴리스 노트는 보안 권고 PSA-2026-4QX1WG를 고쳤다며 모든 사용자에게 바로 올리라고 권해요. 그래서 이 글은 v2.25.1 이상을 기준으로 해요. 설치 문서(gitroomhq/postiz-docs)와 Compose 저장소(gitroomhq/postiz-docker-compose)는 버전 태그가 없고 v2.25.1보다 새 내용일 수 있어서, 깃밥은 2026-10-19 기준 각 저장소의 최신 커밋(d0a587d8, dd4969e5)에 고정해 읽었어요. Compose 파일은 ghcr.io/gitroomhq/postiz-app:latest 이미지를 받는데, latest는 새 버전이 나올 때마다 그 버전으로 옮겨 가요. 요구 사양은 최소 2 vCPU·RAM 2GB·디스크 20GB(혼자 가끔 올리는 정도이고 여유가 없다고 해요), 권장 4 vCPU·RAM 8GB·디스크 50GB와 업로드용 영구 볼륨이에요. 사용자가 여럿이거나 예약 작업이 많으면 RAM 4GB 이상을 잡으라고 해요.
어떻게 시작할까요
Docker Compose (공식 권장)
Docker가 설치된 서버나 PC에서 직접 운영할 때 (원문은 Ubuntu 24.04, RAM 2GB, 2 vCPU 가상 머신에서 시험했다고 적어요)
공식 문서의 설치 순서예요. Compose 저장소를 받고(1단계), docker-compose.yaml의 변수를 고치고(2단계, 아래 '처음 할 일' 1번), docker compose up으로 시작한 뒤(3단계) 다 뜰 때까지 기다려요(4단계). 저장소에는 docker-compose.yaml과 Temporal이 쓰는 dynamicconfig 폴더가 함께 들어 있어서, 원문은 파일을 복사해 쓰지 말고 저장소에서 받으라고 해요. 깃밥이 compose 파일을 읽어 보니 서비스가 9개예요: Postiz 앱, PostgreSQL 두 개(Postiz용·Temporal용), Redis, Elasticsearch, Temporal, Temporal 관리 도구, Temporal UI, Spotlight(debug 프로필을 켤 때만 시작).
깃밥 덧붙임: 문서의 설치 단계에는 cd 줄이 없어요. 같은 문서가 '복제한 저장소 폴더에서' 실행하라고 적고, 마이그레이션 문서도 cd ./postiz-docker-compose로 시작해서 한 줄을 더했어요. 원문 명령은 -d 없이 실행하므로 로그가 터미널에 계속 나와요. 원문은 변수를 바꾼 뒤 docker compose down 다음 docker compose up으로 컨테이너를 다시 만들라고 해요.
Postiz Cloud (운영을 맡길 때)
서버와 플랫폼 개발자 앱을 맡을 사람이 없을 때
https://postiz.com
직접 설치하는 것과 같은 오픈소스 앱을 Postiz가 운영해요. 플랫폼별 개발자 앱이 이미 등록돼 있어 연결 버튼만 누르면 되고, 서버와 업데이트도 맡아요. 대신 채널 수 같은 한도가 요금제마다 정해져 있어요.
Cloud에는 무료 요금제가 없어요. 구독하기 전에는 앱 대신 요금제 선택 화면만 보이고, 새 조직에는 보통 7일 체험을 줘요. 체험을 시작하려면 결제 수단이 필요하고, 카드가 진짜인지 확인하려고 소액 승인을 걸었다가 바로 풀어요. 7일째에 고른 요금제로 결제되니, 원하지 않으면 그 전에 취소하세요.
고급 설치 방법 (공식 문서가 권하지 않는 길)
Docker Compose가 맞지 않는 특별한 환경일 때
설치 문서가 '고급 방법'으로 따로 두는 길이에요. Postiz 컨테이너만 직접 띄우고 DB·Redis·Temporal은 따로 준비하는 Docker 단독 실행, 커뮤니티 Helm 차트로 Kubernetes에 배포하기, VS Code 개발 컨테이너가 있어요. 이 페이지들에는 모두 '권장하는 설치 방법이 아니다'라는 경고가 붙어 있어요. Postiz 코드를 고치려는 사람에게는 소스에서 실행하는 개발 환경이 따로 권장돼요.
npm install -g postiz는 Postiz를 설치하는 명령이 아니에요. CLI 문서는 이것을 Postiz 공개 API를 감싼 명령줄 도구라고 설명해요. 이미 돌아가는 Postiz(Cloud나 직접 설치한 서버)에 OAuth 로그인이나 POSTIZ_API_KEY로 연결해서 AI 에이전트나 스크립트로 글을 예약하는 용도이고, 직접 설치한 서버에 쓰려면 POSTIZ_API_URL을 그 주소로 지정해요.
받은 폴더의 docker-compose.yaml에서 두 값을 먼저 바꿔요. JWT_SECRET은 기본 문장('random string that is unique to every install - just type random characters here!') 대신 설치마다 다른 임의의 긴 문자열로, PostgreSQL 기본 비밀번호 postiz-password는 다른 값으로요. 깃밥 덧붙임: 이 비밀번호는 POSTGRES_PASSWORD와 DATABASE_URL 두 줄에 들어 있어서 둘 다 같은 값으로 바꿔야 하고, DB가 처음 만들어지기 전에 바꾸는 게 안전해요. 다른 기기에서 서버 주소로 열 거라면 MAIN_URL·FRONTEND_URL·NEXT_PUBLIC_BACKEND_URL의 localhost:4007 부분도 그 주소로 바꿔야 해요(원문: 백엔드 주소는 사용자 브라우저에서 닿아야 해요). 원문은 설정을 compose 파일, /config에 붙이는 postiz.env, compose 옆 .env(비권장) 중 어디에 둬도 된다고 해요.
시작하고 브라우저로 열기
docker compose up 다음, 원문은 주소를 바꾸지 않았다면 http://localhost:4007 로 프런트엔드에 들어가라고 해요. Temporal 작업 화면은 http://localhost:8080 이에요. 원문이 엇갈려요: Compose 저장소 README는 https://localhost:4007 로 열라고 적지만, 설치 문서와 compose 파일의 MAIN_URL은 http예요. 깃밥은 http 주소를 적었어요.
http://localhost:4007
http에서 로그인이 안 될 때
원문은 Postiz가 로그인 쿠키를 Secure로 표시하므로, HTTPS 인증서를 쓸 수 없으면 .env에 NOT_SECURED=true를 넣으라고 하면서 개발 환경에서만 쓰라고 경고해요(설정 문서는 운영에서는 절대 쓰지 말라고 적어요). 두 compose 파일 모두 이 값을 넣지 않아요. 확인하지 못한 부분: http://localhost에서 이 값 없이 로그인이 되는지는 깃밥이 시험하지 않았어요. 깃밥 덧붙임: compose 옆 .env는 ${…} 치환에만 쓰여, 고정한 compose 파일로는 컨테이너에 전달되지 않을 수 있어요. environment 아래에 넣으세요(다른 값처럼 NOT_SECURED: 'true').
NOT_SECURED=true
첫 계정을 만들면 소유자
처음 가입한 계정이 조직 소유자(owner)가 돼요. 이메일 제공자를 설정하지 않았다면 계정이 바로 활성화돼 곧장 로그인할 수 있다고 원문이 적어요. 빠른 시작 문서는 Cloud에서 들어가면 캘린더가 나온다고 적고, 캘린더 문서는 캘린더를 앱의 홈 화면이라고 해요. DISABLE_REGISTRATION을 true로 두면 한 명만 가입한 뒤 가입 화면이 닫혀요(원문: OIDC·OAuth 로그인도 함께 꺼져요). 깃밥 덧붙임: 서버를 밖에 열기 전에는 꼭 켜 두세요.
Bluesky로 첫 채널 연결
직접 설치하면 대부분의 플랫폼은 개발자 앱을 먼저 등록하고 키를 넣어야 해요. Bluesky는 환경 변수 없이 연결 창에 Service URL·핸들·앱 비밀번호만 넣으면 돼서, 원문은 이런 플랫폼을 새 설치가 되는지 확인하는 가장 빠른 방법으로 꼽아요. 캘린더 왼쪽 Add Channel에서 Bluesky를 고르세요. 채널이 아바타와 함께 사이드바에 보이면 연결된 거예요.
초안으로 저장하기 (발행 안 됨)
Create Post를 누르고 위쪽에서 채널을 고른 뒤 Global 탭에 글을 써요. 아래쪽 버튼 중 Save as Draft는 캘린더에 두기만 하고 절대 발행하지 않는다고 원문이 적어요. Add to calendar는 고른 시간에 예약하고, Post Now는 바로 발행해요(예약 버튼 위에 마우스를 올리면 나와요). 깃밥 덧붙임: 처음 시험할 때는 Save as Draft만 누르세요.
업데이트할 때
README는 직접 설치에서 새 이미지를 받고 마이그레이션을 실행하는 일, 가동 시간·백업·보안 패치를 모두 운영자 몫으로 적어요. Compose 파일의 latest 이미지는 새 버전이 나올 때마다 옮겨 가요. 원문은 설정을 바꾸면 docker compose down 다음 docker compose up으로 컨테이너를 다시 만들라고 해요.
깃밥 덧붙임 · v2.25.1로 고정하려면 docker-compose.yaml의 image 줄을 이렇게
image: ghcr.io/gitroomhq/postiz-app:v2.25.1
설정을 바꾼 뒤 컨테이너 다시 만들기 (원문 그대로)
docker compose down
docker compose up
깃밥 덧붙임: 올리기 전에 릴리스 노트를 읽고, PostgreSQL 데이터(postgres-volume)와 업로드 파일(postiz-uploads) 볼륨을 먼저 백업하세요. 버전을 고정하면 보안 수정도 저절로 오지 않으니 새 릴리스를 챙겨 보세요.
켜기 전에 꼭 알아둘 것
포트: 이 페이지는 별도의 Compose 저장소(gitroomhq/postiz-docker-compose)를 따라요. 그 compose 파일은 Postiz(4007)를 모든 네트워크 주소에 열고, Temporal(7233)·Temporal UI(8080)·Spotlight(8969)는 127.0.0.1에만 묶어요. 앱 저장소(gitroomhq/postiz-app)에도 docker-compose.yaml이 있지만, v2.25.1 태그의 그 파일은 4007·8969·7233·8080을 모두 모든 주소에 열어요. 깃밥 덧붙임: 앱 저장소의 파일로 켜지 마세요. 같은 네트워크의 다른 기기에서도 열리지 않게 하려면 4007도 127.0.0.1에 묶을지 정하세요.
깃밥 덧붙임: Temporal UI(8080)는 내부 작업 흐름을 보는 관리 화면이에요. 127.0.0.1 묶음을 풀거나 포트 포워딩·터널로 밖에 열지 마세요.
Postiz는 Secure 쿠키를 쓰기 때문에 운영에서는 리버스 프록시와 HTTPS를 앞에 두라고 원문이 적어요. 깃밥 덧붙임: 리버스 프록시·DNS·포트 포워딩·터널을 설정하면 서버가 인터넷에 드러나요. 그 전에 JWT_SECRET과 DB 비밀번호를 바꾸고 가입 제한(DISABLE_REGISTRATION)을 켜고, NOT_SECURED=true는 빼세요.
대부분의 플랫폼은 직접 개발자 앱을 만들고 키를 넣어야 연결돼요. README는 Meta·YouTube·TikTok의 승인이 몇 주 걸릴 수 있다고 적고, Facebook 문서는 공개 앱에는 비즈니스 인증이 필요하다고 해요. 리디렉션 주소는 {FRONTEND_URL}/integrations/social/{provider} 형식이에요. 원문 규칙대로면 Compose 기본값에선 http://localhost:4007/integrations/social/{provider}예요(연결은 확인 못 함). 원문이 엇갈려요: Threads·X 문서는 Docker용 리디렉션 주소를 http://localhost:5000/... 으로 적지만, Compose 저장소는 4007 포트로 열어요. 깃밥은 어느 쪽이 맞는지 확인하지 못했어요. 깃밥 덧붙임: X 문서가 예로 드는 redirectmeto.com은 제3자 리디렉터를 거치는 방법이라 권하지 않아요.
깃밥 덧붙임: docker compose down -v는 Compose가 만든 볼륨(PostgreSQL 데이터, 업로드 파일, 설정, Redis, Temporal 데이터)까지 지워요. 원문의 'down 다음 up'에는 -v가 없으니 docker compose down만 쓰세요.
README는 직접 설치의 백업·보안 패치·업데이트를 운영자 책임으로 적어요. 업로드 파일은 영구 볼륨이나 Cloudflare R2에 둬야 해요. 외부 객체 저장소는 선택이고, 기본값은 로컬 파일 시스템(Compose의 postiz-uploads 볼륨)이에요. 다만 TikTok 등 일부 플랫폼은 파일을 공개 HTTPS 주소에서 가져가서, 사설망에 설치했다면 R2나 CDN을 쓰라고 원문이 적어요. 깃밥 덧붙임: 업데이트 전에는 DB와 업로드 볼륨을 백업하세요.
시험할 때는 Save as Draft만 쓰세요. Post Now는 바로, Add to calendar는 고른 시간에 연결한 실제 계정으로 발행해요. 깃밥 덧붙임: 처음에는 공개돼도 괜찮은 시험용 계정으로 확인하세요.
AI 글쓰기·이미지·영상과 에이전트는 직접 설치에서 내 OpenAI 등 API 키가 있어야 쓸 수 있고, 사용료는 그 제공자에게 내요(README).
AI 앱에게 설치를 맡기려면
아래 명령문을 Claude Code나 Codex에 붙여넣으면, 고정한 설치 문서와 Compose 저장소로 이 컴퓨터에서 Postiz를 켜고 첫 가입 화면까지 확인해요. Docker 설치, 비밀 값, 포트 공개, 이미지 버전, 개발자 앱, 데이터 삭제, 실제 발행, 돈이 드는 일 앞에서는 먼저 물어봐요. 명령문은 깃밥이 공식 문서를 바탕으로 썼어요.
안 맞으면 운영자가 없거나 비용 이점이 불분명하면 직접 호스팅을 기본값으로 삼지 않습니다.
깃밥이 가정한 예시 상황과 근거
한 브랜드의 제품 소식을 Threads와 Instagram에 정기적으로 올려요. 원고는 스프레드시트, 발행은 각 앱에서 수동으로 하며 Docker 운영자는 있다고 가정합니다.
목표: 주 단위로 초안과 예약을 관리하고, 실제 공개 여부까지 확인하기. 매출 상승이나 조회수 증가는 도입 목표로 보장하지 않아요.
기존 환경: 원고는 스프레드시트, 게시물은 수동 발행. 이미 만족스럽게 쓰는 예약 도구나 Laravel 연동은 없다고 가정합니다.
운영·예산: Docker 운영자가 있고 서버·저장소·관리 시간의 비용을 감수합니다. 앱 이용료가 없는 선택을 선호하지만 총운영비가 더 싸다고 가정하지 않아요.
Postiz 공식 코드는 2026-10-19에 v2.25.1 태그 커밋(91c91f63)에 고정해 다시 확인했고, 버전 태그가 없는 공식 문서(postiz-docs)와 Compose 저장소는 같은 날 커밋 d0a587d8·dd4969e5에 고정해 읽었어요. Mixpost 공식 문서와 가격 페이지는 2026-10-19에 다시 확인했어요(버전 고정 없음). 설명도는 깃밥 자체 제작이며 실제 계정 연결·설치·발행·복원 검증은 하지 않았어요.
쓰임부터 이해하는 레포 해설
SNS 발행을 한곳에서 준비해요
채널 연결부터 원고 수정, 예약과 발행 확인까지. Postiz가 맡는 일과 직접 운영할 때 준비할 일을 손그림 영상으로 따라갑니다.
01 · 역할 나눠 보기
맡길 부분과 직접 챙길 부분
Postiz에 맡겨요
연결한 채널과 소재·원고·예약을 한 작업 공간에서 관리
채널별 내용 수정, 초안과 예약의 구분, 발행 상태 표시
직접 준비하고 운영해요
계정 권한·개발자 앱 승인·연결 만료 처리
소재 사용 권리, 브랜드 표현, 각 플랫폼의 게시 형식 확인
직접 호스팅 시 앱·DB·저장소의 업데이트와 복구 방법 마련
설치 전에 계정·게시 형식·담당자를 종이에 적을 수 있다면 비교가 시작됩니다. 이 세 가지가 비어 있다면 도구 선택보다 업무 조건을 먼저 정하세요.