mirror of
https://github.com/Infisical/infisical.git
synced 2026-05-02 03:02:03 -04:00
63 lines
2.1 KiB
Plaintext
63 lines
2.1 KiB
Plaintext
---
|
|
title: "Docker Compose"
|
|
---
|
|
|
|
The Docker Compose integration enables you to inject environment variables from Infisical into the containers defined in your compose file.
|
|
|
|
## Add the CLI to your Dockerfile(s) start command
|
|
|
|
Follow the [guide to configure Infisical CLI](./docker) in your your Dockerfile first.
|
|
|
|
## Generate Infisical Token
|
|
|
|
In order for Infisical CLI to authenticate and retrieve your project's secrets without exposing your login credentials, you must generate a Infisical Token.
|
|
To learn how, visit [Infisical Token](../../getting-started/dashboard/token). Once you have generated the token, keep it handy.
|
|
|
|
<Info>
|
|
If you have multiple services and they do not use the same secrets, you will
|
|
have to generate a Infisical Token for each service.
|
|
</Info>
|
|
|
|
## Tell Docker Compose your Infisical Token
|
|
|
|
For each service you want to inject secrets into, set an environment variable called `INFISICAL_TOKEN` equal to a helpful identifier variable.
|
|
This will ensure that you can set Infisical Tokens for multiple services.
|
|
|
|
For the example below, we have set `INFISICAL_TOKEN_FOR_WEB` and `INFISICAL_TOKEN_FOR_API` as the `INFISICAL_TOKEN` for the corresponding service.
|
|
|
|
```yaml
|
|
# Example Docker Compose file
|
|
services:
|
|
web:
|
|
build: .
|
|
image: auledge-frontend
|
|
container_name: auledge-frontend
|
|
environment:
|
|
- INFISICAL_TOKEN=${INFISICAL_TOKEN_FOR_WEB}
|
|
|
|
api:
|
|
build: .
|
|
image: auledge-backend
|
|
container_name: auledge-backend
|
|
environment:
|
|
- INFISICAL_TOKEN=${INFISICAL_TOKEN_FOR_API}
|
|
```
|
|
|
|
## Export shell variables
|
|
|
|
Next, set the shell variables you defined in your compose file. This can be done manually or via your CI/CD environment. Once done, it will be used to populate the corresponding `INFISICAL_TOKEN`
|
|
in your Docker Compose file.
|
|
|
|
```bash
|
|
#Example
|
|
|
|
# Token refers to the token we generated in step 2 for this service
|
|
export INFISICAL_TOKEN_FOR_WEB=<token>
|
|
|
|
# Token refers to the token we generated in step 2 for this service
|
|
export INFISICAL_TOKEN_FOR_API=<token>
|
|
|
|
# Then run your compose file in the same terminal.
|
|
docker-compose ...
|
|
```
|