Infisical
All-in-one platform to securely manage application configuration and secrets across your team and infrastructure.
Configuration
services:
backend:
image: infisical/infisical:v0.162.6
restart: unless-stopped
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
environment:
- NODE_ENV=production
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
- AUTH_SECRET=${AUTH_SECRET}
- SITE_URL=${SITE_URL}
- DB_CONNECTION_URI=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}
- REDIS_URL=redis://redis:6379
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_FROM_ADDRESS=${SMTP_FROM_ADDRESS}
- SMTP_FROM_NAME=${SMTP_FROM_NAME}
- SMTP_USERNAME=${SMTP_USERNAME}
- SMTP_PASSWORD=${SMTP_PASSWORD}
redis:
image: redis:7.4.1
restart: always
volumes:
- redis_infisical_data:/data
db:
image: postgres:14-alpine
restart: always
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- pg_infisical_data:/var/lib/postgresql/data
healthcheck:
test: "pg_isready --username=${POSTGRES_USER} && psql --username=${POSTGRES_USER} --list"
interval: 5s
timeout: 10s
retries: 10
volumes:
pg_infisical_data:
redis_infisical_data:[variables]
main_domain = "${domain}"
postgres_password = "${password}"
postgres_user = "infisical"
postgres_db = "infisical"
encryption_key = "${hash:32}"
auth_secret = "${base64:32}"
[config]
env = [
"ENCRYPTION_KEY=${encryption_key}",
"AUTH_SECRET=${auth_secret}",
"POSTGRES_PASSWORD=${postgres_password}",
"POSTGRES_USER=${postgres_user}",
"POSTGRES_DB=${postgres_db}",
"SITE_URL=http://${main_domain}",
"SMTP_HOST=",
"SMTP_PORT=587",
"SMTP_FROM_ADDRESS=",
"SMTP_FROM_NAME=Infisical",
"SMTP_USERNAME=",
"SMTP_PASSWORD=",
]
mounts = []
[[config.domains]]
serviceName = "backend"
port = 8080
host = "${main_domain}"Base64
To import this template in Dokploy: create a Compose service → Advanced → Base64 import and paste the content below:
ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBiYWNrZW5kOlxuICAgIGltYWdlOiBpbmZpc2ljYWwvaW5maXNpY2FsOnYwLjE2Mi42XG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBkZXBlbmRzX29uOlxuICAgICAgZGI6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5XG4gICAgICByZWRpczpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX3N0YXJ0ZWRcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gTk9ERV9FTlY9cHJvZHVjdGlvblxuICAgICAgLSBFTkNSWVBUSU9OX0tFWT0ke0VOQ1JZUFRJT05fS0VZfVxuICAgICAgLSBBVVRIX1NFQ1JFVD0ke0FVVEhfU0VDUkVUfVxuICAgICAgLSBTSVRFX1VSTD0ke1NJVEVfVVJMfVxuICAgICAgLSBEQl9DT05ORUNUSU9OX1VSST1wb3N0Z3JlczovLyR7UE9TVEdSRVNfVVNFUn06JHtQT1NUR1JFU19QQVNTV09SRH1AZGI6NTQzMi8ke1BPU1RHUkVTX0RCfVxuICAgICAgLSBSRURJU19VUkw9cmVkaXM6Ly9yZWRpczo2Mzc5XG4gICAgICAtIFNNVFBfSE9TVD0ke1NNVFBfSE9TVH1cbiAgICAgIC0gU01UUF9QT1JUPSR7U01UUF9QT1JUfVxuICAgICAgLSBTTVRQX0ZST01fQUREUkVTUz0ke1NNVFBfRlJPTV9BRERSRVNTfVxuICAgICAgLSBTTVRQX0ZST01fTkFNRT0ke1NNVFBfRlJPTV9OQU1FfVxuICAgICAgLSBTTVRQX1VTRVJOQU1FPSR7U01UUF9VU0VSTkFNRX1cbiAgICAgIC0gU01UUF9QQVNTV09SRD0ke1NNVFBfUEFTU1dPUkR9XG5cbiAgcmVkaXM6XG4gICAgaW1hZ2U6IHJlZGlzOjcuNC4xXG4gICAgcmVzdGFydDogYWx3YXlzXG4gICAgdm9sdW1lczpcbiAgICAgIC0gcmVkaXNfaW5maXNpY2FsX2RhdGE6L2RhdGFcblxuICBkYjpcbiAgICBpbWFnZTogcG9zdGdyZXM6MTQtYWxwaW5lXG4gICAgcmVzdGFydDogYWx3YXlzXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIFBPU1RHUkVTX1BBU1NXT1JEPSR7UE9TVEdSRVNfUEFTU1dPUkR9XG4gICAgICAtIFBPU1RHUkVTX1VTRVI9JHtQT1NUR1JFU19VU0VSfVxuICAgICAgLSBQT1NUR1JFU19EQj0ke1BPU1RHUkVTX0RCfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIHBnX2luZmlzaWNhbF9kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YVxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogXCJwZ19pc3JlYWR5IC0tdXNlcm5hbWU9JHtQT1NUR1JFU19VU0VSfSAmJiBwc3FsIC0tdXNlcm5hbWU9JHtQT1NUR1JFU19VU0VSfSAtLWxpc3RcIlxuICAgICAgaW50ZXJ2YWw6IDVzXG4gICAgICB0aW1lb3V0OiAxMHNcbiAgICAgIHJldHJpZXM6IDEwXG5cbnZvbHVtZXM6XG4gIHBnX2luZmlzaWNhbF9kYXRhOlxuICByZWRpc19pbmZpc2ljYWxfZGF0YTpcbiIsCiAgImNvbmZpZyI6ICJbdmFyaWFibGVzXVxubWFpbl9kb21haW4gPSBcIiR7ZG9tYWlufVwiXG5wb3N0Z3Jlc19wYXNzd29yZCA9IFwiJHtwYXNzd29yZH1cIlxucG9zdGdyZXNfdXNlciA9IFwiaW5maXNpY2FsXCJcbnBvc3RncmVzX2RiID0gXCJpbmZpc2ljYWxcIlxuZW5jcnlwdGlvbl9rZXkgPSBcIiR7aGFzaDozMn1cIlxuYXV0aF9zZWNyZXQgPSBcIiR7YmFzZTY0OjMyfVwiXG5cbltjb25maWddXG5lbnYgPSBbXG4gIFwiRU5DUllQVElPTl9LRVk9JHtlbmNyeXB0aW9uX2tleX1cIixcbiAgXCJBVVRIX1NFQ1JFVD0ke2F1dGhfc2VjcmV0fVwiLFxuICBcIlBPU1RHUkVTX1BBU1NXT1JEPSR7cG9zdGdyZXNfcGFzc3dvcmR9XCIsXG4gIFwiUE9TVEdSRVNfVVNFUj0ke3Bvc3RncmVzX3VzZXJ9XCIsXG4gIFwiUE9TVEdSRVNfREI9JHtwb3N0Z3Jlc19kYn1cIixcbiAgXCJTSVRFX1VSTD1odHRwOi8vJHttYWluX2RvbWFpbn1cIixcbiAgXCJTTVRQX0hPU1Q9XCIsXG4gIFwiU01UUF9QT1JUPTU4N1wiLFxuICBcIlNNVFBfRlJPTV9BRERSRVNTPVwiLFxuICBcIlNNVFBfRlJPTV9OQU1FPUluZmlzaWNhbFwiLFxuICBcIlNNVFBfVVNFUk5BTUU9XCIsXG4gIFwiU01UUF9QQVNTV09SRD1cIixcbl1cbm1vdW50cyA9IFtdXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcImJhY2tlbmRcIlxucG9ydCA9IDgwODBcbmhvc3QgPSBcIiR7bWFpbl9kb21haW59XCJcbiIKfQ==Links
Tags
self-hosted, open-source
Version: 0.162.6