Initial attempt at Docker

This commit is contained in:
3wc 2021-07-09 23:27:41 +02:00
parent c4ba5ea197
commit f8e9ab2482
3 changed files with 66 additions and 0 deletions

14
.drone.yml Normal file
View File

@ -0,0 +1,14 @@
---
kind: pipeline
name: publish docker image
steps:
- name: build and publish
image: plugins/docker
settings:
username:
from_secret: docker_reg_username_3wc
password:
from_secret: docker_reg_passwd_3wc
repo: 3wordchant/capsul-flask
tags: latest

26
Dockerfile Normal file
View File

@ -0,0 +1,26 @@
FROM python:3.8-alpine
RUN apk add gettext git gcc python3-dev musl-dev \
libffi-dev zlib-dev jpeg-dev libjpeg postgresql-dev build-base \
--virtual .build-dependencies
RUN mkdir /code
WORKDIR /code
COPY Pipfile Pipfile.lock /code/
RUN pip install pipenv setuptools wheel cppy
RUN pipenv install --system --deploy --verbose
RUN apk del .build-dependencies \
&& rm -rf /var/cache/apk/* /tmp/*
RUN apk add --no-cache libpq libstdc++ libjpeg
COPY . /code/
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "-k", "gevent", "--worker-connections", "1000", "app:app"]
VOLUME /code
EXPOSE 5000

26
docker-compose.yml Normal file
View File

@ -0,0 +1,26 @@
---
version: "3.8"
services:
app:
image: 3wordchant/capsul-flask:latest
build: .
volumes:
- "./:/code"
depends_on:
- db
ports:
- "5000:5000"
environment:
- "POSTGRES_CONNECTION_PARAMETERS=host=db port=5432 user=capsul password=capsul dbname=capsul"
db:
image: "postgres:9.6.5"
volumes:
- "postgres:/var/lib/postgresql/data"
environment:
POSTGRES_USER: capsul
POSTGRES_PASSWORD: capsul
POSTGRES_DB: capsul
volumes:
postgres: