i18n - docs translations (#17434)
Created by Github action Co-authored-by: github-actions <github-actions@twenty.com>
This commit is contained in:
committed by
GitHub
parent
2353bc62cc
commit
e0d4492013
@@ -1,253 +1,253 @@
|
||||
---
|
||||
title: 1-Click w/ Docker Compose
|
||||
title: Docker Compose로 1-클릭
|
||||
---
|
||||
|
||||
<Warning>
|
||||
Docker containers are for production hosting or self-hosting, for the contribution please check the [Local Setup](/l/ko/developers/contribute/capabilities/local-setup).
|
||||
Docker 컨테이너는 프로덕션 호스팅 또는 셀프 호스팅을 위한 것입니다. 기여를 원하시면 [로컬 설정](/l/ko/developers/contribute/capabilities/local-setup)을 확인하세요.
|
||||
</Warning>
|
||||
|
||||
## Overview
|
||||
## 개요
|
||||
|
||||
This guide provides step-by-step instructions to install and configure the Twenty application using Docker Compose. The aim is to make the process straightforward and prevent common pitfalls that could break your setup.
|
||||
이 가이드는 Docker Compose를 사용하여 Twenty 애플리케이션을 설치 및 구성하기 위한 단계별 지침을 제공합니다. 프로세스를 간단하게 만들고 설정을 망칠 수 있는 일반적인 함정을 피하는 것이 목적입니다.
|
||||
|
||||
**Important:** Only modify settings explicitly mentioned in this guide. Altering other configurations may lead to issues.
|
||||
**중요:** 이 가이드에서 명시적으로 언급된 설정만 수정하세요. 다른 구성을 변경하면 문제가 발생할 수 있습니다.
|
||||
|
||||
See docs [Setup Environment Variables](/l/ko/developers/self-host/capabilities/setup) for advanced configuration. All environment variables must be declared in the docker-compose.yml file at the server and / or worker level depending on the variable.
|
||||
고급 설정을 위해 [환경 변수 설정](/l/ko/developers/self-host/capabilities/setup) 문서를 참조하세요. 모든 환경 변수는 서버 및/또는 작업자 수준에서 docker-compose.yml 파일에 선언되어야 합니다.
|
||||
|
||||
## System Requirements
|
||||
## 시스템 요구 사항
|
||||
|
||||
* RAM: Ensure your environment has at least 2GB of RAM. Insufficient memory can cause processes to crash.
|
||||
* Docker & Docker Compose: Make sure both are installed and up-to-date.
|
||||
* RAM: 환경에 최소 2GB의 RAM이 있는지 확인하십시오. 메모리가 충분하지 않으면 프로세스가 중단될 수 있습니다.
|
||||
* Docker 및 Docker Compose: 둘 다 설치되고 최신 상태인지 확인하세요.
|
||||
|
||||
## Option 1: One-line script
|
||||
## 옵션 1: 한 줄 스크립트
|
||||
|
||||
Install the latest stable version of Twenty with a single command:
|
||||
단일 명령으로 최신 안정 버전의 Twenty를 설치하십시오:
|
||||
|
||||
```bash
|
||||
bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)
|
||||
```
|
||||
|
||||
To install a specific version or branch:
|
||||
특정 버전 또는 브랜치를 설치하려면:
|
||||
|
||||
```bash
|
||||
VERSION=vx.y.z BRANCH=branch-name bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)
|
||||
```
|
||||
|
||||
* Replace x.y.z with the desired version number.
|
||||
* Replace branch-name with the name of the branch you want to install.
|
||||
* 원하는 버전 번호로 x.y.z를 대체하십시오.
|
||||
* 설치할 브랜치 이름으로 branch-name을 대체하십시오.
|
||||
|
||||
## Option 2: Manual steps
|
||||
## 옵션 2: 수동 단계
|
||||
|
||||
Follow these steps for a manual setup.
|
||||
수동 설정을 위해 다음 단계를 따릅니다.
|
||||
|
||||
### Step 1: Set Up the Environment File
|
||||
### 단계 1: 환경 파일 설정
|
||||
|
||||
1. **Create the .env File**
|
||||
1. **.env 파일 생성**
|
||||
|
||||
Copy the example environment file to a new .env file in your working directory:
|
||||
예제 환경 파일을 워킹 디렉토리의 새 .env 파일로 복사합니다.
|
||||
|
||||
```bash
|
||||
curl -o .env https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/.env.example
|
||||
```
|
||||
|
||||
2. **Generate Secret Tokens**
|
||||
2. **비밀 토큰 생성**
|
||||
|
||||
Run the following command to generate a unique random string:
|
||||
고유한 랜덤 문자열을 생성하기 위해 다음 명령을 실행하세요:
|
||||
|
||||
```bash
|
||||
openssl rand -base64 32
|
||||
```
|
||||
|
||||
**Important:** Keep this value secret / do not share it.
|
||||
**중요:** 이 값을 비공개로 유지/공유하지 마십시오.
|
||||
|
||||
3. **Update the `.env`**
|
||||
3. **`.env` 업데이트**
|
||||
|
||||
Replace the placeholder value in your .env file with the generated token:
|
||||
생성된 토큰으로 .env 파일의 플레이스홀더 값을 대체합니다.
|
||||
|
||||
```ini
|
||||
APP_SECRET=first_random_string
|
||||
```
|
||||
|
||||
4. **Set the Postgres Password**
|
||||
4. **Postgres 비밀번호 설정**
|
||||
|
||||
Update the `PG_DATABASE_PASSWORD` value in the .env file with a strong password without special characters.
|
||||
.env 파일에서 특수 문자가 없는 강력한 비밀번호로 `PG_DATABASE_PASSWORD` 값을 업데이트하십시오.
|
||||
|
||||
```ini
|
||||
PG_DATABASE_PASSWORD=my_strong_password
|
||||
```
|
||||
|
||||
### Step 2: Obtain the Docker Compose File
|
||||
### 단계 2: Docker Compose 파일 얻기
|
||||
|
||||
Download the `docker-compose.yml` file to your working directory:
|
||||
작업 디렉토리에 `docker-compose.yml` 파일을 다운로드합니다.
|
||||
|
||||
```bash
|
||||
curl -o docker-compose.yml https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/docker-compose.yml
|
||||
```
|
||||
|
||||
### Step 3: Launch the Application
|
||||
### 단계 3: 애플리케이션 시작
|
||||
|
||||
Start the Docker containers:
|
||||
Docker 컨테이너 시작:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Step 4: Access the Application
|
||||
### 단계 4: 애플리케이션에 액세스
|
||||
|
||||
If you host twentyCRM on your own computer, open your browser and navigate to [http://localhost:3000](http://localhost:3000).
|
||||
twentyCRM을 개인 컴퓨터에 호스팅하는 경우 브라우저를 열고 [http://localhost:3000](http://localhost:3000)으로 이동하세요.
|
||||
|
||||
If you host it on a server, check that the server is running and that everything is ok with
|
||||
서버에서 호스팅하는 경우 서버가 실행 중이며 모든 것이 문제없는지 확인하십시오.
|
||||
|
||||
```bash
|
||||
curl http://localhost:3000
|
||||
```
|
||||
|
||||
## Configuration
|
||||
## 구성
|
||||
|
||||
### Expose Twenty to External Access
|
||||
### Twenty를 외부 액세스에 노출
|
||||
|
||||
By default, Twenty runs on `localhost` at port `3000`. To access it via an external domain or IP address, you need to configure the `SERVER_URL` in your `.env` file.
|
||||
기본적으로 Twenty는 `localhost`의 포트 `3000`에서 실행됩니다. 외부 도메인 또는 IP 주소로 액세스하려면 `.env` 파일의 `SERVER_URL`을 구성해야 합니다.
|
||||
|
||||
#### Understanding `SERVER_URL`
|
||||
#### `SERVER_URL` 이해하기
|
||||
|
||||
* **Protocol:** Use `http` or `https` depending on your setup.
|
||||
* Use `http` if you haven't set up SSL.
|
||||
* Use `https` if you have SSL configured.
|
||||
* **Domain/IP:** This is the domain name or IP address where your application is accessible.
|
||||
* **Port:** Include the port number if you're not using the default ports (`80` for `http`, `443` for `https`).
|
||||
* **프로토콜:** 구성에 따라 `http` 또는 `https`를 사용하십시오.
|
||||
* SSL을 설정하지 않은 경우 `http`를 사용합니다.
|
||||
* SSL이 구성되어 있으면 `https`를 사용하십시오.
|
||||
* **도메인/IP:** 애플리케이션을 액세스할 수 있는 도메인 이름 또는 IP 주소입니다.
|
||||
* **포트:** 기본 포트(`http`의 경우 `80`, `https`의 경우 `443`)를 사용하지 않는 경우 포트 번호를 포함하십시오.
|
||||
|
||||
### SSL Requirements
|
||||
### SSL 요구 사항
|
||||
|
||||
SSL (HTTPS) is required for certain browser features to work properly. While these features might work during local development (as browsers treat localhost differently), a proper SSL setup is needed when hosting Twenty on a regular domain.
|
||||
SSL(HTTPS)는 일부 브라우저 기능이 제대로 작동하기 위해 필수입니다. 이러한 기능은 로컬 개발 중에는 작동할 수 있지만 (브라우저는 localhost를 다르게 처리합니다), 일반 도메인에 Twenty를 호스팅할 때는 적절한 SSL 설정이 필요합니다.
|
||||
|
||||
For example, the clipboard API might require a secure context - some features like copy buttons throughout the application might not work without HTTPS enabled.
|
||||
예를 들어, 클립보드 API는 안전한 컨텍스트가 필요할 수 있습니다. 응용 프로그램 내 복사 버튼과 같은 일부 기능은 HTTPS가 활성화되지 않으면 작동하지 않을 수 있습니다.
|
||||
|
||||
We strongly recommend setting up Twenty behind a reverse proxy with SSL termination for optimal security and functionality.
|
||||
최적의 보안 및 기능을 위해 SSL 종료와 함께 Reverse Proxy 뒤에 Twenty를 설정하는 것을 강력히 권장합니다.
|
||||
|
||||
#### Configuring `SERVER_URL`
|
||||
#### `SERVER_URL` 설정
|
||||
|
||||
1. **Determine Your Access URL**
|
||||
* **Without Reverse Proxy (Direct Access):**
|
||||
1. **접속 URL 결정**
|
||||
* **리버스 프록시 없이(직접 접속):**
|
||||
|
||||
If you're accessing the application directly without a reverse proxy:
|
||||
리버스 프록시 없이 애플리케이션에 직접 액세스:
|
||||
|
||||
```ini
|
||||
SERVER_URL=http://your-domain-or-ip:3000
|
||||
```
|
||||
|
||||
* **With Reverse Proxy (Standard Ports):**
|
||||
* **리버스 프록시 사용 (표준 포트):**
|
||||
|
||||
If you're using a reverse proxy like Nginx or Traefik and have SSL configured:
|
||||
SSL이 구성된 Nginx 또는 Traefik과 같은 리버스 프록시를 사용하는 경우:
|
||||
|
||||
```ini
|
||||
SERVER_URL=https://your-domain-or-ip
|
||||
```
|
||||
|
||||
* **With Reverse Proxy (Custom Ports):**
|
||||
* **리버스 프록시 사용 (사용자 지정 포트):**
|
||||
|
||||
If you're using non-standard ports:
|
||||
비표준 포트를 사용하는 경우:
|
||||
|
||||
```ini
|
||||
SERVER_URL=https://your-domain-or-ip:custom-port
|
||||
```
|
||||
|
||||
2. **Update the `.env` File**
|
||||
2. **`.env` 파일 업데이트**
|
||||
|
||||
Open your `.env` file and update the `SERVER_URL`:
|
||||
`.env` 파일을 열고 `SERVER_URL`을 업데이트하십시오:
|
||||
|
||||
```ini
|
||||
SERVER_URL=http(s)://your-domain-or-ip:your-port
|
||||
```
|
||||
|
||||
**Examples:**
|
||||
**예시:**
|
||||
|
||||
* Direct access without SSL:
|
||||
* SSL 없이 직접 접근:
|
||||
```ini
|
||||
SERVER_URL=http://123.45.67.89:3000
|
||||
```
|
||||
* Access via domain with SSL:
|
||||
* SSL을 사용한 도메인 접근:
|
||||
```ini
|
||||
SERVER_URL=https://mytwentyapp.com
|
||||
```
|
||||
|
||||
3. **Restart the Application**
|
||||
3. **애플리케이션 재시작**
|
||||
|
||||
For changes to take effect, restart the Docker containers:
|
||||
변경 사항을 적용하기 위해 Docker 컨테이너를 재시작하십시오.
|
||||
|
||||
```bash
|
||||
docker compose down
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
#### Considerations
|
||||
#### 고려 사항
|
||||
|
||||
* **Reverse Proxy Configuration:**
|
||||
* **리버스 프록시 구성:**
|
||||
|
||||
Ensure your reverse proxy forwards requests to the correct internal port (`3000` by default). Configure SSL termination and any necessary headers.
|
||||
리버스 프록시가 올바른 내부 포트(`3000` 기본값)로 요청을 전달하도록 확인하십시오. SSL 종료와 필요한 헤더를 구성하십시오.
|
||||
|
||||
* **Firewall Settings:**
|
||||
* **방화벽 설정:**
|
||||
|
||||
Open necessary ports in your firewall to allow external access.
|
||||
외부 액세스를 허용하기 위해 방화벽에서 필요한 포트를 엽니다.
|
||||
|
||||
* **Consistency:**
|
||||
* **일관성:**
|
||||
|
||||
The `SERVER_URL` must match how users access your application in their browsers.
|
||||
`SERVER_URL`은 사용자가 브라우저에서 애플리케이션에 액세스하는 방식과 일치해야 합니다.
|
||||
|
||||
#### Persistence
|
||||
#### 영속성
|
||||
|
||||
* **Data Volumes:**
|
||||
* **데이터 볼륨:**
|
||||
|
||||
The Docker Compose configuration uses volumes to persist data for the database and server storage.
|
||||
Docker Compose 구성은 데이터베이스 및 서버 저장소의 데이터를 영구적으로 저장하기 위해 볼륨을 사용합니다.
|
||||
|
||||
* **Stateless Environments:**
|
||||
* **무상태 환경:**
|
||||
|
||||
If deploying to a stateless environment (e.g., certain cloud services), configure external storage to persist data.
|
||||
무상태 환경(예: 특정 클라우드 서비스)에 배포하는 경우 데이터 지속성을 위해 외부 저장소를 구성합니다.
|
||||
|
||||
## Backup and Restore
|
||||
## 백업 및 복원
|
||||
|
||||
Regular backups protect your CRM data from loss.
|
||||
정기 백업은 CRM 데이터를 손실로부터 보호합니다.
|
||||
|
||||
### Create a Database Backup
|
||||
### 데이터베이스 백업 생성
|
||||
|
||||
```bash
|
||||
docker exec twenty-postgres pg_dump -U postgres twenty > backup_$(date +%Y%m%d).sql
|
||||
```
|
||||
|
||||
### Automate Daily Backups
|
||||
### 일일 백업 자동화
|
||||
|
||||
Add to your crontab (`crontab -e`):
|
||||
crontab에 추가하세요 (`crontab -e`):
|
||||
|
||||
```bash
|
||||
0 2 * * * docker exec twenty-postgres pg_dump -U postgres twenty > /backups/twenty_$(date +\%Y\%m\%d).sql
|
||||
```
|
||||
|
||||
### Restore from Backup
|
||||
### 백업에서 복원
|
||||
|
||||
1. Stop the application:
|
||||
1. 애플리케이션을 중지하세요:
|
||||
|
||||
```bash
|
||||
docker compose stop twenty-server twenty-front
|
||||
```
|
||||
|
||||
2. Restore the database:
|
||||
2. 데이터베이스를 복원하세요:
|
||||
|
||||
```bash
|
||||
docker exec -i twenty-postgres psql -U postgres twenty < backup_20240115.sql
|
||||
```
|
||||
|
||||
3. Restart services:
|
||||
3. 서비스 재시작:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Backup Best Practices
|
||||
### 백업 모범 사례
|
||||
|
||||
* **Test restores regularly** — verify backups actually work
|
||||
* **Store backups off-site** — use cloud storage (S3, GCS, etc.)
|
||||
* **Encrypt sensitive data** — protect backups with encryption
|
||||
* **Retain multiple copies** — keep daily, weekly, and monthly backups
|
||||
* **복원을 정기적으로 테스트하세요** — 백업이 실제로 작동하는지 확인하세요
|
||||
* **백업을 오프사이트에 보관하세요** — 클라우드 스토리지(S3, GCS 등)를 사용하세요
|
||||
* **민감한 데이터를 암호화하세요** — 암호화를 통해 백업을 보호하세요
|
||||
* **여러 사본을 유지하세요** — 일간, 주간, 월간 백업을 보관하세요
|
||||
|
||||
## Troubleshooting
|
||||
## 문제 해결
|
||||
|
||||
If you encounter any problem, check [Troubleshooting](/l/ko/developers/self-host/capabilities/troubleshooting) for solutions.
|
||||
문제가 발생하면 [문제 해결](/l/ko/developers/self-host/capabilities/troubleshooting)에서 해결책을 확인하십시오.
|
||||
|
||||
Reference in New Issue
Block a user