Showing posts with label Docker. Show all posts
Showing posts with label Docker. Show all posts

9/18/2025

Home Assistant with Docker HACS+Editor-card

 Home Assistant with Docker HACS+Editor-card

 

1. add lxc debian template
2. install sudo ติดตั้ง docker และ program ที่ต้องใช้
  1. for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do apt-get remove $pkg; done
  2. apt-get install ca-certificates curl
  3. install -m 0755 -d /etc/apt/keyrings
  4. curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
  5. echo   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  6. $(. /etc/os-release && echo "$VERSION_CODENAME") stable" |   tee /etc/apt/sources.list.d/docker.list > /dev/null
  7. apt-get update
  8. apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3.ติดตั้ง Portainer : https://intranet.scivalve.com/blog.php?u=3&b=1961
  1. docker volume create portainer_data
  2. docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

4. สร้างที่เก็บ config
  1. mkdir /HA

5. ติดตั้ง docker แล้วตั้งค่า
  1. docker run -d \
  2.   --name homeassistant \
  3.   --privileged \
  4.   --restart=unless-stopped \
  5.   -e TZ=Asia/Bangkok \
  6.   -v /HA:/config \
  7.   -v /run/dbus:/run/dbus:ro \
  8.   --network=host \
  9.   ghcr.io/home-assistant/home-assistant:stable

6. ติดตั้ง HACS
  1. docker ps
  2. docker exec -it [CONTAINER_ID] bash -c "wget -O - https://get.hacs.xyz | bash -"

7. restart HA
  1. docker restart <container_name_or_id>

8. เข้า IP:8123 ตั้งค่า HA, Password และอื่น ๆ เพิ่ม integration ชื่อ HACS
เข้าไปที่ Settings --> Devices & Services กด Add integration ค้นหา HACS เพิ่มกด Link ไป github แล้วเอา เลยไปใส่ใน Account github
9. ติดตั้ง Config Editor เพื่อช่วยแก้ไฟล์ config ต่าง ๆ
- เข้าเมนู HACS
- ค้นหาคำว่า config editor
- Download addon ทั้ง 2 ตัว (Config Editor, Config Editor Card)
- เพิ่มข้อความในไฟล์ configuration.yaml
  1. config_editor:


- Restart HA + Reload browser
- เพิ่มเมนูใน Dashboard
- Setting --> Dashboards --> + Add dashboard
- ไปที่ Dashboards ที่เพิ่มมาใหม่ เปลี่ยน View configuration ที่ Add ขึ้นมาใหม่ให้เป็น Panel (single card) เพื่อจะได้เต็มจอ
- Add card ค้นหา Config Editor Card กด save
type text จะเป็น
  1. type: custom:config-editor-card

7/20/2024

Docker on debian12

https://intranet.scivalve.com/blog.php?u=3&b=1953

https://docs.docker.com/desktop/install/debian/
1. ติดตั้ง Debian12
2. เตรียมติดตั้ง Docker
  1. for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done


  1. sudo apt-get update
  2. sudo apt-get install ca-certificates curl
  3. sudo install -m 0755 -d /etc/apt/keyrings
  4. sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
  5. sudo chmod a+r /etc/apt/keyrings/docker.asc


# Add the repository to Apt sources: bookworm คือ VERSION_CODENAME ของ OS แต่ละรุ่น
  1. echo \
  2.   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  3.   $(. /etc/os-release && echo "bookworm") stable" | \
  4.   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  1. sudo apt-get update
  2. sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  3. docker run hello-world
  4. docker version


3. สร้าง file
  1. mkdir php
  2. cd php
  3. nano docker-compose.yml


PHP+DB+phpmyadmin เพิ่มข้อมูล
version: "3.8"
services:
php-apache-environment:
container_name: php-apache
build:
context: ./
dockerfile: Dockerfile
depends_on:
- db
volumes:
- ./:/var/www/html/
ports:
- 8001:80

db:
container_name: db
image: mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: MYSQL_ROOT_PASSWORD
MYSQL_DATABASE: MYSQL_DATABASE
MYSQL_USER: MYSQL_USER
MYSQL_PASSWORD: MYSQL_PASSWORD
ports:
- "8002:3306"

phpmyadmin:
container_name: phpmyadmin
image: phpmyadmin/phpmyadmin
ports:
- "8003:80"
restart: always
environment:
PMA_HOST: db
depends_on:
- db


ในไฟล์ docker-compose.yml เป็นตัวตั้งค่านำไปใช้ใน โปรแกรม เช่น
database name คือ db
User Password อยู่ที่ environment
ports ต่าง ๆ สามารถเปลี่ยนได้ เช่น 8001 คือ web apache, 8003 คือ phpmyadmin


4. สร้าง Dockerfile ชื่อต้องตรงกันกับในไฟล์ docker-compose.yml version php สามารถเปลี่ยนตามที่เราต้องการ
FROM php:8.2-apache
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli
RUN apt-get update && apt-get upgrade -y

คำสั่ง
  1. sudo docker compose up #เริ่มทำงาน
  2. sudo docker compose down #หยุดทำงาน
  3. sudo docker compose pull #update
  4. sudo docker compose up -d #เริ่มทำงานแบบ daemon


  1. sudo docker ps #เรียกดูรายการ process ที่กำลังทำงานอยู่
  2. sudo docker exec -it [ID] bash #เรียกใช้คำสั่งภายใน container


5. เตรียม Folder web
  1. chown www-data:www-data -r /php
  2. chmod 775 -r /php


ใน 1 เครื่อง CT ประกอบด้วย 3 Image
ดู ID ของแต่ละเครื่อง
  1. docker ps

เข้าไปแต่ละเครื่อง bash คือโปรแกรมที่ต้องการใช้งาน
  1. docker exec -it 1d6f98697fba bash

ตั้งเวลาของแต่ละ Image
  1. dpkg-reconfigure tzdata


6. เปิด root ให้สามารถ เข้า ssh ได้ จะได้เข้าได้หลาย ๆ User หรือจะเพิ่ม User เอาก็ได้
  1. nano /etc/ssh/sshd_config

เพิ่มไว้ท้ายสุด
PermitRootLogin yes
  1. /etc/init.d/ssh restart


เพิ่ม User
  1. adduser sa