[Django] Wagtail + uWSGI + Niginx + PostgreSQL with Dockerの環境

前提

  • dockerがインストールされていること
  • gitがインストールされていること

リポジトリをPullしてローカル環境構築

リポジトリにソースは用意しているのでcloneします。

git clone https://github.com/daikidomon/wagtail-postgres-docker

wagtail-postgres-dockerのリポジトリ

doekcr-composeでイメージ作成

コンテナをビルドする。

cd docprotocol
docker-compose build --no-cache

Djangoプロジェクトの作成

ビルドが終わったらwagtail用のプロジェクトを作成。

docker-compose run python3 wagtail start project .

settingsを修正

今回はPostgreSQLを使用する。
./app/project/settings/base.pyの以下を修正。

import os

...
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': os.environ.get('POSTGRES_DB', 'postgres'),
        'USER': os.environ.get('POSTGRES_USER', 'postgres'),
        'PASSWORD': os.environ.get('POSTGRES_PASSWORD', 'postgres'),
        'HOST': 'db',
        'PORT': os.environ.get('POSTGRES_PORT', 5432),
    }
}

データベースのマイグレーション

WagtailとDjangoの各種テーブルをマイグレーション。

docker-compose run python3 python manage.py makemigrations
docker-compose run python3 python manage.py migrate

Adminユーザの作成

管理者ユーザを作成。ここはいつものDjangoと同じ。

docker-compose run python3 python manage.py createsuperuser

Staticfileの取得

CSSとJSファイルをcollectstaticで取得。

docker-compose run python3 python manage.py collectstatic

起動

これで完了なのでdocker-composeで起動。

docker-compose up

よかったらシェアしてね!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください