반응형 전체 글101 Gitea에서 기존 프로젝트를 Git 저장소로 관리하기 기존 프로젝트 소스를 Gitea에 등록하고, main, dev, stg 브랜치를 구성하는 과정을 설명합니다.이 글은 다음 상태를 기준으로 합니다.Gitea 서버는 이미 구축되어 있습니다.로컬에 기존 프로젝트 소스가 존재합니다.해당 프로젝트는 아직 Git 저장소가 아닙니다.최초 기준 브랜치는 main으로 만듭니다.main을 Gitea에 처음 push한 뒤 dev, stg 브랜치를 만듭니다.이후 개발 작업은 dev 브랜치에서 시작합니다.예시는 다음 값을 사용합니다.Gitea URL : https://git.example.comOwner : teamRepository : sample-projectRemote URL : https://git.example.com/team/sample-proje.. 2026. 9. 11. Docker Compose One-off Container와 Named Volume Docker Compose를 이용해 작업 단계를 일회성 컨테이너로 실행하다 보면 다음과 같은 부분이 자주 헷갈립니다.docker compose run을 여러 번 실행하면 하나의 컨테이너가 계속 사용되는지서로 다른 컨테이너가 이전 단계의 파일을 어떻게 이어받는지volumes: - workspace:/workspace에서 어느 쪽이 호스트이고 어느 쪽이 컨테이너인지-p로 지정하는 Compose 프로젝트 이름이 왜 필요한지같은 workspace라는 볼륨 이름을 여러 작업이 사용해도 충돌하지 않는 이유컨테이너가 삭제된 뒤 Named Volume은 언제 삭제되는지이 글에서는 특정 애플리케이션이나 프로젝트에 종속되지 않도록 Docker Compose의 일반적인 동작 원리를 기준으로 설명합니다.핵심 개념docker .. 2026. 9. 9. Host OS와 Container OS의 관계 Docker를 처음 사용할 때 가장 헷갈리는 부분 중 하나는 Host OS와 Container OS가 어떤 관계인지입니다.Dockerfile에 다음과 같이 작성되어 있으면 컨테이너가 Ubuntu 24.04라는 별도의 운영체제를 통째로 실행하는 것처럼 보일 수 있습니다.FROM ubuntu:24.04하지만 일반적인 Linux Docker 컨테이너는 가상머신처럼 Ubuntu 커널까지 포함한 운영체제 전체를 부팅하지 않습니다.ubuntu:24.04 이미지가 제공하는 것은 주로 Ubuntu 24.04의 사용자 공간(User Space) 파일과 프로그램이고, 컨테이너 프로세스가 실제로 사용하는 Linux 커널은 컨테이너를 실행하는 Linux Host의 커널입니다.이 차이를 이해하면 Ubuntu Host에서 Deb.. 2026. 9. 9. Native Codex Agent Server + Agent 전용 Rootless Docker 구성 Ubuntu 24.04에서 Go 기반 Codex Agent Server는 host의 native systemd service로 실행하고, 실제 Ticket 작업은 codex-agentd 전용 Rootless Docker daemon의 Docker Compose one-off container에서 실행합니다.Agent Server는 Gitea webhook 수신, workflow 순서와 timeout 제어, Pull Request 생성과 승인 후 merge를 담당합니다. Repository clone, Codex 실행, validation, commit/push 같은 작업은 Ticket별 Worker container에서 처리합니다.Ubuntu 24.04│├─ system systemd│ └─ codex.. 2026. 9. 8. Rootless Docker daemon에 Gitea 설치 Ubuntu 24.04에서 Gitea만을 위한 OS 사용자 gitea-svc를 만들고, 이 사용자가 소유하는 별도의 Rootless Docker daemon에서 Gitea를 실행하는 방법을 정리합니다.PostgreSQL은 Gitea와 같은 Docker daemon에 두지 않습니다. 별도의 postgres-svc Rootless Docker daemon에서 실행하고, Gitea container는 Ubuntu host의 private/internal IP에 공개된 PostgreSQL TCP endpoint로 접속합니다.Ubuntu 24.04│├─ postgres-svc│ └─ Rootless Docker daemon A│ └─ PostgreSQL 18│ └─ HOST_PRIVATE_I.. 2026. 9. 4. Rootless Docker daemon에 PostgreSQL 18 설치하기 Ubuntu 24.04에서 PostgreSQL 전용 OS 사용자 postgres-svc를 만들고, 이 사용자가 독립적인 Rootless Docker daemon을 실행하도록 구성하는 방법을 정리합니다.구성의 핵심은 PostgreSQL, Gitea, Codex Worker가 하나의 Docker daemon을 공유하지 않는 것입니다. PostgreSQL은 postgres-svc 사용자에게 속한 별도의 Rootless Docker daemon에서만 실행합니다.Ubuntu 24.04│└─ postgres-svc └─ Rootless Docker daemon A └─ PostgreSQL Compose └─ postgres:18Gitea와 Codex Worker는 이 daemon을 사용하.. 2026. 9. 2. Codex Agent Server 인프라 설계 — PostgreSQL / Gitea / Coding Agent의 3-daemon 분리 Ubuntu 24.04 한 대에서 PostgreSQL, Gitea, Codex 기반 Coding Agent를 함께 운영하더라도 모든 서비스를 하나의 Docker daemon에 넣을 필요는 없습니다.이 글에서는 다음과 같이 세 개의 Linux service account와 세 개의 Rootless Docker daemon을 사용하여 Docker control plane을 분리하고, Codex Agent Server만 Ubuntu native systemd service로 실행하는 구조를 정리합니다.postgres-svc: PostgreSQL 전용 Rootless Docker daemongitea-svc: Gitea 전용 Rootless Docker daemoncodex-agentd: Ticket별 Work.. 2026. 9. 2. Codex Agent Server 구축하기 Ubuntu 24.04 서버에서 Gitea Issue를 시작점으로 Codex CLI가 코드를 수정하고 Pull Request를 생성하는 Coding Agent Server를 구성하는 방법을 정리합니다.이 구조에서는 Gitea Issue에 codex-ready label이 추가되면 Go 기반 Agent Server가 작업을 시작합니다. Agent Server는 Ticket별로 격리된 Docker Compose 환경을 만들고, Codex CLI를 실행하여 코드를 수정한 뒤 Validation, Git commit/push, Gitea Pull Request 생성까지 자동으로 처리합니다.Pull Request의 최종 승인은 사람이 수행하며, 승인된 Agent PR에 대해서만 Agent Server가 Gitea.. 2026. 9. 2. 리눅스 /opt, /var/lib, /var/log 차이점 리눅스 서버를 운영하다 보면 프로그램 파일은 /opt에 있고, PostgreSQL이나 Docker의 데이터는 /var/lib에 있으며, 로그는 /var/log에 저장되는 모습을 자주 볼 수 있습니다.세 디렉터리는 모두 애플리케이션과 관련되어 있지만 역할은 서로 다릅니다. Filesystem Hierarchy Standard(FHS)를 기준으로 보면 /opt는 추가 애플리케이션의 정적 파일을 설치하는 영역이고, /var/lib는 프로그램이 실행되는 동안 변경하면서 다음 실행까지 유지해야 하는 상태 정보 영역이며, /var/log는 시스템과 애플리케이션의 로그를 보관하는 영역입니다.핵심적으로 다음과 같이 구분할 수 있습니다./opt추가 애플리케이션을 독립된 디렉터리 형태로 설치할 때 사용하는 위치입니다.주로.. 2026. 8. 28. [Superpowers] Codex 전역 제거와 프로젝트 단위 설치 Codex에서 Superpowers를 전역 플러그인으로 설치하면 여러 프로젝트에서 동일한 Superpowers 기능을 사용할 수 있습니다.특정 프로젝트에서만 Superpowers를 사용하고 싶다면 전역 플러그인을 제거하고, 프로젝트 저장소의 .agents/skills 아래에 필요한 Superpowers skill을 배치하는 방법을 사용할 수 있습니다.Codex 공식 문서에서는 저장소 범위의 로컬 skill을 현재 작업 디렉터리부터 Git 저장소 루트까지 존재하는 .agents/skills에서 탐색한다고 설명합니다. 사용자 전체에 적용되는 skill은 $HOME/.agents/skills에서 탐색합니다.이 글에서는 Ubuntu 24.04와 Windows 11 환경에서 다음 구성을 기준으로 설명합니다.전역 .. 2026. 8. 25. 이전 1 2 3 4 ··· 11 다음 반응형