Split production dependecies & update production configuration
This commit is contained in:
parent
0f66c5eb9b
commit
5a73707d61
12 changed files with 68 additions and 111 deletions
10
Makefile
10
Makefile
|
|
@ -3,10 +3,14 @@
|
||||||
#
|
#
|
||||||
# Build dependencies
|
# Build dependencies
|
||||||
build:
|
build:
|
||||||
pip-compile --output-file=requirements/base.txt pyproject.toml
|
pip-compile \
|
||||||
|
--resolver=backtracking \
|
||||||
|
--output-file=requirements/base.txt \
|
||||||
|
pyproject.toml
|
||||||
|
|
||||||
# testing
|
# testing
|
||||||
pip-compile \
|
pip-compile \
|
||||||
|
--resolver=backtracking \
|
||||||
--extra=testing \
|
--extra=testing \
|
||||||
--output-file=requirements/testing.txt \
|
--output-file=requirements/testing.txt \
|
||||||
requirements/base.txt \
|
requirements/base.txt \
|
||||||
|
|
@ -14,6 +18,7 @@ build:
|
||||||
|
|
||||||
# development
|
# development
|
||||||
pip-compile \
|
pip-compile \
|
||||||
|
--resolver=backtracking \
|
||||||
--extra=testing \
|
--extra=testing \
|
||||||
--extra=development \
|
--extra=development \
|
||||||
--output-file=requirements/development.txt \
|
--output-file=requirements/development.txt \
|
||||||
|
|
@ -23,6 +28,7 @@ build:
|
||||||
|
|
||||||
# ci
|
# ci
|
||||||
pip-compile \
|
pip-compile \
|
||||||
|
--resolver=backtracking \
|
||||||
--extra=testing \
|
--extra=testing \
|
||||||
--extra=ci \
|
--extra=ci \
|
||||||
--output-file=requirements/ci.txt \
|
--output-file=requirements/ci.txt \
|
||||||
|
|
@ -32,6 +38,8 @@ build:
|
||||||
|
|
||||||
# production
|
# production
|
||||||
pip-compile \
|
pip-compile \
|
||||||
|
--resolver=backtracking \
|
||||||
|
--extra=production \
|
||||||
--output-file=requirements/production.txt \
|
--output-file=requirements/production.txt \
|
||||||
requirements/base.txt \
|
requirements/base.txt \
|
||||||
pyproject.toml
|
pyproject.toml
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,10 @@ server {
|
||||||
access_log /var/log/nginx/access_log;
|
access_log /var/log/nginx/access_log;
|
||||||
error_log /var/log/nginx/error_log;
|
error_log /var/log/nginx/error_log;
|
||||||
|
|
||||||
|
location /static/ {
|
||||||
|
root /app;
|
||||||
|
}
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://gunicorn;
|
proxy_pass http://gunicorn;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ version: "3.6"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
logs:
|
logs:
|
||||||
|
static-files:
|
||||||
|
|
||||||
services:
|
services:
|
||||||
nginx:
|
nginx:
|
||||||
|
|
@ -9,9 +10,10 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
django:
|
django:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
env_file: ./.env
|
||||||
ports:
|
ports:
|
||||||
- "${NGINX_HTTP_PORT:-80}:80"
|
- "${NGINX_HTTP_PORT:-80}:80"
|
||||||
- "${NGINX_HTTPS_PORT:-443}:443"
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./config/nginx/conf.d:/etc/nginx/conf.d
|
- ./config/nginx/conf.d:/etc/nginx/conf.d
|
||||||
- logs:/var/log/nginx
|
- logs:/var/log/nginx
|
||||||
|
- static-files:/app/static
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ volumes:
|
||||||
logs:
|
logs:
|
||||||
media:
|
media:
|
||||||
postgres-data:
|
postgres-data:
|
||||||
|
static-files:
|
||||||
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
|
|
@ -13,6 +14,7 @@ services:
|
||||||
interval: 5s
|
interval: 5s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 10
|
retries: 10
|
||||||
|
env_file: ./.env
|
||||||
volumes:
|
volumes:
|
||||||
- postgres-data:/var/lib/postgresql/data
|
- postgres-data:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
|
@ -29,6 +31,15 @@ services:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: ./docker/django
|
dockerfile: ./docker/django
|
||||||
|
target: production
|
||||||
|
args:
|
||||||
|
POSTGRES_HOST:
|
||||||
|
POSTGRES_PORT:
|
||||||
|
POSTGRES_DB:
|
||||||
|
POSTGRES_USER:
|
||||||
|
POSTGRES_PASSWORD:
|
||||||
|
DJANGO_SECRET_KEY:
|
||||||
|
DJANGO_SETTINGS_MODULE: "newsreader.conf.production"
|
||||||
command: |
|
command: |
|
||||||
celery worker -n worker1@%h
|
celery worker -n worker1@%h
|
||||||
-n worker2@%h
|
-n worker2@%h
|
||||||
|
|
@ -57,16 +68,26 @@ services:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: ./docker/django
|
dockerfile: ./docker/django
|
||||||
target: production
|
target: production
|
||||||
|
args:
|
||||||
|
POSTGRES_HOST:
|
||||||
|
POSTGRES_PORT:
|
||||||
|
POSTGRES_DB:
|
||||||
|
POSTGRES_USER:
|
||||||
|
POSTGRES_PASSWORD:
|
||||||
|
DJANGO_SECRET_KEY:
|
||||||
|
DJANGO_SETTINGS_MODULE: "newsreader.conf.production"
|
||||||
entrypoint: /app/bin/docker-entrypoint.sh
|
entrypoint: /app/bin/docker-entrypoint.sh
|
||||||
command: |
|
command: |
|
||||||
gunicorn --bind 0.0.0.0:8000
|
gunicorn --bind 0.0.0.0:8000
|
||||||
--workers 3
|
--workers 3
|
||||||
|
--chdir /app/src/
|
||||||
newsreader.wsgi:application
|
newsreader.wsgi:application
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: /usr/bin/curl --fail http://django:8000 || exit 1
|
test: /usr/bin/curl --fail http://django:8000 || exit 1
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 10
|
retries: 10
|
||||||
|
env_file: ./.env
|
||||||
environment:
|
environment:
|
||||||
- DJANGO_SETTINGS_MODULE=newsreader.conf.production
|
- DJANGO_SETTINGS_MODULE=newsreader.conf.production
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
@ -77,3 +98,4 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- logs:/app/logs
|
- logs:/app/logs
|
||||||
- media:/app/media
|
- media:/app/media
|
||||||
|
- static-files:/app/static
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ FROM python:3.9-bullseye as backend
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
vim \
|
vim \
|
||||||
curl \
|
curl \
|
||||||
|
gettext \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
@ -13,11 +14,11 @@ RUN mkdir /app/media
|
||||||
|
|
||||||
COPY ./requirements /app/requirements
|
COPY ./requirements /app/requirements
|
||||||
|
|
||||||
RUN pip install -r requirements/production.txt
|
RUN pip install -r requirements/base.txt
|
||||||
|
|
||||||
|
|
||||||
# stage 2
|
# stage 2
|
||||||
FROM node:current-bullseye AS frontend-build
|
FROM node:16-bullseye AS frontend-build
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
git \
|
git \
|
||||||
|
|
@ -25,7 +26,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY ./build /app/build/
|
|
||||||
COPY ./*.json ./*.js ./.babelrc /app/
|
COPY ./*.json ./*.js ./.babelrc /app/
|
||||||
|
|
||||||
RUN npm ci
|
RUN npm ci
|
||||||
|
|
@ -42,6 +42,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
vim \
|
vim \
|
||||||
curl \
|
curl \
|
||||||
|
gettext \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
@ -51,32 +52,32 @@ RUN mkdir /app/media
|
||||||
RUN mkdir /app/bin
|
RUN mkdir /app/bin
|
||||||
|
|
||||||
COPY --from=backend /usr/local/lib/python3.9 /usr/local/lib/python3.9
|
COPY --from=backend /usr/local/lib/python3.9 /usr/local/lib/python3.9
|
||||||
COPY --from=backend /usr/local/bin/gunicorn /usr/local/bin/gunicorn
|
|
||||||
COPY --from=backend /usr/local/bin/celery /usr/local/bin/celery
|
COPY --from=backend /usr/local/bin/celery /usr/local/bin/celery
|
||||||
COPY --from=backend /app/src/ /app/src/
|
|
||||||
COPY ./bin/docker-entrypoint.sh /app/bin/docker-entrypoint.sh
|
COPY ./bin/docker-entrypoint.sh /app/bin/docker-entrypoint.sh
|
||||||
|
|
||||||
COPY --from=frontend-build /app/src/newsreader/static /app/src/newsreader/static
|
COPY --from=frontend-build /app/src/newsreader/static /app/src/newsreader/static
|
||||||
|
|
||||||
COPY ./src /app/src
|
COPY ./src /app/src
|
||||||
|
|
||||||
|
COPY ./requirements /app/requirements
|
||||||
|
|
||||||
|
RUN pip install -r requirements/production.txt
|
||||||
|
|
||||||
RUN useradd -M -u 1000 newsreader
|
RUN useradd -M -u 1000 newsreader
|
||||||
RUN chown -R newsreader:newsreader /app
|
RUN chown -R newsreader:newsreader /app
|
||||||
|
|
||||||
USER newsreader
|
USER newsreader
|
||||||
|
|
||||||
ARG COMMIT_HASH
|
ARG POSTGRES_HOST
|
||||||
ARG RELEASE=latest
|
ARG POSTGRES_PORT
|
||||||
|
ARG POSTGRES_DB
|
||||||
|
ARG POSTGRES_USER
|
||||||
|
ARG POSTGRES_PASSWORD
|
||||||
|
ARG DJANGO_SECRET_KEY
|
||||||
|
ARG DJANGO_SETTINGS_MODULE
|
||||||
|
|
||||||
ENV RELEASE=${RELEASE} \
|
RUN python src/manage.py collectstatic --noinput
|
||||||
GIT_SHA=${COMMIT_HASH} \
|
|
||||||
PYTHONUNBUFFERED=1 \
|
|
||||||
DJANGO_SETTINGS_MODULE=newsreader.conf.production
|
|
||||||
|
|
||||||
ARG SECRET_KEY=dummy
|
|
||||||
|
|
||||||
RUN python src/manage.py collectstatic --noinput \
|
|
||||||
&& python src/manage.py compilemessages
|
|
||||||
|
|
||||||
|
|
||||||
# (optional) stage 4
|
# (optional) stage 4
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ requires-python = '>=3.11'
|
||||||
dependencies = [
|
dependencies = [
|
||||||
'django~=3.2',
|
'django~=3.2',
|
||||||
'celery~=4.4',
|
'celery~=4.4',
|
||||||
'gunicorn~=20.0',
|
|
||||||
'psycopg2',
|
'psycopg2',
|
||||||
|
|
||||||
'django-axes',
|
'django-axes',
|
||||||
|
|
@ -19,8 +18,6 @@ dependencies = [
|
||||||
'python-memcached',
|
'python-memcached',
|
||||||
'python-dotenv~=0.12',
|
'python-dotenv~=0.12',
|
||||||
|
|
||||||
'sentry-sdk~=1.0',
|
|
||||||
|
|
||||||
'ftfy~=5.8',
|
'ftfy~=5.8',
|
||||||
|
|
||||||
'requests',
|
'requests',
|
||||||
|
|
@ -49,3 +46,5 @@ development = [
|
||||||
]
|
]
|
||||||
|
|
||||||
ci = ['coverage>=5.3.1']
|
ci = ['coverage>=5.3.1']
|
||||||
|
|
||||||
|
production = ['gunicorn~=20.0', 'sentry-sdk~=1.0']
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
# This file is autogenerated by pip-compile with Python 3.9
|
# This file is autogenerated by pip-compile with Python 3.9
|
||||||
# by the following command:
|
# by the following command:
|
||||||
#
|
#
|
||||||
# pip-compile --output-file=requirements/base.txt pyproject.toml
|
# pip-compile --output-file=requirements/base.txt --resolver=backtracking pyproject.toml
|
||||||
#
|
#
|
||||||
amqp==2.6.1
|
amqp==2.6.1
|
||||||
# via kombu
|
# via kombu
|
||||||
|
|
@ -19,9 +19,7 @@ celery==4.4.7
|
||||||
# django-celery-beat
|
# django-celery-beat
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
certifi==2023.5.7
|
certifi==2023.5.7
|
||||||
# via
|
# via requests
|
||||||
# requests
|
|
||||||
# sentry-sdk
|
|
||||||
charset-normalizer==3.1.0
|
charset-normalizer==3.1.0
|
||||||
# via requests
|
# via requests
|
||||||
django==3.2.19
|
django==3.2.19
|
||||||
|
|
@ -52,8 +50,6 @@ feedparser==6.0.10
|
||||||
# via newsreader (pyproject.toml)
|
# via newsreader (pyproject.toml)
|
||||||
ftfy==5.9
|
ftfy==5.9
|
||||||
# via newsreader (pyproject.toml)
|
# via newsreader (pyproject.toml)
|
||||||
gunicorn==20.1.0
|
|
||||||
# via newsreader (pyproject.toml)
|
|
||||||
idna==3.4
|
idna==3.4
|
||||||
# via requests
|
# via requests
|
||||||
inflection==0.5.1
|
inflection==0.5.1
|
||||||
|
|
@ -91,8 +87,6 @@ requests==2.31.0
|
||||||
# requests-oauthlib
|
# requests-oauthlib
|
||||||
requests-oauthlib==1.3.1
|
requests-oauthlib==1.3.1
|
||||||
# via newsreader (pyproject.toml)
|
# via newsreader (pyproject.toml)
|
||||||
sentry-sdk==1.26.0
|
|
||||||
# via newsreader (pyproject.toml)
|
|
||||||
sgmllib3k==1.0.0
|
sgmllib3k==1.0.0
|
||||||
# via feedparser
|
# via feedparser
|
||||||
six==1.16.0
|
six==1.16.0
|
||||||
|
|
@ -109,9 +103,7 @@ typing-extensions==4.6.3
|
||||||
uritemplate==4.1.1
|
uritemplate==4.1.1
|
||||||
# via drf-yasg
|
# via drf-yasg
|
||||||
urllib3==2.0.3
|
urllib3==2.0.3
|
||||||
# via
|
# via requests
|
||||||
# requests
|
|
||||||
# sentry-sdk
|
|
||||||
vine==1.3.0
|
vine==1.3.0
|
||||||
# via
|
# via
|
||||||
# amqp
|
# amqp
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
# This file is autogenerated by pip-compile with Python 3.9
|
# This file is autogenerated by pip-compile with Python 3.9
|
||||||
# by the following command:
|
# by the following command:
|
||||||
#
|
#
|
||||||
# pip-compile --extra=ci --extra=testing --output-file=requirements/ci.txt pyproject.toml requirements/base.txt requirements/testing.txt
|
# pip-compile --extra=ci --extra=testing --output-file=requirements/ci.txt --resolver=backtracking pyproject.toml requirements/base.txt requirements/testing.txt
|
||||||
#
|
#
|
||||||
amqp==2.6.1
|
amqp==2.6.1
|
||||||
# via
|
# via
|
||||||
|
|
@ -21,7 +21,6 @@ autoflake==2.2.0
|
||||||
beautifulsoup4==4.12.2
|
beautifulsoup4==4.12.2
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
billiard==3.6.4.0
|
billiard==3.6.4.0
|
||||||
# via
|
# via
|
||||||
|
|
@ -35,12 +34,10 @@ black==23.3.0
|
||||||
bleach==6.0.0
|
bleach==6.0.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
celery==4.4.7
|
celery==4.4.7
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# django-celery-beat
|
# django-celery-beat
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
certifi==2023.5.7
|
certifi==2023.5.7
|
||||||
|
|
@ -48,7 +45,6 @@ certifi==2023.5.7
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
# -r requirements/testing.txt
|
||||||
# requests
|
# requests
|
||||||
# sentry-sdk
|
|
||||||
charset-normalizer==3.1.0
|
charset-normalizer==3.1.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
|
|
@ -63,7 +59,6 @@ coverage==7.2.7
|
||||||
django==3.2.19
|
django==3.2.19
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# django-axes
|
# django-axes
|
||||||
# django-celery-beat
|
# django-celery-beat
|
||||||
# django-timezone-field
|
# django-timezone-field
|
||||||
|
|
@ -73,22 +68,18 @@ django==3.2.19
|
||||||
django-axes==6.0.4
|
django-axes==6.0.4
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
django-celery-beat==2.0.0
|
django-celery-beat==2.0.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
django-registration-redux==2.12
|
django-registration-redux==2.12
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
django-rest-framework==0.1.0
|
django-rest-framework==0.1.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
django-timezone-field==4.2.3
|
django-timezone-field==4.2.3
|
||||||
# via
|
# via
|
||||||
|
|
@ -104,7 +95,6 @@ djangorestframework==3.14.0
|
||||||
drf-yasg==1.21.6
|
drf-yasg==1.21.6
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
factory-boy==3.2.1
|
factory-boy==3.2.1
|
||||||
# via
|
# via
|
||||||
|
|
@ -117,7 +107,6 @@ faker==18.11.2
|
||||||
feedparser==6.0.10
|
feedparser==6.0.10
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
freezegun==1.2.2
|
freezegun==1.2.2
|
||||||
# via
|
# via
|
||||||
|
|
@ -126,12 +115,6 @@ freezegun==1.2.2
|
||||||
ftfy==5.9
|
ftfy==5.9
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
|
||||||
gunicorn==20.1.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
idna==3.4
|
idna==3.4
|
||||||
# via
|
# via
|
||||||
|
|
@ -155,7 +138,6 @@ kombu==4.6.11
|
||||||
lxml==4.9.2
|
lxml==4.9.2
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
mypy-extensions==1.0.0
|
mypy-extensions==1.0.0
|
||||||
# via
|
# via
|
||||||
|
|
@ -183,7 +165,6 @@ platformdirs==3.8.0
|
||||||
psycopg2==2.9.6
|
psycopg2==2.9.6
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
pyflakes==3.0.1
|
pyflakes==3.0.1
|
||||||
# via
|
# via
|
||||||
|
|
@ -204,12 +185,10 @@ python-dateutil==2.8.2
|
||||||
python-dotenv==0.21.1
|
python-dotenv==0.21.1
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
python-memcached==1.59
|
python-memcached==1.59
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
pytz==2023.3
|
pytz==2023.3
|
||||||
# via
|
# via
|
||||||
|
|
@ -228,18 +207,11 @@ pyyaml==6.0
|
||||||
requests==2.31.0
|
requests==2.31.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
# requests-oauthlib
|
# requests-oauthlib
|
||||||
requests-oauthlib==1.3.1
|
requests-oauthlib==1.3.1
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
|
||||||
sentry-sdk==1.26.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
sgmllib3k==1.0.0
|
sgmllib3k==1.0.0
|
||||||
# via
|
# via
|
||||||
|
|
@ -288,7 +260,6 @@ urllib3==2.0.3
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
# -r requirements/testing.txt
|
||||||
# requests
|
# requests
|
||||||
# sentry-sdk
|
|
||||||
vine==1.3.0
|
vine==1.3.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
# This file is autogenerated by pip-compile with Python 3.9
|
# This file is autogenerated by pip-compile with Python 3.9
|
||||||
# by the following command:
|
# by the following command:
|
||||||
#
|
#
|
||||||
# pip-compile --extra=development --extra=testing --output-file=requirements/development.txt pyproject.toml requirements/base.txt requirements/testing.txt
|
# pip-compile --extra=development --extra=testing --output-file=requirements/development.txt --resolver=backtracking pyproject.toml requirements/base.txt requirements/testing.txt
|
||||||
#
|
#
|
||||||
amqp==2.6.1
|
amqp==2.6.1
|
||||||
# via
|
# via
|
||||||
|
|
@ -21,7 +21,6 @@ autoflake==2.2.0
|
||||||
beautifulsoup4==4.12.2
|
beautifulsoup4==4.12.2
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
billiard==3.6.4.0
|
billiard==3.6.4.0
|
||||||
# via
|
# via
|
||||||
|
|
@ -35,14 +34,12 @@ black==23.3.0
|
||||||
bleach==6.0.0
|
bleach==6.0.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
build==0.10.0
|
build==0.10.0
|
||||||
# via pip-tools
|
# via pip-tools
|
||||||
celery==4.4.7
|
celery==4.4.7
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# django-celery-beat
|
# django-celery-beat
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
certifi==2023.5.7
|
certifi==2023.5.7
|
||||||
|
|
@ -50,7 +47,6 @@ certifi==2023.5.7
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
# -r requirements/testing.txt
|
||||||
# requests
|
# requests
|
||||||
# sentry-sdk
|
|
||||||
charset-normalizer==3.1.0
|
charset-normalizer==3.1.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
|
|
@ -64,7 +60,6 @@ click==8.1.3
|
||||||
django==3.2.19
|
django==3.2.19
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# django-axes
|
# django-axes
|
||||||
# django-celery-beat
|
# django-celery-beat
|
||||||
# django-debug-toolbar
|
# django-debug-toolbar
|
||||||
|
|
@ -76,12 +71,10 @@ django==3.2.19
|
||||||
django-axes==6.0.4
|
django-axes==6.0.4
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
django-celery-beat==2.0.0
|
django-celery-beat==2.0.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
django-debug-toolbar==4.1.0
|
django-debug-toolbar==4.1.0
|
||||||
# via newsreader (pyproject.toml)
|
# via newsreader (pyproject.toml)
|
||||||
|
|
@ -90,12 +83,10 @@ django-extensions==3.2.3
|
||||||
django-registration-redux==2.12
|
django-registration-redux==2.12
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
django-rest-framework==0.1.0
|
django-rest-framework==0.1.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
django-timezone-field==4.2.3
|
django-timezone-field==4.2.3
|
||||||
# via
|
# via
|
||||||
|
|
@ -111,7 +102,6 @@ djangorestframework==3.14.0
|
||||||
drf-yasg==1.21.6
|
drf-yasg==1.21.6
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
factory-boy==3.2.1
|
factory-boy==3.2.1
|
||||||
# via
|
# via
|
||||||
|
|
@ -124,7 +114,6 @@ faker==18.11.2
|
||||||
feedparser==6.0.10
|
feedparser==6.0.10
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
freezegun==1.2.2
|
freezegun==1.2.2
|
||||||
# via
|
# via
|
||||||
|
|
@ -133,12 +122,6 @@ freezegun==1.2.2
|
||||||
ftfy==5.9
|
ftfy==5.9
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
|
||||||
gunicorn==20.1.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
idna==3.4
|
idna==3.4
|
||||||
# via
|
# via
|
||||||
|
|
@ -162,7 +145,6 @@ kombu==4.6.11
|
||||||
lxml==4.9.2
|
lxml==4.9.2
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
mypy-extensions==1.0.0
|
mypy-extensions==1.0.0
|
||||||
# via
|
# via
|
||||||
|
|
@ -193,7 +175,6 @@ platformdirs==3.8.0
|
||||||
psycopg2==2.9.6
|
psycopg2==2.9.6
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
pyflakes==3.0.1
|
pyflakes==3.0.1
|
||||||
# via
|
# via
|
||||||
|
|
@ -216,12 +197,10 @@ python-dateutil==2.8.2
|
||||||
python-dotenv==0.21.1
|
python-dotenv==0.21.1
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
python-memcached==1.59
|
python-memcached==1.59
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
pytz==2023.3
|
pytz==2023.3
|
||||||
# via
|
# via
|
||||||
|
|
@ -240,18 +219,11 @@ pyyaml==6.0
|
||||||
requests==2.31.0
|
requests==2.31.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
# requests-oauthlib
|
# requests-oauthlib
|
||||||
requests-oauthlib==1.3.1
|
requests-oauthlib==1.3.1
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
|
||||||
sentry-sdk==1.26.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# -r requirements/testing.txt
|
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
sgmllib3k==1.0.0
|
sgmllib3k==1.0.0
|
||||||
# via
|
# via
|
||||||
|
|
@ -286,6 +258,7 @@ tomli==2.0.1
|
||||||
# autoflake
|
# autoflake
|
||||||
# black
|
# black
|
||||||
# build
|
# build
|
||||||
|
# pyproject-hooks
|
||||||
typing-extensions==4.6.3
|
typing-extensions==4.6.3
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
|
|
@ -302,7 +275,6 @@ urllib3==2.0.3
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# -r requirements/testing.txt
|
# -r requirements/testing.txt
|
||||||
# requests
|
# requests
|
||||||
# sentry-sdk
|
|
||||||
vine==1.3.0
|
vine==1.3.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
# This file is autogenerated by pip-compile with Python 3.9
|
# This file is autogenerated by pip-compile with Python 3.9
|
||||||
# by the following command:
|
# by the following command:
|
||||||
#
|
#
|
||||||
# pip-compile --output-file=requirements/production.txt pyproject.toml requirements/base.txt
|
# pip-compile --extra=production --output-file=requirements/production.txt --resolver=backtracking pyproject.toml requirements/base.txt
|
||||||
#
|
#
|
||||||
amqp==2.6.1
|
amqp==2.6.1
|
||||||
# via
|
# via
|
||||||
|
|
@ -85,9 +85,7 @@ ftfy==5.9
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
gunicorn==20.1.0
|
gunicorn==20.1.0
|
||||||
# via
|
# via newsreader (pyproject.toml)
|
||||||
# -r requirements/base.txt
|
|
||||||
# newsreader (pyproject.toml)
|
|
||||||
idna==3.4
|
idna==3.4
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
|
|
@ -154,9 +152,7 @@ requests-oauthlib==1.3.1
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
sentry-sdk==1.26.0
|
sentry-sdk==1.26.0
|
||||||
# via
|
# via newsreader (pyproject.toml)
|
||||||
# -r requirements/base.txt
|
|
||||||
# newsreader (pyproject.toml)
|
|
||||||
sgmllib3k==1.0.0
|
sgmllib3k==1.0.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
# This file is autogenerated by pip-compile with Python 3.9
|
# This file is autogenerated by pip-compile with Python 3.9
|
||||||
# by the following command:
|
# by the following command:
|
||||||
#
|
#
|
||||||
# pip-compile --extra=testing --output-file=requirements/testing.txt pyproject.toml requirements/base.txt
|
# pip-compile --extra=testing --output-file=requirements/testing.txt --resolver=backtracking pyproject.toml requirements/base.txt
|
||||||
#
|
#
|
||||||
amqp==2.6.1
|
amqp==2.6.1
|
||||||
# via
|
# via
|
||||||
|
|
@ -37,7 +37,6 @@ certifi==2023.5.7
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# requests
|
# requests
|
||||||
# sentry-sdk
|
|
||||||
charset-normalizer==3.1.0
|
charset-normalizer==3.1.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
|
|
@ -96,10 +95,6 @@ ftfy==5.9
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
gunicorn==20.1.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# newsreader (pyproject.toml)
|
|
||||||
idna==3.4
|
idna==3.4
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
|
|
@ -178,10 +173,6 @@ requests-oauthlib==1.3.1
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# newsreader (pyproject.toml)
|
# newsreader (pyproject.toml)
|
||||||
sentry-sdk==1.26.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# newsreader (pyproject.toml)
|
|
||||||
sgmllib3k==1.0.0
|
sgmllib3k==1.0.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
|
|
@ -219,7 +210,6 @@ urllib3==2.0.3
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
# requests
|
# requests
|
||||||
# sentry-sdk
|
|
||||||
vine==1.3.0
|
vine==1.3.0
|
||||||
# via
|
# via
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ from .base import * # isort:skip
|
||||||
|
|
||||||
DEBUG = False
|
DEBUG = False
|
||||||
|
|
||||||
ALLOWED_HOSTS = ["rss.fudiggity.nl"]
|
ALLOWED_HOSTS = ["127.0.0.1", "localhost", "rss.fudiggity.nl", "django"]
|
||||||
ADMINS = [
|
ADMINS = [
|
||||||
("", email)
|
("", email)
|
||||||
for email in os.getenv("ADMINS", "").split(",")
|
for email in os.getenv("ADMINS", "").split(",")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue