ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker 기반의 NextCloud(넥스트클라우드) 설치
    How to Dev 2020. 6. 16. 08:03

    curl -X POST http://localhost:8888/index.php/login/v2

    curl -u hyper:hyper -X GET 'http://localhost:8888//ocs/v1.php/cloud/users/USERID' -H "OCS-APIRequest: true"

    curl -u username:password -X GET 'http://localhost:8888/ocs/v1.php/...' -H "OCS-APIRequest: true"

    도커 & 도커 컴포즈(Docker Compose)

    도커(Docker)는 리눅스의 응용 프로그램들을 소프트웨어 컨테이너 안에 배치시키는 일을 자동화하는 오픈 소스 프로젝트
    도커 컴포즈 : 컴포즈의 사전적 의미는 ‘짓다’, ‘조립하다’이다. 도커 컴포즈는 여러 개의 컨테이너를 짓고 조립(함께 사용)하는 데 유용하다. 여러 컨테이너에 대한 옵션을 docker-compose.yml이라는 파일로 작성하면, docker-compose up이라는 한 번의 명령어로 서비스를 시작할 수 있다

    NextCloud(넥스트 클라우드)

    넥스트클라우드(Nextcloud)는 넥스트클라우드 GmbH(Nextcloud GmbH)에서 개발한 오픈 소스 설치형 클라우드 저장소

    wonderfall/nextcloud 이미지

    https://hub.docker.com/r/wonderfall/nextcloud

    docker에서 실행 방법

    docker pull wonderfall/nextcloud && docker pull mariadb
    docker run -d --name db_nextcloud \
           -v /docker/nextcloud/db:/var/lib/mysql \
           -e MYSQL_ROOT_PASSWORD=supersecretpassword \
           -e MYSQL_DATABASE=nextcloud -e MYSQL_USER=nextcloud \
           -e MYSQL_PASSWORD=supersecretpassword \
           mariadb:10
    
    docker run -d --name nextcloud \
           --link db_nextcloud:db_nextcloud \
           -v /docker/nextcloud/data:/data \
           -v /docker/nextcloud/config:/config \
           -v /docker/nextcloud/apps:/apps2 \
           -v /docker/nextcloud/themes:/nextcloud/themes \
           -e UID=1000 -e GID=1000 \
           -e UPLOAD_MAX_SIZE=10G \
           -e APC_SHM_SIZE=128M \
           -e OPCACHE_MEM_SIZE=128 \
           -e CRON_PERIOD=15m \
           -e TZ=Etc/UTC \
           -e ADMIN_USER=mrrobot \
           -e ADMIN_PASSWORD=supercomplicatedpassword \
           -e DOMAIN=cloud.example.com \
           -e DB_TYPE=mysql \
           -e DB_NAME=nextcloud \
           -e DB_USER=nextcloud \
           -e DB_PASSWORD=supersecretpassword \
           -e DB_HOST=db_nextcloud \
           wonderfall/nextcloud

    docker-compose

    version: '3'
    
    networks:
      nextcloud_network:
        external: false
    
    services:
      nextcloud:
        image: wonderfall/nextcloud
        depends_on:
          - nextcloud-db           # If using MySQL
          - redis                  # If using Redis
        environment:
          - UID=1000
          - GID=1000
          - UPLOAD_MAX_SIZE=10G
          - APC_SHM_SIZE=128M
          - OPCACHE_MEM_SIZE=128
          - CRON_PERIOD=15m
          - TZ=Europe/Berlin
          - DOMAIN=localhost
          - DB_TYPE=mysql
          - DB_NAME=nextcloud
          - DB_USER=nextcloud
          - DB_PASSWORD=supersecretpassword
          - DB_HOST=nextcloud-db
        volumes:
          - /docker/nextcloud/data:/data
          - /docker/nextcloud/config:/config
          - /docker/nextcloud/apps:/apps2
          - /docker/nextcloud/themes:/nextcloud/themes
        networks:
          - nextcloud_network
    
      # If using MySQL
      nextcloud-db:
        image: mariadb
        volumes:
          - /docker/nextcloud/db:/var/lib/mysql
        environment:
          - MYSQL_ROOT_PASSWORD=supersecretpassword
          - MYSQL_DATABASE=nextcloud
          - MYSQL_USER=nextcloud
          - MYSQL_PASSWORD=supersecretpassword
        networks:
          - nextcloud_network
    
      # If using Redis
      redis:
        image: redis:alpine
        container_name: redis
        volumes:
          - /docker/nextcloud/redis:/data
        networks:
          - nextcloud_network
Designed by Tistory.