假設伺服器已安裝好 docker
、nginx
,伺服器 IP 可被公網訪問
拉取鏡像#
-
拉取資料庫鏡像
docker pull postgres:15-alpine
-
拉取
umami
鏡像docker pull docker.umami.is/umami-software/umami:postgresql-latest
啟動資料庫服務#
-
創建本地路徑,用來持久化保存資料庫數據
mkdir postgresql-data
-
創建
docker
網路,供umami
容器訪問docker network create umami_sql_network
-
啟動資料庫服務,替換
/root/umami/postgresql-data
為第一步創建的完整路徑docker run -d --name umami_database --network umami_sql_network --network-alias umami_database -e POSTGRES_DB=umami -e POSTGRES_USER=umami -e POSTGRES_PASSWORD=umami -v /root/umami/postgresql-data:/var/lib/postgresql/data postgres:15-alpine
-
查看資料庫容器日誌與狀態
- 查看資料庫容器日誌:
docker logs umami_database
- 查看運行中的
docker
容器:docker ps
- 查看資料庫容器日誌:
啟動 umami
容器#
-
APP_SECRET
替換為隨機字串,如果不需要nginx
反向代理的話,把-p 127.0.0.1:3000:3000
換成-p 3000:3000
,直接訪問本機http://本機ip:3000
docker run -d --name umami --network umami_sql_network -e DATABASE_URL=postgresql://umami:umami@umami_database:5432/umami -e DATABASE_TYPE=postgresql -e APP_SECRET=ewgyifufsrgyuyhuserfyger -p 127.0.0.1:3000:3000 docker.umami.is/umami-software/umami:postgresql-latest
-
查看
umami
容器日誌:docker logs umami
-
查看運行中的
docker
容器:docker ps
nginx
反向代理 (可選)#
使用 nginx
代理 umami
服務,配置 https證書
新建 /etc/nginx/conf.d/umami.conf
配置文件
vim /etc/nginx/conf.d/umami.conf
填寫以下配置,server_name
、https證書
路徑 (ssl_certificate
、ssl_certificate_key
) 供參考,根據自己的域名與證書路徑配置
server {
listen 443 ssl;
http2 on;
server_name umami.hyacm.com;
ssl_certificate /root/lobe-chat-db/hyacm.com.cert;
ssl_certificate_key /root/lobe-chat-db/hyacm.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:3000;
# proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 20000M;
}
}
重載 nginx
服務
systemctl reload nginx.service
或者重啟 nginx
服務
systemctl restart nginx.service