# #NoCode platform : NocoDB

# 설치

1. Nginx Proxy Manager 같은 역방향 프록시를 설정합니다.
2. 볼륨을 Mapping할 "nocodb"와 하위에 "db" 디렉토리를 생성합니다. 제 경우 "/volume1/docker/"하위에 생성을 하였습니다.  
      
    [![nocodb1.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-12/scaled-1680-/bpLcgpyutshuzbzG-nocodb1.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-12/bpLcgpyutshuzbzG-nocodb1.jpg)
3. "nocodb" 디렉토리의 속성 (오른쪽 마우스)에 들어가 "권한 &gt; 고급 옵션 &gt; 상속된 권한을 명시적으로 만들기"를 선택 합니다.  
      
    [![nocodb2.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-12/scaled-1680-/OgTWgbCvMoux1jEO-nocodb2.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-12/OgTWgbCvMoux1jEO-nocodb2.jpg)
4. "Everyone"의 "편집"에 들어가 "읽기"와 "쓰기" 모두를 체크하고, "이 폴더, 하위 폴더 및 파일에 적용"을 체크하고 저장 합니다.  
      
    [![nocodb3.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-12/scaled-1680-/lvvcW26GdUy6TMW8-nocodb3.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-12/lvvcW26GdUy6TMW8-nocodb3.jpg)  
    [![nocodb4.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-12/scaled-1680-/EgHuMUcbuwiuXaso-nocodb4.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-12/EgHuMUcbuwiuXaso-nocodb4.jpg)  
    [![nocodb5.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-12/scaled-1680-/9PblriuMJBzaY7Lz-nocodb5.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-12/9PblriuMJBzaY7Lz-nocodb5.jpg)
5. 아래와 같이 "docker-compose.yml" 파일을 작성합니다.  
      
    
    ```yaml
    version: "3.9"
    services:
      db:
        image: postgres
        container_name: NocoDB-DATABASE
        hostname: noco-pg
        mem_limit: 512m
        cpu_shares: 768
        security_opt:
          - no-new-privileges:true
        healthcheck:
          test: ["CMD", "pg_isready", "-q", "-d", "nocodb", "-U", "nocodbuser"]
          timeout: 30s
          interval: 10s
          retries: 10
        volumes:
          - /volume1/docker/nocodb/db:/var/lib/postgresql/data:rw
        environment:
          POSTGRES_DB: nocodb
          POSTGRES_USER: nocodbuser
          POSTGRES_PASSWORD: nocodbpass
        restart: on-failure:5
    
      nocodb:
        image: nocodb/nocodb:latest
        container_name: NocoDB
        hostname: nocodb
        mem_limit: 1g
        cpu_shares: 768
        security_opt:
          - no-new-privileges:true
        healthcheck:
          test: wget --no-verbose --tries=1 --spider http://localhost:8080/ || exit 1
        ports:
          - 8631:8080
        volumes:
          - /volume1/docker/nocodb:/usr/app/data:rw
        environment:
          NC_ADMIN_EMAIL: Your-own-email-address //사용할 아이디 (이메일 주소)
          NC_ADMIN_PASSWORD: Password@ //사용할 비밀번호
          NC_DB: pg://noco-pg:5432?u=nocodbuser&p=nocodbpass&d=nocodb
          NC_SMTP_HOST: smtp.gmail.com
          NC_SMTP_FROM: Your-own-gmail-address
          NC_SMTP_PORT: 587
          NC_SMTP_USERNAME: Your-own-gmail-address
          NC_SMTP_PASSWORD: Your-own-app-password
        restart: on-failure:5
        depends_on:
          db:
            condition: service_healthy
    ```
6. 아래 명령으로 설치를 진행 합니다.  
      
    
    ```
    docker-compose up -d
    ```