c196445e61
* add support for setting db_url * fix tests * add db_username/password env variables * init db if super user doesn't exist * fix tests * fix tests * set SQLite default DB_URL * don't run tests on draft PRs * add lint/black tests * add test-all * spell check settings * black/flake8 * check format fail * new badges * rename workflow * fix formatting * remove white-space * test connection arguments for pg * format * add new values to template * format * remove old script * monkeypatch test db * working docker-compose for postgres * update docs * test pg workflow * format * add driver * install w/ poetry * setup container * change image * set database to localhost * update tests * set url * fix url path * disable cache * database init * bust cache * get by name Co-authored-by: hay-kot <hay-kot@pm.me>
60 lines
1.5 KiB
Docker
60 lines
1.5 KiB
Docker
# build
|
|
FROM node:lts-alpine as build-stage
|
|
WORKDIR /app
|
|
COPY ./frontend/package*.json ./
|
|
RUN npm install
|
|
COPY ./frontend/ .
|
|
RUN npm run build
|
|
|
|
|
|
FROM python:3.9-slim-buster
|
|
|
|
ENV PRODUCTION true
|
|
ENV POETRY_VERSION 1.1.6
|
|
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
gcc g++ \
|
|
curl \
|
|
gnupg gnupg2 gnupg1 \
|
|
apt-transport-https \
|
|
debian-archive-keyring \
|
|
debian-keyring \
|
|
libpq-dev \
|
|
libwebp-dev \
|
|
&& curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | apt-key add - \
|
|
&& curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee -a /etc/apt/sources.list.d/caddy-stable.list \
|
|
&& apt-get update && apt-get install -y --no-install-recommends \
|
|
caddy \
|
|
&& apt autoremove \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& apt-get remove -y curl apt-transport-https debian-keyring g++ gnupg gnupg2 gnupg1
|
|
|
|
|
|
RUN pip install --no-cache-dir "poetry==$POETRY_VERSION"
|
|
RUN pip install --no-cache-dir "psycopg2-binary==2.8.6"
|
|
|
|
# project dependencies
|
|
WORKDIR /app
|
|
COPY pyproject.toml poetry.lock /app/
|
|
RUN poetry config virtualenvs.create false
|
|
RUN poetry install --no-dev --no-interaction --no-ansi
|
|
|
|
COPY ./mealie /app/mealie
|
|
RUN poetry config virtualenvs.create false \
|
|
&& poetry install --no-dev
|
|
|
|
#! Future
|
|
# COPY ./alembic /app
|
|
# COPY alembic.ini /app
|
|
COPY ./Caddyfile /app
|
|
COPY ./dev/data/templates /app/data/templates
|
|
|
|
# frontend build
|
|
COPY --from=build-stage /app/dist /app/dist
|
|
|
|
VOLUME [ "/app/data/" ]
|
|
|
|
EXPOSE 80
|
|
|
|
CMD /app/mealie/run.sh
|