banner
acai

acai

对世界与新技术充满好奇
github
email
bilibili
zhihu

不使用 docker-compose,只用 Docker 搭建 umami

假設伺服器已安裝好 dockernginx ,伺服器 IP 可被公網訪問

拉取鏡像#

  1. 拉取資料庫鏡像

    docker pull postgres:15-alpine
    
  2. 拉取 umami 鏡像

    docker pull docker.umami.is/umami-software/umami:postgresql-latest
    

啟動資料庫服務#

  1. 創建本地路徑,用來持久化保存資料庫數據

    mkdir postgresql-data
    
  2. 創建 docker 網路,供 umami 容器訪問

    docker network create umami_sql_network
    
  3. 啟動資料庫服務,替換 /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
    
  4. 查看資料庫容器日誌與狀態

    • 查看資料庫容器日誌: 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_namehttps證書路徑 (ssl_certificatessl_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
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。