timmy / Docker 配置檔案 for Python App

0 喜歡
0 分支
2 檔案
最後活躍 3 months ago
此 Dockerfile 用於建立一個基於 Python 3.12 的輕量級 Docker 映像,從 Debian 12 (bookworm) 開始,安裝必要的依賴,並使用 uv 工具來管理 Python 環境和執行應用。它包括多階段構建以優化映像大小和安全性,並設置非 root 使用者來執行應用。
1 .git
2 __pycache__/
3 *.pyc
4 *.pyo
5 *.pyd
6 *.swp
7 .env
8 .venv
9 .uv/
10 dist/

timmy / 查找可用端口的函數

0 喜歡
0 分支
1 檔案
最後活躍 3 months ago
此程式碼定義了一個函數 find_free_port(),使用 socket 建立一個暫時的連接來查找可用的端口號,並返回該端口號。主程式中示範了如何在 Flask 應用中使用此函數以隨機分配可用端口來運行應用。
1 import socket
2 from contextlib import closing
3
4 def find_free_port():
5 # 建立一個暫時的 socket 來偵測可用的 port
6 with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s:
7 # bind 到 0 表示讓系統隨機分配一個可用的 port
8 s.bind(('', 0))
9 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
10 # 回傳那個被分配到的 port 號

timmy / Vim 配置檔案

1 喜歡
0 分支
1 檔案
最後活躍 3 months ago
此配置檔案設定 Vim 的基本編碼、UI、搜尋行為、縮排、剪貼簿及滑鼠控制。它啟用語法高亮、行號顯示及搜尋高亮,並調整縮排規則以使用空格代替 Tab,適合開發環境使用。
1 " ===== 基本編碼 =====
2 set encoding=utf-8
3 set fileencoding=utf-8
4 set fileencodings=utf-8,ucs-bom
5
6 " ===== 基本 UI =====
7 syntax on " 啟用語法高亮
8 set number " 顯示行號
9 set cursorline " 高亮游標所在行
10 set background=dark " 適合深色背景終端機
最後活躍 5 months ago
這個 Makefile 讓 Docker Compose 專案管理變超簡單!它會自動用資料夾名稱當專案名。你可以用它來啟動、停止、重啟服務,也能輕鬆備份和還原 PostgreSQL 資料庫(還原是「砍掉重練」等級,要小心用喔!)。它還能幫你清理 Docker 資源,解決一些「技術債」。配合 `docker-compose.yml`,資料庫服務設定好好的,資料會自動存起來,連初始化腳本的換行符號都會自動搞定,超貼心!
1 # Makefile: 適用於 docker-compose 專案,自動取用當前資料夾為專案名
2
3 COMPOSE := docker-compose
4 COMPOSE_FILE := docker-compose.yml
5 PROJECT_NAME := $(notdir $(CURDIR))  # 依照當前資料夾自動命名
6
7 # 資料庫服務名稱與 Volume 名稱
8 DB_SERVICE_NAME := db # 在 docker-compose.yml 中定義的資料庫服務名稱 (例如:db)
9 # Docker Compose 預設會為 Volume 加上專案名稱前綴。
10 # 所以如果你的 Volume 叫 app_postgres_data,且專案名稱是 myproject,

timmy / MinIO 本地端儲存服務

0 喜歡
0 分支
2 檔案
最後活躍 3 months ago
這個 docker-compose.yml 設定檔是幫你快速啟動一個 MinIO 儲存服務。MinIO 就像是你放在本地端的 S3,方便開發或測試的時候放檔案。它用 minio/minio:latest 映像檔,容器會命名為 app_minio。你可以透過 9000 埠存取 MinIO 的 API,而管理介面則是在 9001 埠。帳號密碼預設是 minioadmin,但你可以透過環境變數 S3_ACCESS_KEY_ID 和 S3_SECRET_ACCESS_KEY 自己改。所有資料都會存在 app_minio_data 這個 Volume 裡,不用怕容器重啟資料就不見了。它會自動重啟,除非你手動停止,並加入到 app_network 網路,方便跟其他服務溝通。
1 MINIO_ROOT_USER=myaccesskey
2 MINIO_ROOT_PASSWORD=mysecretkey
3 MINIO_DOMAIN=minio.example.com
4 MINIO_SERVER_URL=https://minio.example.com
5 MINIO_CONSOLE_URL=https://console.example.com

timmy / Docker Compose 專案通用 Makefile

1 喜歡
0 分支
2 檔案
最後活躍 5 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 喜歡
0 分支
1 檔案
最後活躍 5 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 喜歡
0 分支
2 檔案
最後活躍 6 months ago
此 HTML 頁面顯示一個維護通知,告知用戶網站正在進行計劃中的維護,並包含預計回線時間、聯絡資訊以及感謝用戶的耐心和理解。
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>We'll Be Right Back!</title>
7 <style>
8 body {
9 margin: 0;
10 font-family: Arial, sans-serif;
上一頁 下一頁