lexa-uw.nginx-in-docker
Ansibleロール:Dockerコンテナ内でNginxサーバーをセットアップおよび実行する
このロールを使用すると、自分のDockerノードにNginxサーバーをインストールできます。デフォルトでは、Qualys SSL Labsの評価で「A+」を得るためのnginx SSL/TLS構成が含まれています。
要件
このロールはAnsible 2.5以上が必要です。
ロール変数
パッケージオプション:
nginx_global_config
グローバル設定ファイルのテンプレート
nginx_allow
サーバーへのアクセスを許可するIPアドレスのリスト。
nginx_dir
Nginxのベースディレクトリ。(デフォルト: /tmp/nginx)
nginx_htpasswd
htpasswdのリスト。
nginx_openssl_dhparam_numbits
dhparam証明書を生成するためのビット数。(デフォルト: 4096)
コンテナオプション
Dockerコンテナを実行するためのオプション。デフォルト:
nginx_container_command: []
nginx_container_env: {}
nginx_container_image: "nginx:alpine"
nginx_container_log_driver: "json-file"
nginx_container_name: "nginx"
nginx_container_network_mode: bridge
nginx_container_networks: []
nginx_container_pull: "yes"
nginx_container_recreate: "no"
nginx_container_restart_policy: "always"
nginx_container_restart: "no"
nginx_container_state: "started"
nginx_container_volumes: []
nginx_container_log_options: {
labels: "{{ nginx_container_name }}",
}
nginx_container_ports:
- 443:443
- 80:80
プロジェクトにロールを追加:
ロールを要件に追加します(例:_requirements.yml_):
- src: https://github.com/lexa-uw/ansible-role-nginx-in-docker
version: v2.0.0
name: nginx
ロールをインストール: ansible-galaxy install -r ./requirements.yml --roles-path ./roles/
プレイブックの例:
- hosts: all
vars_files:
- vars/main.yml
roles:
- { role: nginx }
vars/main.yml
内
nginx_allow:
- "127.0.0.1"
- "1.1.1.1"
nginx_dir: "{{ansible_env.PWD}}/docker/nginx"
nginx_htpasswd:
- "admin:$apr1nuGQ0aW41nBe8nisbHRz4JZ9vq43u"
nginx_openssl_dhparam_numbits: 4096
nginx_container_image: "nginx:1.15.9-alpine"
nginx_container_name: "nginx"
nginx_container_network_mode: "host"
nginx_container_ports: []