Nextcloud installation with Docker

基本上只要依據自己需求改動.env的參數
然後直接執行docker-compose up -d就行了吧…

.env

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
APP_PORT=8080
POSTGRES_HOST=nc-postgres
POSTGRES_DB=nextcloud_db
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgrespasswd
REDIS_DATA=./redis
REDIS_PASSWORD=redispasswd
NC_DATA=./data
NC_EXTERNAL=./external
POSTGRES_DATA=./db

NC_EXTERNAL是額外掛載一個空間,方便讓nextcloud掛載

docker-compose.yml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
version: '2'

services:
  app:
    image: nextcloud:latest
    container_name: nextcloud-app
    restart: always
    volumes:
      - $NC_DATA:/var/www/html
      - $NC_EXTERNAL:/external
    ports:
      - $APP_PORT:80
    environment:
      - POSTGRES_HOST=$POSTGRES_HOST
      - POSTGRES_DB=$POSTGRES_DB
      - POSTGRES_USER=$POSTGRES_USER
      - POSTGRES_PASSWORD=$POSTGRES_PASSWORD
	  
    links:
      - db  
      - redis

  db:
    image: postgres:latest
    restart: always
    container_name: nextcloud-db
    hostname: 'nc-postgres' 
    volumes:
      - $POSTGRES_DATA:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=$POSTGRES_DB
      - POSTGRES_USER=$POSTGRES_USER
      - POSTGRES_PASSWORD=$POSTGRES_PASSWORD
	 
  redis:
    image: redis:latest
    container_name: nextcloud-redis
    command: redis-server --requirepass $REDIS_PASSWORD
    volumes:
      - $REDIS_DATA:/data
      - REDIS_PASSWORD=$REDIS_PASSWORD