### Prepare on install server
cd ~
mkdir robotnet
cd robotnet
mkdir .scripts
mkdir certificate
mkdir database
mkdir DataProtections
mkdir minio
mkdir logs
mkdir logs/scriptmanager
mkdir logs/scriptmanager/logs
mkdir logs/scriptmanager/plogs

### Copy từ máy tính clone git RobotNet
scp ./certificate/san.cnf [username]@[IP]:~/robotnet/certificate/
scp ./certificate/gencert.sh [username]@[IP]:~/robotnet/certificate/
scp .env [username]@[IP]:~/robotnet/
scp docker-deploy.yaml [username]@[IP]:~/robotnet/docker-compose.yaml
scp appsettings.RobotNet.WebApp.json [username]@[IP]:~/robotnet/appsettings.RobotNet.WebApp.json

### Cài đặt trên server

## Thêm domain robotics.doc -> 172.20.235.176 vào file /etc/hosts
## Thêm insecure-registries vào docker /etc/docker/daemon.json 
{
    "insecure-registries" : [ "robotics.doc", "robotics.doc:8083" ]
}

## Restart docker
sudo systemctl daemon-reload
sudo systemctl restart docker

## Login docker.rob
docker login robotics.doc:8083

## Thêm host ip vào subjectAltName của file ~/robotnet/certificate/san.cnf

## Tạo chứng chỉ
sed -i 's/\r$//' gencert.sh
sed -i 's/\r$//' san.cnf
chmod +x ./gencert.sh
./gencert.sh

## Cập nhật các thông số trong file .env
# TAG : version hiện tại
# HOST_IP: địa chỉ IP dùng để kết nối
# WEB_APP_PORT: 443
# SQL_IP: database
# MINIO_IP: minio

cd ~/robotnet
nano .env

## Cập nhật các thông số trong file appsettings.RobotNet.WebApp.json
# Local -> Authority : cập nhật IP của server
# Local -> RedirectUri: cập nhật IP của server, nếu dùng port 443 thì bỏ khai báo port
# Local -> PostLogoutRedirectUri: cập nhật IP của server, nếu dùng port 443 thì bỏ khai báo port
# ScriptManager -> BaseAddress : cập nhật IP của server
# RobotManager -> BaseAddress : cập nhật IP của server
# MapManager -> BaseAddress : cập nhật IP của server

cd ~/robotnet
nano appsettings.RobotNet.WebApp.json

### thêm quyền ghi vào folder database
cd ~/robotnet
chmod a+w database

### Start server
cd ~/robotnet
docker compose up -d

## Truy cập vào web identity server (port 8061) đển cập nhập redirect url


## Restart server
cd ~/robotnet
docker compose restart

### Stop server
cd ~/robotnet
docker compose down

### Cập nhật url redirect của webapp client trong identity
