diff --git a/docker/files/mhl.env b/docker/files/mhl.env new file mode 100644 index 0000000..0743ee3 --- /dev/null +++ b/docker/files/mhl.env @@ -0,0 +1,17 @@ +HOST=0.0.0.0 +PORT=80 +LOG_LEVEL=WARN +DEBUG=false +SQLALCHEMY_DATABASE_URI=postgresql://postgres:123456@db:5432/pettymhl +MODULE_NAME=barker.main +PROJECT_NAME=barker +REDIS_HOST=redis +REDIS_PORT=6379 +SECRET_KEY=8b7f704ad1bbee3caa683a57440a6a371937fe5f64a7712a6a15bf3165c3c598 +MIDDLEWARE_SECRET_KEY=1aa5487223 +ALGORITHM=HS256 +JWT_TOKEN_EXPIRE_MINUTES=30 +NEW_DAY_OFFSET_MINUTES=420 +TIMEZONE_OFFSET_MINUTES=330 +ALEMBIC_LOG_LEVEL=INFO +ALEMBIC_SQLALCHEMY_LOG_LEVEL=WARN diff --git a/docker/playbook-mhl.yml b/docker/playbook-mhl.yml new file mode 100755 index 0000000..eede660 --- /dev/null +++ b/docker/playbook-mhl.yml @@ -0,0 +1,69 @@ +################################################# +# DO Community Playbooks: Docker +################################################# +--- +- hosts: all + become: true + vars_files: + - vars/mhl.yml + + tasks: + - name: Copy dockerfile + synchronize: src=app dest=/tmp + + - name: Build barker image + docker_image: + name: barker:latest + build: + path: /tmp/app/ + dockerfile: /tmp/app/Dockerfile + pull: yes + state: present + source: build + + - name: Upload the .env file + template: + src: "files/mhl.env" + dest: "/var/lib/{{ host_directory }}/.env" + + - name: Create barker container + docker_container: + name: "{{ host_directory }}" + image: barker:latest + state: started + restart_policy: "unless-stopped" + env_file: "/var/lib/{{ host_directory }}/.env" + links: + - "postgres:db" + - "redis:redis" + published_ports: + - "127.0.0.1:{{ host_port }}:80" + volumes: + - "/var/lib/{{ host_directory }}/frontend:/frontend" + + - name: Check if Nginx conf file exists + stat: path="/etc/nginx/sites-available/{{ http_conf }}" + register: status + + - name: No need to reload Nginx + debug: msg= {{ "No need to reload Nginx as sites-available entries have already been created" }} + + - name: Set Nginx conf file + when: status.stat.exists == false + template: + src: "files/nginx.conf.j2" + dest: "/etc/nginx/sites-available/{{ http_conf }}" + + - name: Enable new site + when: status.stat.exists == false + file: + src: "/etc/nginx/sites-available/{{ http_conf }}" + dest: "/etc/nginx/sites-enabled/{{ http_conf }}" + state: link + notify: Reload Nginx + + handlers: + - name: Reload Nginx + service: + name: nginx + state: reloaded diff --git a/docker/vars/mhl.yml b/docker/vars/mhl.yml new file mode 100644 index 0000000..2ffb3aa --- /dev/null +++ b/docker/vars/mhl.yml @@ -0,0 +1,5 @@ +--- +http_host: "knox.hngmohali.com" +http_conf: "knox.hngmohali.com.conf" +host_port: "8336" +host_directory: "barker-mhl"