timmy / Docker Compose 專案通用 Makefile
1 likes
0 forks
2 files
Last active 8 months ago
這個 Makefile 專門為 Docker Compose 專案設計,它會自動抓取你當前資料夾的名稱當作專案名,省去手動設定的麻煩。裡面包辦了 Docker Compose 最常用的指令,像是啟動、停止、重新建置、查看日誌、進入容器等,讓你可以「一鍵搞定」專案操作。此外,它還提供了清理服務資料和未使用 Docker 資源的功能,讓你的工作環境保持乾淨,是管理 Docker Compose 專案的好幫手!
| 1 | # Makefile: 適用於 docker-compose 專案,自動取用當前資料夾為專案名 |
| 2 | |
| 3 | COMPOSE := docker-compose |
| 4 | COMPOSE_FILE := docker-compose.yml |
| 5 | PROJECT_NAME := $(notdir $(CURDIR)) # 依照當前資料夾自動命名 |
| 6 | |
| 7 | # 可選自訂 .env 變數(預設 docker-compose 自動載入) |
| 8 | # ENV_FILE := .env |
| 9 | |
| 10 | .PHONY: help up down build restart logs ps exec clean prune |
timmy / Python 專案 UV 管理 Makefile
0 likes
0 forks
1 files
Last active 8 months ago
這個 Makefile 專為使用 uv 管理的 Python 專案打造,讓你在開發時可以「一鍵搞定」各種操作,根本就是工程師福音。它簡化了虛擬環境的建立與套件安裝(init 和 install),讓你不用再記一堆指令。程式碼品質管理也變得超簡單,可以用 lint 進行靜態檢查,或用 format 自動排版,輕鬆解決排版上的「技術債」。跑測試用 test,執行主程式就敲 run。最後,還有個方便的 clean 指令,能一次移除快取檔案和虛擬環境,讓你專案「砍掉重練」時超方便,保持工作環境的整潔,完全符合台灣工程師「實用至上」的精神!
| 1 | # Makefile: 適用於使用 uv 管理的 Python 專案 |
| 2 | |
| 3 | PY := uv venv exec -- python |
| 4 | PIP := uv pip |
| 5 | VENV := .venv |
| 6 | |
| 7 | .PHONY: help init install lint format test run clean |
| 8 | |
| 9 | help: |
| 10 | @echo "📘 可用指令:" |
timmy / 根目錄自動導向設定範例
0 likes
0 forks
1 files
Last active 9 months ago
此 Nginx 設定檔案示範如何將根目錄請求自動轉向至指定路徑(如 /target-path 或 /dashboard),使用 301 永久導向,並包含註解說明設置位置及轉向行為。
| 1 | # --- 根目錄自動導向設定範例 --- |
| 2 | # 若網址是根目錄,自動 301 轉到 /target-path |
| 3 | # 301 是永久導向(SEO 友善),若只想暫時導向,請改成 302 |
| 4 | # 自訂路徑前記得加上斜線(/),不然 Nginx 會報語法錯誤 |
| 5 | # 請貼在任何 allow/deny 設定之後 |
| 6 | |
| 7 | if ($request_uri = "/") { |
| 8 | return 301 /target-path; |
| 9 | } |
timmy / 安裝 Python 相依套件
0 likes
0 forks
1 files
Last active 9 months ago
此 Bash 腳本設置環境變數並使用 pip 安裝 requirements.txt 中列出的 Python 相依套件到當前目錄,並禁用快取以確保最新版本。
| 1 | #!/bin/bash |
| 2 | |
| 3 | SHELL=/bin/sh |
| 4 | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
| 5 | TZ='Asia/Taipei' |
| 6 | |
| 7 | pip install --no-cache-dir -r requirements.txt -t . |
timmy / 列出 OpenAI 模型清單
0 likes
0 forks
1 files
Last active 9 months ago
此 Python 程式碼用於初始化 OpenAI 客戶端,設定 API 金鑰和自定義基礎 URL,並列出可用的模型清單。
| 1 | import os |
| 2 | from openai import OpenAI |
| 3 | |
| 4 | # 初始化 OpenAI 客戶端,設定 API 金鑰跟自定義 base URL |
| 5 | client = OpenAI( |
| 6 | api_key="sk-olPkgbB0-qQbgW5kO-ovidK4cR-WTmLAUco", # 直接寫入你的金鑰 |
| 7 | base_url="http://192.168.88.82:4000" # 指定自定義 API 端點 |
| 8 | ) |
| 9 | |
| 10 | # 獲取模型列表 |
timmy / 使用 OpenAI API 進行串流聊天完成
0 likes
0 forks
1 files
Last active 9 months ago
此程式碼初始化 OpenAI 客戶端,並發送聊天請求以串流方式獲取回應,逐步顯示用戶輸入的內容解釋。
| 1 | import os |
| 2 | from openai import OpenAI |
| 3 | |
| 4 | # 初始化 OpenAI 客戶端,設定 API 金鑰跟自定義 base URL |
| 5 | client = OpenAI( |
| 6 | api_key="sk-olPkgbB0-qQbgW5kO-ovidK4cR-WTmLAUco", # 直接寫入你的金鑰 |
| 7 | base_url="http://192.168.88.82:4000" # 指定自定義 API 端點 |
| 8 | ) |
| 9 | |
| 10 | # 發送聊天完成請求,啟用串流模式 |
timmy / 強制執行 Logrotate
0 likes
0 forks
1 files
Last active 9 months ago
此 Bash 腳本用於強制執行 Logrotate,立即處理系統日誌檔案的輪替,保持日誌管理的有效性。
| 1 | #!/bin/bash |
| 2 | # sudo logrotate -d /etc/logrotate.conf # 只測試,不真的動手 |
| 3 | sudo logrotate -f /etc/logrotate.conf # 強制馬上執行一次 |