Docker

[Docker] Nextcloud AIO 구축하기

IT-PAPA 2024. 2. 26. 06:33
728x90
반응형

Nextcloud All-in-One (AIO)는 Nextcloud 솔루션의 통합된 설치 및 관리를 제공하는 솔루션입니다. 이것은 일반적으로 개인 및 기업 사용자들이 자체 호스팅하는 클라우드 솔루션을 배포하고 관리하는 것을 단순화하기 위해 설계되었습니다. AIO는 다음과 같은 기능을 포함할 수 있습니다:

  1. Nextcloud Server: AIO는 Nextcloud 서버를 기반으로 합니다. Nextcloud는 클라우드 스토리지 및 파일 공유 서비스를 제공하여 사용자가 파일을 안전하게 저장하고 공유할 수 있도록 합니다.
  2. Database Server: Nextcloud는 사용자 및 파일 메타데이터를 저장하는 데 데이터베이스가 필요합니다. AIO에는 종종 데이터베이스 서버가 포함되어 있습니다. 일반적으로 MySQL 또는 PostgreSQL과 같은 관계형 데이터베이스가 사용됩니다.
  3. Web Server: Nextcloud를 호스팅하기 위해 웹 서버가 필요합니다. AIO는 Apache, Nginx 등과 같은 웹 서버를 포함할 수 있습니다.
  4. PHP: Nextcloud는 PHP로 작성되었으므로 AIO에는 PHP 실행 환경이 필요합니다.
  5. SSL 인증서: 보안을 위해 AIO에는 SSL 인증서가 포함될 수 있습니다.
  6. DNS 및 네트워크 구성: 도메인 네임 및 네트워크 설정이 필요할 수 있습니다.

Nextcloud AIO는 사용자가 단일 서버에 Nextcloud를 설치하고 모든 관련 서비스를 한 곳에서 관리할 수 있도록 도와줍니다. 이것은 개인 사용자나 기업에서 클라우드 서비스를 자체 호스팅하고 싶지만 관련 서버 및 서비스를 관리하는 데 어려움을 겪는 경우에 특히 유용합니다.

[Docker] 도커의 모든 것, 도커 추천 이미지!!! (tistory.com)

 

[Docker] 도커의 모든 것, 도커 추천 이미지!!!

필자는 이때까지 docker로 구축한 모든 목록을 이 블로그에 담았다. 앞으로도 이 페이지는 필자가 도커를 구축할 때마다 업데이트하려고 하니, 즐겨찾기 해두면 나쁘지 않을 거 같다. 유용하게 사

betwe.tistory.com

 

docker-compose.yml 파일

docker-compose.yml
services:
  nextcloud-aio-mastercontainer:
    image: nextcloud/all-in-one:latest
    init: true
    restart: always
    container_name: nextcloud-aio-mastercontainer # This line is not allowed to be changed as otherwise AIO will not work correctly
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config # This line is not allowed to be changed as otherwise the built-in backup solution will not work
      - /var/run/docker.sock:/var/run/docker.sock:ro # May be changed on macOS, Windows or docker rootless. See the applicable documentation. If adjusting, don't forget to also set 'WATCHTOWER_DOCKER_SOCKET_PATH'!
    ports:
      #- 80:80 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
      - 8080:8080
      #- 8443:8443 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
    environment: # Is needed when using any of the options below
      - SKIP_DOMAIN_VALIDATION=true 
      # - AIO_DISABLE_BACKUP_SECTION=false # Setting this to true allows to hide the backup section in the AIO interface. See https://github.com/nextcloud/all-in-one#how-to-disable-the-backup-section 
      - APACHE_PORT=11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md 
      - APACHE_IP_BINDING=0.0.0.0 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md 
      - WATCHTOWER_DOCKER_SOCKET_PATH=/var/run/docker.sock
      # - AIO_DISABLE_BACKUP_SECTION=false # Setting this to true allows to hide the backup section in the AIO interface. See https://github.com/nextcloud/all-in-one#how-to-disable-the-backup-section
      # - APACHE_PORT=11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
      # - APACHE_IP_BINDING=127.0.0.1 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
      # - BORG_RETENTION_POLICY=--keep-within=7d --keep-weekly=4 --keep-monthly=6 # Allows to adjust borgs retention policy. See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy
      # - COLLABORA_SECCOMP_DISABLED=false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature
      # - NEXTCLOUD_DATADIR=/mnt/ncdata # Allows to set the host directory for Nextcloud's datadir. ⚠️⚠️⚠️ Warning: do not set or adjust this value after the initial Nextcloud installation is done! See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
      # - NEXTCLOUD_MOUNT=/mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
      # - NEXTCLOUD_UPLOAD_LIMIT=10G # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud
      # - NEXTCLOUD_MAX_TIME=3600 # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud
      # - NEXTCLOUD_MEMORY_LIMIT=512M # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud
      # - NEXTCLOUD_TRUSTED_CACERTS_DIR=/path/to/my/cacerts # CA certificates in this directory will be trusted by the OS of the nexcloud container (Useful e.g. for LDAPS) See See https://github.com/nextcloud/all-in-one#how-to-trust-user-defined-certification-authorities-ca
      # - NEXTCLOUD_STARTUP_APPS=deck twofactor_totp tasks calendar contacts notes # Allows to modify the Nextcloud apps that are installed on starting AIO the first time. See https://github.com/nextcloud/all-in-one#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup
      # - NEXTCLOUD_ADDITIONAL_APKS=imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-os-packages-permanently-to-the-nextcloud-container
      # - NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container
      # - NEXTCLOUD_ENABLE_DRI_DEVICE=true # This allows to enable the /dev/dri device in the Nextcloud container. ⚠️⚠️⚠️ Warning: this only works if the '/dev/dri' device is present on the host! If it should not exist on your host, don't set this to true as otherwise the Nextcloud container will fail to start! See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-transcoding-for-nextcloud
      # - TALK_PORT=3478 # This allows to adjust the port that the talk container is using. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port
      # - WATCHTOWER_DOCKER_SOCKET_PATH=/var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail. For macos it needs to be '/var/run/docker.sock'
    # networks: # Is needed when you want to create the nextcloud-aio network with ipv6-support using this file, see the network config at the bottom of the file
      # - nextcloud-aio # Is needed when you want to create the nextcloud-aio network with ipv6-support using this file, see the network config at the bottom of the file

  # # Optional: Caddy reverse proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
  # # You can find further examples here: https://github.com/nextcloud/all-in-one/discussions/588
  # caddy:
  #   image: caddy:alpine
  #   restart: always
  #   container_name: caddy
  #   volumes:
  #     - ./Caddyfile:/etc/caddy/Caddyfile
  #     - ./certs:/certs
  #     - ./config:/config
  #     - ./data:/data
  #     - ./sites:/srv
  #   network_mode: "host"

volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer # This line is not allowed to be changed as otherwise the built-in backup solution will not work

# # Optional: If you need ipv6, follow step 1 and 2 of https://github.com/nextcloud/all-in-one/blob/main/docker-ipv6-support.md first and then uncomment the below config in order to activate ipv6 for the internal nextcloud-aio network.
# # Please make sure to uncomment also the networking lines of the mastercontainer above in order to actually create the network with docker-compose
# networks:
#   nextcloud-aio:
#     name: nextcloud-aio # This line is not allowed to be changed as otherwise the created network will not be used by the other containers of AIO
#     driver: bridge
#     enable_ipv6: true
#     ipam:
#       driver: default
#       config:
#         - subnet: fd12:3456:789a:2::/64 # IPv6 subnet to use

 

docker-compose 시작

docker-compose up -d

 

Nextcloud 접속

https://서IP:8080

Open Nextcloud AIO login 버튼 클릭

Open Nextcloud AIO login 버튼 클릭
Open Nextcloud AIO login 버튼 클릭

패스워드 입력 후 로그인 버튼 클릭

패스워드 입력 후 로그인 버튼 클릭
패스워드 입력 후 로그인 버튼 클릭

nextcloud 접속할 도메인 입력 후 도메인 제출 클릭

nextcloud 접속할 도메인 입력 후 도메인 제출 클릭
nextcloud 접속할 도메인 입력 후 도메인 제출 클릭

Timezone change Asia/Seoul 입력 후 submit timezone 버튼 클릭

Timezone change Asia/Seoul 입력 후 submit timezone 버튼 클릭
Timezone change Asia/Seoul 입력 후 submit timezone 버튼 클릭

Install Nextcloud 28 체크박스 선택 후 Download and start containers 버튼 클릭

Install Nextcloud 28 체크박스 선택 후 Download and start containers 버튼 클릭
Install Nextcloud 28 체크박스 선택 후 Download and start containers 버튼 클릭

설치 진행 중 화면

설치 진행 중 화면
설치 진행 중 화면

Nextcloud 설치 완료 화면, username / password 복사 후 Open your Nextcloud 버튼 클릭

Nextcloud 설치 완료 화면, username / password 복사 후 Open your Nextcloud 버튼 클릭
Nextcloud 설치 완료 화면, username / password 복사 후 Open your Nextcloud 버튼 클릭

서비스 URL 접속

http://[서버 IP]:11000
https://Domian

Nextcloud 로그인 화면
Nextcloud 로그인 화면
Nextcloud 로그인 후 화면
Nextcloud 로그인 후 화면
Nextcloud 로그인 후 화면
Nextcloud 로그인 후 화면

docker-comopse 중지

docker-compose down
728x90
반응형
LIST