From c6226d8204ee98b675c2137c82f061abc7e6a8f4 Mon Sep 17 00:00:00 2001 From: tanshu Date: Wed, 18 Aug 2021 09:17:00 +0530 Subject: [PATCH] Removed barker and moved it the main project --- barker/app/Dockerfile | 32 ----------- barker/app/backend.dockerfile | 25 -------- barker/app/celeryworker.dockerfile | 35 ------------ barker/app/docker-entrypoint.sh | 6 -- barker/app/worker.Dockerfile | 24 -------- barker/files/.env | 16 ------ barker/files/nginx.conf.j2 | 40 ------------- barker/playbook.yml | 91 ------------------------------ barker/readme.md | 46 --------------- barker/vars/default.yml | 5 -- 10 files changed, 320 deletions(-) delete mode 100644 barker/app/Dockerfile delete mode 100644 barker/app/backend.dockerfile delete mode 100644 barker/app/celeryworker.dockerfile delete mode 100644 barker/app/docker-entrypoint.sh delete mode 100644 barker/app/worker.Dockerfile delete mode 100644 barker/files/.env delete mode 100644 barker/files/nginx.conf.j2 delete mode 100755 barker/playbook.yml delete mode 100644 barker/readme.md delete mode 100644 barker/vars/default.yml diff --git a/barker/app/Dockerfile b/barker/app/Dockerfile deleted file mode 100644 index a3b0a08..0000000 --- a/barker/app/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM node:latest AS builder -RUN git clone --single-branch --depth 1 --branch latest https://git.tanshu.com/tanshu/barker.git /app -WORKDIR /app/bookie -RUN npm install --unsafe-perm && /app/bookie/node_modules/.bin/ng build --prod - - -FROM python:latest -LABEL maintainer="Amritanshu " -COPY --from=builder /app/barker /app -COPY --from=builder /app/frontend /app/frontend -WORKDIR /app - -# Install Poetry -RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME=/opt/poetry python && \ - cd /usr/local/bin && \ - ln -s /opt/poetry/bin/poetry && \ - poetry config virtualenvs.create false - -# Allow installing dev dependencies to run tests -ARG INSTALL_DEV=false -RUN bash -c "if [ $INSTALL_DEV == 'true' ] ; then poetry install --no-root ; else poetry install --no-root --no-dev ; fi" - -ENV PYTHONPATH=/app -EXPOSE 80 -VOLUME /frontend - -COPY docker-entrypoint.sh /usr/local/bin/ -RUN chmod 777 /usr/local/bin/docker-entrypoint.sh \ - && ln -s /usr/local/bin/docker-entrypoint.sh / -ENTRYPOINT ["docker-entrypoint.sh"] - -CMD ["python", "-m", "barker"] diff --git a/barker/app/backend.dockerfile b/barker/app/backend.dockerfile deleted file mode 100644 index 8c39c50..0000000 --- a/barker/app/backend.dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -FROM tiangolo/uvicorn-gunicorn-fastapi:python3.7 - -WORKDIR /app/ - -# Install Poetry -RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME=/opt/poetry python && \ - cd /usr/local/bin && \ - ln -s /opt/poetry/bin/poetry && \ - poetry config virtualenvs.create false - -# Copy poetry.lock* in case it doesn't exist in the repo -COPY ./app/pyproject.toml ./app/poetry.lock* /app/ - -# Allow installing dev dependencies to run tests -ARG INSTALL_DEV=false -RUN bash -c "if [ $INSTALL_DEV == 'true' ] ; then poetry install --no-root ; else poetry install --no-root --no-dev ; fi" - -# For development, Jupyter remote kernel, Hydrogen -# Using inside the container: -# jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888 -ARG INSTALL_JUPYTER=false -RUN bash -c "if [ $INSTALL_JUPYTER == 'true' ] ; then pip install jupyterlab ; fi" - -COPY ./app /app -ENV PYTHONPATH=/app diff --git a/barker/app/celeryworker.dockerfile b/barker/app/celeryworker.dockerfile deleted file mode 100644 index 4695a7b..0000000 --- a/barker/app/celeryworker.dockerfile +++ /dev/null @@ -1,35 +0,0 @@ -FROM python:3.7 - -WORKDIR /app/ - -# Install Poetry -RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME=/opt/poetry python && \ - cd /usr/local/bin && \ - ln -s /opt/poetry/bin/poetry && \ - poetry config virtualenvs.create false - -# Copy poetry.lock* in case it doesn't exist in the repo -COPY ./app/pyproject.toml ./app/poetry.lock* /app/ - -# Allow installing dev dependencies to run tests -ARG INSTALL_DEV=false -RUN bash -c "if [ $INSTALL_DEV == 'true' ] ; then poetry install --no-root ; else poetry install --no-root --no-dev ; fi" - -# For development, Jupyter remote kernel, Hydrogen -# Using inside the container: -# jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888 -ARG INSTALL_JUPYTER=false -RUN bash -c "if [ $INSTALL_JUPYTER == 'true' ] ; then pip install jupyterlab ; fi" - -ENV C_FORCE_ROOT=1 - -COPY ./app /app -WORKDIR /app - -ENV PYTHONPATH=/app - -COPY ./app/worker-start.sh /worker-start.sh - -RUN chmod +x /worker-start.sh - -CMD ["bash", "/worker-start.sh"] diff --git a/barker/app/docker-entrypoint.sh b/barker/app/docker-entrypoint.sh deleted file mode 100644 index 645ab7d..0000000 --- a/barker/app/docker-entrypoint.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -set -e - -cp /app/frontend/* /frontend - -exec "$@" diff --git a/barker/app/worker.Dockerfile b/barker/app/worker.Dockerfile deleted file mode 100644 index 0ad0a87..0000000 --- a/barker/app/worker.Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -FROM python:latest -LABEL maintainer="Amritanshu " -RUN git clone --single-branch --depth 1 --branch latest https://git.tanshu.com/tanshu/barker.git /repo -RUN mkdir /app && mv /repo/barker/* /app -WORKDIR /app - -# Install Poetry -RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME=/opt/poetry python && \ - cd /usr/local/bin && \ - ln -s /opt/poetry/bin/poetry && \ - poetry config virtualenvs.create false - -# Allow installing dev dependencies to run tests -ARG INSTALL_DEV=false -RUN bash -c "if [ $INSTALL_DEV == 'true' ] ; then poetry install --no-root ; else poetry install --no-root --no-dev ; fi" - -ENV C_FORCE_ROOT=1 -ENV PYTHONPATH=/app - -RUN mv /app/worker-start.sh /usr/local/bin/ \ - && chmod 777 /usr/local/bin/worker-start.sh \ - && ln -s /usr/local/bin/worker-start.sh / - -CMD ["bash", "worker-start.sh"] diff --git a/barker/files/.env b/barker/files/.env deleted file mode 100644 index 50ed28a..0000000 --- a/barker/files/.env +++ /dev/null @@ -1,16 +0,0 @@ -HOST=0.0.0.0 -PORT=80 -LOG_LEVEL=WARN -DEBUG=false -SQLALCHEMY_DATABASE_URI=postgresql://postgres:123456@db:5432/petty -MODULE_NAME=barker.main -PROJECT_NAME=barker -SECRET_KEY=ae4d6e7dfaffa2093598555b239e87d29b5876d4a5ff11b8affa479eb72c41ca -MIDDLEWARE_SECRET_KEY=29e4c76b6c -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 -RABBITMQ_URI=pyamqp://guest@rabbit// diff --git a/barker/files/nginx.conf.j2 b/barker/files/nginx.conf.j2 deleted file mode 100644 index dc15359..0000000 --- a/barker/files/nginx.conf.j2 +++ /dev/null @@ -1,40 +0,0 @@ -server { - - listen 80; - server_name {{ http_host }}; - - # Allow large attachments - client_max_body_size 128M; - - location /api { - proxy_set_header Host $host:$server_port; - proxy_set_header X-Scheme $scheme; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_pass http://localhost:{{ host_port }}; - } - location /token { - - proxy_set_header Host $host:$server_port; - proxy_set_header X-Scheme $scheme; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_pass http://localhost:{{ host_port }}; - } - location /refresh { - proxy_set_header Host $host:$server_port; - proxy_set_header X-Scheme $scheme; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_pass http://localhost:{{ host_port }}; - } - location /db-image { - proxy_set_header Host $host:$server_port; - proxy_set_header X-Scheme $scheme; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_pass http://localhost:{{ host_port }}; - } - location / { - root /var/lib/{{ host_directory }}/frontend; - index index.html index.htm; - try_files $uri $uri/ /index.html =404; - } -} - diff --git a/barker/playbook.yml b/barker/playbook.yml deleted file mode 100755 index 07176b4..0000000 --- a/barker/playbook.yml +++ /dev/null @@ -1,91 +0,0 @@ -################################################# -# DO Community Playbooks: Docker -################################################# ---- -- hosts: all - become: true - vars_files: - - vars/default.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: Build barker worker image - docker_image: - name: barker-worker:latest - build: - path: /tmp/app/ - dockerfile: /tmp/app/worker.Dockerfile - pull: yes - state: present - source: build - - - name: Upload the .env file - template: - src: "files/.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" - - "rabbit:rabbit" - published_ports: - - "127.0.0.1:{{ host_port }}:80" - volumes: - - "/var/lib/{{ host_directory }}/frontend:/frontend" - - - name: Create barker worker container - docker_container: - name: "{{ host_directory }}-worker" - image: barker-worker:latest - state: started - restart_policy: "unless-stopped" - env_file: "/var/lib/{{ host_directory }}/.env" - links: - - "rabbit:rabbit" - - - - 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/barker/readme.md b/barker/readme.md deleted file mode 100644 index f6d7ecc..0000000 --- a/barker/readme.md +++ /dev/null @@ -1,46 +0,0 @@ -# Docker on Ubuntu 18.04 - -This playbook will install Docker an Ubuntu 18.04 machine, as explained in the guide on -[How to Use Ansible to Install and Set Up Docker on Ubuntu 18.04](https://www.digitalocean.com/community/tutorials/how-to-use-ansible-to-install-and-set-up-docker-on-ubuntu-18-04). -A number of containers will be created with the options specified in the `vars/default.yml` variable file. - -## Settings - -- `create_containers`: number of containers to create. -- `default_container_name`: default name for new containers. -- `default_container_image`: default image for new containers. -- `default_container_command`: default command to run on new containers. - - -## Running this Playbook - -Quick Steps: - -### 1. Obtain the playbook -```shell -git clone https://github.com/do-community/ansible-playbooks.git -cd ansible-playbooks/docker_ubuntu1804 -``` - -### 2. Customize Options - -```shell -nano vars/default.yml -``` - -```yml -#vars/default.yml ---- -create_containers: 4 -default_container_name: docker -default_container_image: ubuntu -default_container_command: sleep 1d -``` - -### 3. Run the Playbook - -```command -ansible-playbook -l [target] -i [inventory file] -u [remote user] playbook.yml -``` - -For more information on how to run this Ansible setup, please check this guide: [How to Use Ansible to Install and Set Up Docker on Ubuntu 18.04](https://www.digitalocean.com/community/tutorials/how-to-use-ansible-to-install-and-set-up-docker-on-ubuntu-18-04). \ No newline at end of file diff --git a/barker/vars/default.yml b/barker/vars/default.yml deleted file mode 100644 index 032ec33..0000000 --- a/barker/vars/default.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -http_host: "knox.hopsngrains.com" -http_conf: "knox.hopsngrains.com.conf" -host_port: "8338" -host_directory: "barker"