Skip to content
dendencat edited this page Feb 9, 2025 · 1 revision

概要と目的 📝

背景・目的

  • 背景: このリポジトリは、Docker、Django、Nginx を利用したブログ CMS の構築を目的としています。
  • 目的:
    • モジュール化された保守性の高い CMS の提供
    • コンテナ技術を用いたシームレスなデプロイの実現
    • セキュリティベストプラクティスの徹底
    • CI/CD による自動テスト・デプロイの実現

アーキテクチャ 🏗️

システム全体構成

  • 各コンテナの役割:
    • Django アプリ: ビジネスロジックおよび CMS 機能を担当
    • Nginx: 静的コンテンツの配信およびリバースプロキシとして機能
    • データベース: ユーザーデータおよびコンテンツの保存
  • ネットワーク構成:
    • Docker Compose により各サービス間でセキュアな内部ネットワークを構築

アーキテクチャ・コンポーネント図

  • アーキテクチャ図
  • コンポーネント図

セットアップ手順 ⚙️

前提条件

  • Docker 🐳
  • Docker Compose 🧩
  • Git 🔧
  • SSL 証明書取得ツール (例: Certbot)

手順

  1. リポジトリのクローン:
    git clone https://github.com/yourusername/yourrepository.git
  2. 環境変数の設定:
    • プロジェクトルートに .env ファイルを作成し、必要な設定を記述する
  3. 初期セットアップ:
    • Docker イメージのビルド:
      docker-compose build
    • サービスの起動:
      docker-compose up -d
  4. SSL 証明書の取得:
    • Certbot を用いて証明書を取得・インストール:
      sudo certbot --nginx -d yourdomain.com

開発ガイドライン 🛠️

開発環境のセットアップ

  • ホットリロード: 変更を即時反映するための設定を行う
  • デバッグモード: 開発中はデバッグモードで実行

Docker Compose (デバッグモード) の例

version: '3.8'
services:
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000 --settings=yourproject.settings.dev
    volumes:
      - .:/app
    ports:
      - "8000:8000"