Compare commits

...

15 Commits
0.1.2 ... 0.1.7

Author SHA1 Message Date
Herculino Trotta
3e73332a93 locale(pt-BR): update translation 2024-12-28 02:32:43 -03:00
Herculino Trotta
ae2217e760 feat(tools:currency-converter): add a button to invert the selected currencies 2024-12-28 00:56:15 -03:00
Herculino Trotta
e2bf699be0 feat(tools:currency-converter): make it responsive 2024-12-28 00:56:15 -03:00
Herculino Trotta
e760d42c2d github(release): drop ghcr.io in favor of DockerHub 2024-12-27 12:53:43 -03:00
Herculino Trotta
d541b30280 docs: registry changes (#12)
* docker(prod): update docker-compose.prod.yml to use registry image

* docs(README): update install instructions to use registry image
2024-12-27 12:25:12 -03:00
dependabot[bot]
366c0b475d build(deps): bump nanoid from 3.3.7 to 3.3.8 in /frontend (#8)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-27 12:17:41 -03:00
dependabot[bot]
8576b74aff build(deps): bump http-proxy-middleware from 2.0.6 to 2.0.7 in /frontend (#9)
Bumps [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.6 to 2.0.7.
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.7/CHANGELOG.md)
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7)

---
updated-dependencies:
- dependency-name: http-proxy-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-27 12:17:34 -03:00
dependabot[bot]
d4b11bd350 build(deps): bump path-to-regexp and express in /frontend (#10)
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `path-to-regexp` from 0.1.10 to 0.1.12
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v0.1.10...v0.1.12)

Updates `express` from 4.21.0 to 4.21.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.0...4.21.2)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-27 12:17:28 -03:00
dependabot[bot]
c8c34c2c56 build(deps): bump cookie and express in /frontend (#11)
Bumps [cookie](https://github.com/jshttp/cookie) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `cookie` from 0.6.0 to 0.7.1
- [Release notes](https://github.com/jshttp/cookie/releases)
- [Commits](https://github.com/jshttp/cookie/compare/v0.6.0...v0.7.1)

Updates `express` from 4.21.0 to 4.21.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.0...4.21.2)

---
updated-dependencies:
- dependency-name: cookie
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-27 12:17:18 -03:00
Herculino Trotta
023ceb898f Merge pull request #7
github(release): cache build process
2024-12-27 11:25:52 -03:00
Herculino Trotta
1243dddd5d github(release): cache build process 2024-12-27 11:24:56 -03:00
Herculino Trotta
8661fb39e8 github(release): disable provenance when building image 2024-12-27 11:20:44 -03:00
Herculino Trotta
5752606fec docker(prod): update docker-compose.prod.yml to use registry image 2024-12-27 11:20:14 -03:00
Herculino Trotta
7250ce0dbb Merge pull request #6
github(release): drop support for arm besides arm64
2024-12-27 03:24:25 -03:00
Herculino Trotta
b963a3cfb8 github(release): drop support for arm besides arm64 2024-12-27 03:23:51 -03:00
7 changed files with 169 additions and 118 deletions

View File

@@ -5,7 +5,6 @@ on:
types: [created]
env:
REGISTRY: ghcr.io
IMAGE_NAME: wygiwyh
jobs:
@@ -13,20 +12,16 @@ jobs:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Log in to the Container registry
- name: Log in to Docker Hub
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
@@ -34,13 +29,29 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Build and push image
uses: docker/build-push-action@v6
with:
context: .
file: ./docker/prod/django/Dockerfile
push: true
provenance: false
tags: |
${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:latest
${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v8,linux/arm64/v8
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}
platforms: linux/amd64,linux/arm64
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

View File

@@ -48,29 +48,28 @@ Frustrated by the lack of comprehensive options, I set out to build **WYGIWYH**
# How To Use
To run this application, you'll need [Git](https://git-scm.com) and [Docker](https://docs.docker.com/engine/install/) with the [docker-compose](https://docs.docker.com/compose/install/).
To run this application, you'll need [Docker](https://docs.docker.com/engine/install/) with [docker-compose](https://docs.docker.com/compose/install/).
From your command line:
> [!NOTE]
> Docker images for this project are currently under development, but manual setup is available now.
```bash
# Clone this repository
$ git clone https://github.com/eitchtee/WYGIWYH
$ mkdir WYGIWYH
# Go into the repository
$ cd WYGIWYH
# Fill the .env file with your configurations
$ cp .env.example .env
$ nano .env # or any other editor you want to use
$ touch docker-compose.yml
$ nano docker-compose.yml
# Paste the contents of https://github.com/eitchtee/WYGIWYH/blob/main/docker-compose.prod.yml and edit according to your needs
# Create docker-compose file
$ cp docker-compose.prod.yml docker-compose.yml
# Fill the .env file with your configurations
$ touch .env
$ nano .env # or any other editor you want to use
# Paste the contents of https://github.com/eitchtee/WYGIWYH/blob/main/.env.example and edit accordingly
# Run the app
$ docker compose up -d --build
$ docker compose up -d
# Create the first admin account
$ docker compose exec -it web python manage.py createsuperuser

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-24 19:06+0000\n"
"PO-Revision-Date: 2024-12-24 16:07-0300\n"
"POT-Creation-Date: 2024-12-28 05:32+0000\n"
"PO-Revision-Date: 2024-12-28 02:32-0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: pt_BR\n"
@@ -71,7 +71,7 @@ msgid "Category"
msgstr "Categoria"
#: apps/accounts/forms.py:124 apps/rules/models.py:28
#: apps/transactions/filters.py:65 apps/transactions/forms.py:44
#: apps/transactions/filters.py:73 apps/transactions/forms.py:44
#: apps/transactions/forms.py:199 apps/transactions/forms.py:206
#: apps/transactions/forms.py:360 apps/transactions/forms.py:580
#: apps/transactions/models.py:96 apps/transactions/models.py:211
@@ -145,10 +145,11 @@ msgstr ""
msgid "Account"
msgstr "Conta"
#: apps/accounts/models.py:60 apps/transactions/filters.py:51
#: apps/accounts/models.py:60 apps/transactions/filters.py:52
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:104
#: templates/includes/navbar.html:106
#: templates/transactions/fragments/summary.html:9
msgid "Accounts"
msgstr "Contas"
@@ -314,9 +315,11 @@ msgstr "Nome da Moeda"
msgid "Decimal Places"
msgstr "Casas Decimais"
#: apps/currencies/models.py:33 templates/currencies/fragments/list.html:5
#: apps/currencies/models.py:33 apps/transactions/filters.py:59
#: templates/currencies/fragments/list.html:5
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:112
#: templates/includes/navbar.html:114
#: templates/transactions/fragments/summary.html:6
msgid "Currencies"
msgstr "Moedas"
@@ -494,7 +497,7 @@ msgstr "Gatilho"
msgid "Type"
msgstr "Tipo"
#: apps/rules/models.py:21 apps/transactions/filters.py:21
#: apps/rules/models.py:21 apps/transactions/filters.py:22
#: apps/transactions/models.py:74
msgid "Paid"
msgstr "Pago"
@@ -511,7 +514,7 @@ msgstr "Data de Referência"
msgid "Amount"
msgstr "Quantia"
#: apps/rules/models.py:29 apps/transactions/filters.py:72
#: apps/rules/models.py:29 apps/transactions/filters.py:80
#: apps/transactions/forms.py:51 apps/transactions/forms.py:372
#: apps/transactions/forms.py:592 apps/transactions/models.py:50
#: apps/transactions/models.py:101 apps/transactions/models.py:214
@@ -560,40 +563,40 @@ msgstr "Ação atualizada com sucesso"
msgid "Action deleted successfully"
msgstr "Ação apagada com sucesso"
#: apps/transactions/filters.py:22 templates/includes/navbar.html:45
#: apps/transactions/filters.py:23 templates/includes/navbar.html:45
msgid "Projected"
msgstr "Previsto"
#: apps/transactions/filters.py:39
#: apps/transactions/filters.py:40
msgid "Content"
msgstr "Conteúdo"
#: apps/transactions/filters.py:45
#: apps/transactions/filters.py:46
msgid "Transaction Type"
msgstr "Tipo de Transação"
#: apps/transactions/filters.py:58 templates/categories/fragments/list.html:5
#: apps/transactions/filters.py:66 templates/categories/fragments/list.html:5
#: templates/categories/pages/index.html:4 templates/includes/navbar.html:96
msgid "Categories"
msgstr "Categorias"
#: apps/transactions/filters.py:83
#: apps/transactions/filters.py:91
msgid "Date from"
msgstr "Data de"
#: apps/transactions/filters.py:89 apps/transactions/filters.py:99
#: apps/transactions/filters.py:97 apps/transactions/filters.py:107
msgid "Until"
msgstr "Até"
#: apps/transactions/filters.py:94
#: apps/transactions/filters.py:102
msgid "Reference date from"
msgstr "Data de Referência de"
#: apps/transactions/filters.py:104
#: apps/transactions/filters.py:112
msgid "Amount min"
msgstr "Quantia miníma"
#: apps/transactions/filters.py:109
#: apps/transactions/filters.py:117
msgid "Amount max"
msgstr "Quantia máxima"
@@ -665,6 +668,7 @@ msgstr "Entidade"
#: templates/calendar_view/pages/calendar.html:54
#: templates/monthly_overview/fragments/monthly_summary.html:39
#: templates/monthly_overview/pages/overview.html:54
#: templates/transactions/fragments/summary.html:17
#: templates/yearly_overview/pages/overview_by_account.html:49
#: templates/yearly_overview/pages/overview_by_currency.html:51
msgid "Income"
@@ -878,19 +882,19 @@ msgstr "Tag atualizada com sucesso"
msgid "Tag deleted successfully"
msgstr "Tag apagada com sucesso"
#: apps/transactions/views/transactions.py:39
#: apps/transactions/views/transactions.py:45
msgid "Transaction added successfully"
msgstr "Transação adicionada com sucesso"
#: apps/transactions/views/transactions.py:70
#: apps/transactions/views/transactions.py:76
msgid "Transaction updated successfully"
msgstr "Transação atualizada com sucesso"
#: apps/transactions/views/transactions.py:95
#: apps/transactions/views/transactions.py:101
msgid "Transaction deleted successfully"
msgstr "Transação apagada com sucesso"
#: apps/transactions/views/transactions.py:121
#: apps/transactions/views/transactions.py:127
msgid "Transfer added successfully"
msgstr "Transferência adicionada com sucesso"
@@ -1575,6 +1579,10 @@ msgstr "Isso excluirá o parcelamento e todas as transações associadas a ele"
msgid "No installment plans"
msgstr "Nenhum parcelamento"
#: templates/mini_tools/currency_converter/currency_converter.html:56
msgid "Invert"
msgstr "Inverter"
#: templates/mini_tools/unit_price_calculator.html:27
#: templates/mini_tools/unit_price_calculator.html:100
#: templates/mini_tools/unit_price_calculator.html:125
@@ -1614,24 +1622,33 @@ msgstr "Esse é o total final dividido pelos dias restantes do mês"
#: templates/monthly_overview/fragments/monthly_summary.html:42
#: templates/monthly_overview/fragments/monthly_summary.html:106
#: templates/monthly_overview/fragments/monthly_summary.html:170
#: templates/transactions/fragments/summary.html:20
#: templates/transactions/fragments/summary.html:84
#: templates/transactions/fragments/summary.html:148
msgid "current"
msgstr "atual"
#: templates/monthly_overview/fragments/monthly_summary.html:72
#: templates/monthly_overview/fragments/monthly_summary.html:136
#: templates/monthly_overview/fragments/monthly_summary.html:199
#: templates/transactions/fragments/summary.html:50
#: templates/transactions/fragments/summary.html:114
#: templates/transactions/fragments/summary.html:177
msgid "projected"
msgstr "previsto"
#: templates/monthly_overview/fragments/monthly_summary.html:103
#: templates/transactions/fragments/summary.html:81
msgid "Expenses"
msgstr "Despesas"
#: templates/monthly_overview/fragments/monthly_summary.html:167
#: templates/transactions/fragments/summary.html:145
msgid "Total"
msgstr "Total"
#: templates/monthly_overview/fragments/monthly_summary.html:256
#: templates/transactions/fragments/summary.html:234
msgid "Distribution"
msgstr "Distribuição"
@@ -1672,16 +1689,16 @@ msgstr "Patrimônio Previsto"
msgid "By currency"
msgstr "Por moeda"
#: templates/net_worth/net_worth.html:52
#: templates/net_worth/net_worth.html:65
#: templates/yearly_overview/pages/overview_by_account.html:7
msgid "By account"
msgstr "Por conta"
#: templates/net_worth/net_worth.html:153
#: templates/net_worth/net_worth.html:166
msgid "Evolution by currency"
msgstr "Evolução por moeda"
#: templates/net_worth/net_worth.html:208
#: templates/net_worth/net_worth.html:224
msgid "Evolution by account"
msgstr "Evolução por conta"
@@ -1831,6 +1848,54 @@ msgstr "Editar transação"
msgid "No transactions found"
msgstr "Nenhuma transação encontrada"
#: templates/transactions/fragments/summary.html:255
#: templates/yearly_overview/fragments/account_data.html:14
#: templates/yearly_overview/fragments/currency_data.html:14
msgid "projected income"
msgstr "renda prevista"
#: templates/transactions/fragments/summary.html:277
#: templates/yearly_overview/fragments/account_data.html:36
#: templates/yearly_overview/fragments/currency_data.html:36
msgid "projected expenses"
msgstr "despesas previstas"
#: templates/transactions/fragments/summary.html:301
#: templates/yearly_overview/fragments/account_data.html:60
#: templates/yearly_overview/fragments/currency_data.html:60
msgid "projected total"
msgstr "total previsto"
#: templates/transactions/fragments/summary.html:326
#: templates/yearly_overview/fragments/account_data.html:85
#: templates/yearly_overview/fragments/currency_data.html:85
msgid "current income"
msgstr "renda atual"
#: templates/transactions/fragments/summary.html:348
#: templates/yearly_overview/fragments/account_data.html:107
#: templates/yearly_overview/fragments/currency_data.html:107
msgid "current expenses"
msgstr "despesas atuais"
#: templates/transactions/fragments/summary.html:370
#: templates/yearly_overview/fragments/account_data.html:129
#: templates/yearly_overview/fragments/currency_data.html:129
msgid "current total"
msgstr "total atual"
#: templates/transactions/fragments/summary.html:396
#: templates/yearly_overview/fragments/account_data.html:155
#: templates/yearly_overview/fragments/currency_data.html:155
msgid "final total"
msgstr "total final"
#: templates/transactions/fragments/summary.html:426
#: templates/yearly_overview/fragments/account_data.html:185
#: templates/yearly_overview/fragments/currency_data.html:184
msgid "No information to display"
msgstr "Não há informação para mostrar"
#: templates/transactions/fragments/transfer.html:5
msgid "New transfer"
msgstr "Nova transferência"
@@ -1855,46 +1920,6 @@ msgstr "Reproduzir sons"
msgid "Show amounts"
msgstr "Mostrar valores"
#: templates/yearly_overview/fragments/account_data.html:14
#: templates/yearly_overview/fragments/currency_data.html:14
msgid "projected income"
msgstr "renda prevista"
#: templates/yearly_overview/fragments/account_data.html:36
#: templates/yearly_overview/fragments/currency_data.html:36
msgid "projected expenses"
msgstr "despesas previstas"
#: templates/yearly_overview/fragments/account_data.html:60
#: templates/yearly_overview/fragments/currency_data.html:60
msgid "projected total"
msgstr "total previsto"
#: templates/yearly_overview/fragments/account_data.html:85
#: templates/yearly_overview/fragments/currency_data.html:85
msgid "current income"
msgstr "renda atual"
#: templates/yearly_overview/fragments/account_data.html:107
#: templates/yearly_overview/fragments/currency_data.html:107
msgid "current expenses"
msgstr "despesas atuais"
#: templates/yearly_overview/fragments/account_data.html:129
#: templates/yearly_overview/fragments/currency_data.html:129
msgid "current total"
msgstr "total atual"
#: templates/yearly_overview/fragments/account_data.html:155
#: templates/yearly_overview/fragments/currency_data.html:155
msgid "final total"
msgstr "total final"
#: templates/yearly_overview/fragments/account_data.html:184
#: templates/yearly_overview/fragments/currency_data.html:184
msgid "No information to display"
msgstr "Não há informação para mostrar"
#: templates/yearly_overview/pages/overview_by_account.html:7
#: templates/yearly_overview/pages/overview_by_currency.html:9
msgid "Yearly Overview"

View File

@@ -13,7 +13,7 @@
<div>{% translate 'Currency Converter' %}</div>
</div>
<div class="row">
<div class="col-5">
<div class="col-12 col-lg-5">
<div>
<input class="form-control form-control-lg mb-3"
type="text"
@@ -25,13 +25,14 @@
</div>
<div>{{ form.from_currency|as_crispy_field }}</div>
</div>
<div class="col text-primary tw-flex tw-items-center tw-justify-center">
<div class="col text-primary tw-flex tw-items-center tw-justify-center my-3 my-lg-0">
<i class="fa-solid fa-equals"></i>
</div>
<div class="col-5">
<div class="col-12 col-lg-5">
<div hx-get="{% url 'currency_converter_convert' %}"
hx-trigger="input from:#from_value, input from:#id_from_currency, input from:#id_to_currency"
hx-include="#from_value, #id_from_currency, #id_to_currency">
hx-trigger="input from:#from_value, input from:#id_from_currency, input from:#id_to_currency, updated"
hx-include="#from_value, #id_from_currency, #id_to_currency"
id="result">
<input class="form-control form-control-lg mb-3"
type="text"
name="to_value"
@@ -41,5 +42,19 @@
<div>{{ form.to_currency|as_crispy_field }}</div>
</div>
</div>
<div class="row">
<div class="tw-cursor-pointer text-primary text-end"
_="on click
set from_value to #id_from_currency's value
set to_value to #id_to_currency's value
set #id_from_currency's value to to_value
set #id_to_currency's value to from_value
call #id_from_currency.tomselect.sync()
call #id_to_currency.tomselect.sync()
trigger updated on #result
end">
<i class="fa-solid fa-rotate me-2"></i><span>{% trans 'Invert' %}</span>
</div>
</div>
</div>
{% endblock %}

View File

@@ -1,9 +1,6 @@
services:
web: &django
build:
context: .
dockerfile: ./docker/prod/django/Dockerfile
image: ${SERVER_NAME}
image: eitchtee/wygiwyh:latest
container_name: ${SERVER_NAME}
command: /start
ports:
@@ -27,7 +24,6 @@ services:
procrastinate:
<<: *django
image: ${PROCRASTINATE_NAME}
container_name: ${PROCRASTINATE_NAME}
depends_on:
- db

View File

@@ -6,16 +6,16 @@ RUN apt-get update && apt-get install --no-install-recommends -y \
&& rm -rf /var/lib/apt/lists/*
COPY ./requirements.txt .
RUN pip wheel --wheel-dir /usr/src/app/wheels -r requirements.txt
RUN --mount=type=cache,target=/root/.cache/pip \
pip wheel --wheel-dir /usr/src/app/wheels -r requirements.txt
FROM node:lts-alpine AS webpack_build
WORKDIR /usr/src/frontend
COPY ./frontend .
COPY ./app/templates /usr/src/app/templates
RUN npm config set registry https://registry.npmmirror.com/ && \
RUN --mount=type=cache,target=/root/.npm \
npm install --verbose && \
npm run build && \
npm cache clean --force
npm run build
FROM python:3.11-slim-buster AS python-run-stage
COPY --from=webpack_build /usr/src/frontend/build /usr/src/frontend/build
@@ -29,12 +29,13 @@ ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1
COPY --from=python-build-stage /usr/src/app/wheels /wheels/
RUN apt-get update && \
RUN --mount=type=cache,target=/root/.cache/apt \
apt-get update && \
apt-get install --no-install-recommends -y gettext && \
rm -rf /var/lib/apt/lists/* && \
pip install --upgrade pip && \
pip install --no-cache-dir --no-index --find-links=/wheels/ /wheels/* && \
rm -rf /wheels/ ~/.cache/pip/*
rm -rf /wheels/
COPY --chown=app:app ./docker/prod/django/start /start
COPY --chown=app:app ./docker/prod/procrastinate/start /start-procrastinate

View File

@@ -3441,9 +3441,9 @@
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
},
"node_modules/cookie": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
"integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
"engines": {
"node": ">= 0.6"
}
@@ -4499,16 +4499,16 @@
}
},
"node_modules/express": {
"version": "4.21.0",
"resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz",
"integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==",
"version": "4.21.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz",
"integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==",
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
"body-parser": "1.20.3",
"content-disposition": "0.5.4",
"content-type": "~1.0.4",
"cookie": "0.6.0",
"cookie": "0.7.1",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "2.0.0",
@@ -4522,7 +4522,7 @@
"methods": "~1.1.2",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.10",
"path-to-regexp": "0.1.12",
"proxy-addr": "~2.0.7",
"qs": "6.13.0",
"range-parser": "~1.2.1",
@@ -4537,6 +4537,10 @@
},
"engines": {
"node": ">= 0.10.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"node_modules/express/node_modules/debug": {
@@ -5219,9 +5223,9 @@
}
},
"node_modules/http-proxy-middleware": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
"integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz",
"integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==",
"dependencies": {
"@types/http-proxy": "^1.17.8",
"http-proxy": "^1.18.1",
@@ -6179,9 +6183,9 @@
}
},
"node_modules/nanoid": {
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
"integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
"funding": [
{
"type": "github",
@@ -6535,9 +6539,9 @@
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="
},
"node_modules/path-to-regexp": {
"version": "0.1.10",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
"integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w=="
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
"integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ=="
},
"node_modules/path-type": {
"version": "4.0.0",