Skip to content

Commit

Permalink
fix: docker compose build secret
Browse files Browse the repository at this point in the history
  • Loading branch information
devthejo committed Sep 26, 2023
1 parent 186577d commit cd0ea8f
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 10 deletions.
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export NPM_TIPTAP_TOKEN=$(cat .npmTiptapToken.secret)
1 change: 0 additions & 1 deletion .envrc.sample

This file was deleted.

2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ docker-compose.override.yml
!.yarn/sdks
!.yarn/versions

.envrc
.npmTiptapToken.secret
10 changes: 4 additions & 6 deletions README-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,14 @@
Pour intialiser le projet, nous avons besoin d'une dépendance depuis le registry privé de [tiptap](https://tiptap.dev/). Suivez les étapes suivantes :
* [Créer un compte (gratuit)](https://tiptap.dev/register) sur tiptap.
* Se rendre sur la page [Pro Extensions](https://collab.tiptap.dev/pro-extensions) de votre compte pour récupérer le token
* Exporter la variable `NPM_TIPTAP_TOKEN` dans votre shell courant
* Créer un fichier `.npmTiptapToken.secret` contenant le token. Il sera utile pour `docker compose` et pour direnv (si l'on souhaite automatiser le chargement de la variable `NPM_TIPTAP_TOKEN`)
* Exporter la variable `NPM_TIPTAP_TOKEN` dans votre shell courant ou, pour automatiser cette étape, passer à l'étape suivante
* (optionnel) Pour automatiser la chargement de cette variable lorsque l'on est dans le dossier du projet, il est possible d'installer [direnv](https://direnv.net/).
```sh
curl -sfL https://direnv.net/install.sh | bash
```
Créer ensuite un fichier `.envrc` à la racine avec le contenu suivant (ou en copiant le fichier `.envrc.sample`):
```
export NPM_TIPTAP_TOKEN='VOTRE_TOKEN_ICI'
```
il faut ensuite executer `direnv allow` (et il faudra exécuter cette commande après chaque changement du fichier .envrc pour autoriser direnv à charger son contenu automatiquement lorsque le shell est dans le dossier)
Le fichier `.npmTiptapToken.secret` contenant le token sera chargé par le fichier .envrc déjà présent à la racine.
Il faut ensuite executer `direnv allow` (et il faudra exécuter cette commande après chaque changement du fichier .envrc pour autoriser direnv à charger son contenu automatiquement lorsque le shell est dans le dossier)

Vous pouvez maintenant lancer la commande `yarn install` pour installer les packages du projet.

Expand Down
14 changes: 14 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ services:
context: .
dockerfile: targets/frontend/Dockerfile
shm_size: 512m
secrets:
- npmTiptapToken
depends_on:
- hasura
ports:
Expand All @@ -52,6 +54,8 @@ services:
context: .
dockerfile: targets/contributions/Dockerfile
shm_size: 512m
secrets:
- npmTiptapToken
depends_on:
- hasura
- www
Expand All @@ -67,6 +71,8 @@ services:
context: .
dockerfile: targets/ingester/Dockerfile
shm_size: 512m
secrets:
- npmTiptapToken
depends_on:
- hasura
env_file:
Expand Down Expand Up @@ -104,6 +110,8 @@ services:
context: .
dockerfile: targets/export-elasticsearch/Dockerfile
shm_size: 512m
secrets:
- npmTiptapToken
ports:
- 8787:8787
environment:
Expand All @@ -120,8 +128,14 @@ services:
build:
context: .
dockerfile: targets/alert-cli/Dockerfile
secrets:
- npmTiptapToken

volumes:
db_data:
azurite_data:
elastic_data:

secrets:
npmTiptapToken:
file: .npmTiptapToken.secret
2 changes: 0 additions & 2 deletions targets/frontend/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ WORKDIR /app
COPY yarn.lock .yarnrc.yml ./
COPY .yarn .yarn

# Hack copy .npmrc file only if exist (dev only) otherwise use secret
COPY *.npmrc /
# hadolint ignore=SC2046
RUN --mount=type=secret,id=npmTiptapToken,target=/secrets/npmTiptapToken \
export NPM_TIPTAP_TOKEN=$(cat /secrets/npmTiptapToken); \
Expand Down

0 comments on commit cd0ea8f

Please sign in to comment.