from-docker-compose.md 5.33 KB
Newer Older
Patipat Jo's avatar
Patipat Jo committed
1
2
3
# วิธีการติดตั้ง CKAN ด้วย Docker Compose
สำหรับการติดตั้ง CKAN ด้วย Docker Compose แนะนำให้มีการติดตั้ง docker และ docker-compose ก่อน โดยใช้เวอร์ชั่น ดังนี้ 
- docker >= 19
thepaeth's avatar
thepaeth committed
4
- docker-compose >= version 1.13
5

Patipat Jo's avatar
Patipat Jo committed
6
วิธีการตรวจสอบเวอร์ชั่นของ docker และ docker-compose
7
```sh
Patipat Jo's avatar
Patipat Jo committed
8
9
10
11
12
docker -v
#Docker version 19.03.13, build 4484c46d9d

docker-compose -v
#docker-compose version 1.26.2, build unknown
13
14
```
## การติดตั้ง docker
Patipat Jo's avatar
Patipat Jo committed
15
ติดตั้ง docker สำหรับเครื่องที่ยังไม่ได้ติดตั้ง โดยใช้คำสั่ง
16
```sh
Patipat Jo's avatar
Patipat Jo committed
17
curl https://get.docker.com | sh
Patipat Jo's avatar
Patipat Jo committed
18
#รอจนกว่าการติดตั้งเสร็จเรียบร้อย
19
```
Patipat Jo's avatar
Patipat Jo committed
20
เมื่อติดตั้ง docker เรียบร้อยให้ทำการให้สิทธิ์การใช้งานสำหรับ user ตั้งนี้
21
```sh
Patipat Jo's avatar
Patipat Jo committed
22
23
sudo newgrp docker

Patipat Jo's avatar
Patipat Jo committed
24
sudo usermod -aG docker `whoami`
Patipat Jo's avatar
Patipat Jo committed
25

Patipat Jo's avatar
Patipat Jo committed
26
27
#ตรวจสอบ version ของ docker
docker -v
28
29
30
```

## การติดตั้ง docker-compose
Patipat Jo's avatar
Patipat Jo committed
31
ติดตั้ง docker-compose สำหรับเครื่องที่ยังไม่ได้ติดตั้ง โดยใช้คำสั่ง
32
```sh
Patipat Jo's avatar
Patipat Jo committed
33
34
sudo apt install docker-compose

35
# ตรวจสอบ version ของ docker-compose
Patipat Jo's avatar
Patipat Jo committed
36
docker-compose -v
37
38
```

Patipat Jo's avatar
Patipat Jo committed
39
## การติดตั้ง CKAN Docker และ Extension
Patipat Jo's avatar
Patipat Jo committed
40
### 1. ทำการโหลด ckan-docker-thai-gdc
41
```sh
Patipat Jo's avatar
Patipat Jo committed
42
git clone https://gitlab.nectec.or.th/opend/ckan-docker-thai-gdc.git ~/ckan-docker
43
```
Patipat Jo's avatar
Patipat Jo committed
44
45

### 2. ทำสร้างไฟล์ .env จากไฟล์ .env.template ที่เตรียมไว้ให้
46
```sh
Patipat Jo's avatar
Patipat Jo committed
47
48
cd ~/ckan-docker

Patipat Jo's avatar
Patipat Jo committed
49
cp .env.template .env
50
```
Patipat Jo's avatar
Patipat Jo committed
51
### 3. แก้ไขไฟล์ .env
52
```sh
Patipat Jo's avatar
Patipat Jo committed
53
vi .env
Patipat Jo's avatar
Patipat Jo committed
54
55
56
57
58
59
60
61
62
    - กำหนด Username และ Password สำหรับ Database ของ CKAN
        > POSTGRES_USER=ckan
        > POSTGRES_PASSWORD={ckan_password}
    - กำหนด Username และ Password สำหรับ Datastore
        > DATASTORE_READONLY_USER=datastore_ro
        > DATASTORE_READONLY_PASSWORD={datastore_password}
    - กำหนดชื่อ Host สำหรับ Database Postgres
        > POSTGRES_HOST=db
    - กำหนด version ของ CKAN
Patipat Jo's avatar
Patipat Jo committed
63
        > CKAN_VERSION=2.9
Patipat Jo's avatar
Patipat Jo committed
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
    - ตัวเลขกำกับ container (default)
        > PROJECT_NUMBER=1
    - กำหนด port สำหรับ Nginx
        > NGINX_PORT=8881
    - กำหนด port สำหรับ Datapusher
        > DATAPUSHER_PORT=8800
    - กำหนด url สำหรับเว็บเป็น Domain/IP
        > DEFAULT_URL=http://localhost
    - กำหนด CKAN Site ID (default)
        > CKAN_SITE_ID=default
    - กำหนด CKAN Site URL
        > CKAN_SITE_URL=http://{domain}:8881
    - กำหนด CKAN Port
        > CKAN_PORT=5000
    - กำหนดรายละเอียด SysAdmin ของระบบ
        > CKAN_SYSADMIN_NAME={admin_username}
        > CKAN_SYSADMIN_PASSWORD={admin_password}
        > CKAN_SYSADMIN_EMAIL={admin_email}
thepaeth's avatar
thepaeth committed
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
    - การตั้งค่าเพื่อจัดการ database postgres สำหรับ CKAN
        > CKAN_SQLALCHEMY_URL=postgresql://ckan:ckan@db/ckan
    - การตั้งค่าเพื่อเขียนข้อมูลลง datastore สำหรับ plugin dataphser
        > CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@db/datastore
    - การตั้งค่าเพื่ออ่านข้อมูลจาก datastore สำหรับ plugin dataphser
        > CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore
    - url สำหรับเชื่อมต่อกับ solr
        > CKAN_SOLR_URL=http://solr:8983/solr/ckan
    - url สำหรับเชื่อมต่อกับ redis
        > CKAN_REDIS_URL=redis://redis:6379/0
    - path สำหรับ storage ของ CKAN
        > CKAN__STORAGE_PATH=/var/lib/ckan
    - plugin ทั้งหมดที่เปิดใช้งาน
        > CKAN__PLUGINS=envvars stats image_view text_view recline_view resource_proxy webpage_view datastore datapusher scheming_datasets pdf_view hierarchy_display hierarchy_form dcat dcat_json_interface structured_data thai_gdc
    - defualt view
        > CKAN__VIEWS__DEFAULT_VIEWS=image_view text_view recline_view webpage_view pdf_view
    - default dataset schema
        > CKAN___SCHEMING__DATASET_SCHEMAS=ckanext.thai_gdc:ckan_dataset.json
100
101
```

Patipat Jo's avatar
Patipat Jo committed
102
### 4. เริ่มการทำงานของ CKAN ด้วย docker-compose
103
```sh
Patipat Jo's avatar
Patipat Jo committed
104
105
docker-compose up -d --build

106
# ตรวจการทำงานของ docker-compose ที่เรารัน
Patipat Jo's avatar
Patipat Jo committed
107
$ docker ps
108
109
```

Patipat Jo's avatar
Patipat Jo committed
110
111
112
113
### 5. ทดสอบการงานของ CKAN ด้วยเข้าไปใช้งานเว็บบราวเซอร์ url: http://localhost:8881


### การยกเลิกการทำงานของ CKAN docker และ clear ข้อมูล 
114
115
116
117
118
```sh
$ docker-compose down
$ docker volume prune
$ docker system prune
```