Docker image, & local development docker-compose.yml #2
14
.drone.yml
Normal file
14
.drone.yml
Normal 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
|
||||
3wordchant marked this conversation as resolved
Outdated
|
||||
|
26
Dockerfile
Normal file
26
Dockerfile
Normal file
@ -0,0 +1,26 @@
|
||||
FROM python:3.8-alpine
|
||||
|
||||
RUN apk add gettext git gcc python3-dev musl-dev \
|
||||
3wordchant marked this conversation as resolved
Outdated
decentral1se
commented
Feel free to ignore but I usually add
Feel free to ignore but I usually add `--no-cache` to save space and newline + sort things so it is easier to have a visual overview of dependencies and alphabetic ordering to know where to slot things in. Can be useful if you end up adding a lot of dependencies and then need to remove them over time as the software changes.
```
RUN apk add --no-cache \
build-base \
gcc \
gettext \
git \
jpeg-dev \
libffi-dev \
libjpeg \
musl-dev \
postgresql-dev \
python3-dev \
zlib-dev \
--virtual .build-dependencies
```
|
||||
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/
|
||||
3wordchant marked this conversation as resolved
Outdated
decentral1se
commented
Same totally optional comment as https://git.autonomic.zone/3wordchant/capsul-flask/pulls/2/files#issuecomment-7607. Same totally optional comment as https://git.autonomic.zone/3wordchant/capsul-flask/pulls/2/files#issuecomment-7607.
|
||||
|
||||
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
26
docker-compose.yml
Normal 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:
|
Loading…
Reference in New Issue
Block a user
Off-topic: does capsul do tagged releases? That'd be handy as the plugins/docker plugin has a
auto_tag: true
which generates the image tag based on the git tag. That is probably One For Later ™️The last one was a year ago, I think, probably worth asking Cyberia if they'd be down for that?
Even more off-topic: can
auto_tag: true
work off the branch name? I'd love a way to be able to publish different images from different branches without hardcoding the branch name.auto_tag
doesn't, but I think it's possible with interpolating e.g.${DRONE_COMMIT_BRANCH}
, see982556a