跳到主要內容

安裝在Windows伺服器上

以下文件是用於在Windows伺服器上安裝Offision。

先決條件
  • Windows伺服器,支援以下版本:
    - Windows伺服器 2022
    - Windows伺服器 2019
    - Windows伺服器 2016 (版本1709或1803)
  • 數據庫SQL Server 2016或以上,啟用全文搜索
  • 您也可以將 SQLExpress 用於非生產用途,請注意 SQLExpress 存在性能限制
  • 有效的 SSL 證書

設置程序

  1. 將 Offision 伺服器圖像 offision.tar 放入文件夾 c:\offision
Offision 伺服器圖片沒有直接下載鏈接。 如果您沒有 Offision 伺服器鏡像,請聯繫 ONES Software
  1. 將以下腳本保存到 c:\offision\docker-compose.yml
version: '3.1'

services:
offision:
image: ones-software/offision:latest
restart: always
volumes:
- /c/offision:/etc/offision
environment:
BackgroundJob__TimeZone: 'Asia/Hong_Kong'
File__BaseDirectory: '/etc/offision/upload-files'
Logging__ErrorLog__FileLogDirectory: '/etc/offision/error-logs/error-logs-{Date}.txt'
Logging__InfoLog__FileLogDirectory: '/etc/offision/info-logs/info-logs-{Date}.txt'
Logging__DbLog__FileLogDirectory: '/etc/offision/db-logs/db-logs-{Date}.txt'
WebPush__PrivateKey: WEB_PUSH_PRIVATE_KEY
WebPush__PublicKey: WEB_PUSH_PUBLIC_KEY
ConnectionStrings__MainDatabase: 'Server=DATABASE_SERVER_ADDRESS;Database=Bookings.ONE;User=DATABASE_USERNAME;Password=DATABASE_PASSWORD;'
ASPNETCORE_URLS: 'https://+;http://+'
ASPNETCORE_HTTPS_PORT: 443
ASPNETCORE_Kestrel__Certificates__Default__Password: CERTIFICATE_PASSWORD
ASPNETCORE_Kestrel__Certificates__Default__Path: '/etc/offision/certificate/offision.pfx'

ports:
- 443:443
.yml 文件的間距非常重要,請保持與示例相同的縮進
  1. 修改 docker-compose.yml:
    1. DATABASE_SERVER_ADDRESS, DATABASE_USERNAMEDATABASE_PASSWORD 替換為您的數據庫連接字符串
      如果您的 SQLExpress 與 Docker 在同一台伺服器上運行,則必須啟用SQLExpress remote connect 遠程連接並且 DATABASE_SERVER_ADDRESS 使用 host.docker.internal,1433
    2. WEB_PUSH_PRIVATE_KEYWEB_PUSH_PUBLIC_KEY 替換為您的密鑰對。此密鑰為 VAPID 密鑰,您可以自己生成或使用某些在線密鑰生成器生成
    3. CERTIFICATE_PASSWORD 替換為您的證書密碼
  2. 把證書文件放到 C:\offision\certificate\ ,證書名必須是 offision.pfx
  3. 打開 PowerShell,轉到 C:\offision
  4. 運行命令 docker load --input ./offision.tar
  5. 運行命令 docker-compose up -d
  6. 現在您可以通過 https://localhost 訪問 Offision 控制台

以下是一個示例 docker-compose.yml 供您參考

version: '3.1'

services:
offision:
image: ones-software/offision:latest
restart: always
volumes:
- /c/offision:/etc/offision
environment:
BackgroundJob__TimeZone: 'Asia/Hong_Kong'
File__BaseDirectory: '/etc/offision/upload-files'
Logging__ErrorLog__FileLogDirectory: '/etc/offision/error-logs/error-logs-{Date}.txt'
Logging__InfoLog__FileLogDirectory: '/etc/offision/info-logs/info-logs-{Date}.txt'
Logging__DbLog__FileLogDirectory: '/etc/offision/db-logs/db-logs-{Date}.txt'
WebPush__PublicKey: 'BJszfqip7Ii_lKSXCd_ZZJXT5FeQwJCZx79mLpr3nY8_rvRzSBLuaTx5dOp4rQZtzI511UvoyRXIwPoZ4_PALFA'
WebPush__PrivateKey: 'C-RkwJZGooRiI0CGNwAmShlaSWsh4SRNkol-ni5LGAk'
ConnectionStrings__MainDatabase: 'Server=host.docker.internal,1433;Database=Bookings.ONE;User=sa;Password=P@$$w0rd'
ASPNETCORE_URLS: 'https://+;http://+'
ASPNETCORE_HTTPS_PORT: 443
ASPNETCORE_Kestrel__Certificates__Default__Password: Password1234
ASPNETCORE_Kestrel__Certificates__Default__Path: '/etc/offision/certificate/offision.pfx'
ports:
- 443:443

更新 Offision 伺服器

  1. 將最新的 Offision 伺服器映像下載到 C:\offision
  2. C:\offision 中打開 PowerShell
  3. 停止 Offision ,運行命令 docker-compose down
  4. 加載最新的 Offision 伺服器鏡像,運行命令 docker load --input ./offision.tar
  5. 更新並啟動 Offision,運行命令 docker-compose up
無需將圖像放在文件夾 C:\offision 中,任何驅動器或文件夾都可以使用,如果要移動到其他文件夾,請將“/c/offision”替換為目標文件夾(例如 /d/server/offision)