Dokploy

Infisical

All-in-one platform to securely manage application configuration and secrets across your team and infrastructure.

Infisical logo

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 → AdvancedBase64 import and paste the content below:

ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBiYWNrZW5kOlxuICAgIGltYWdlOiBpbmZpc2ljYWwvaW5maXNpY2FsOnYwLjE2Mi42XG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBkZXBlbmRzX29uOlxuICAgICAgZGI6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5XG4gICAgICByZWRpczpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX3N0YXJ0ZWRcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gTk9ERV9FTlY9cHJvZHVjdGlvblxuICAgICAgLSBFTkNSWVBUSU9OX0tFWT0ke0VOQ1JZUFRJT05fS0VZfVxuICAgICAgLSBBVVRIX1NFQ1JFVD0ke0FVVEhfU0VDUkVUfVxuICAgICAgLSBTSVRFX1VSTD0ke1NJVEVfVVJMfVxuICAgICAgLSBEQl9DT05ORUNUSU9OX1VSST1wb3N0Z3JlczovLyR7UE9TVEdSRVNfVVNFUn06JHtQT1NUR1JFU19QQVNTV09SRH1AZGI6NTQzMi8ke1BPU1RHUkVTX0RCfVxuICAgICAgLSBSRURJU19VUkw9cmVkaXM6Ly9yZWRpczo2Mzc5XG4gICAgICAtIFNNVFBfSE9TVD0ke1NNVFBfSE9TVH1cbiAgICAgIC0gU01UUF9QT1JUPSR7U01UUF9QT1JUfVxuICAgICAgLSBTTVRQX0ZST01fQUREUkVTUz0ke1NNVFBfRlJPTV9BRERSRVNTfVxuICAgICAgLSBTTVRQX0ZST01fTkFNRT0ke1NNVFBfRlJPTV9OQU1FfVxuICAgICAgLSBTTVRQX1VTRVJOQU1FPSR7U01UUF9VU0VSTkFNRX1cbiAgICAgIC0gU01UUF9QQVNTV09SRD0ke1NNVFBfUEFTU1dPUkR9XG5cbiAgcmVkaXM6XG4gICAgaW1hZ2U6IHJlZGlzOjcuNC4xXG4gICAgcmVzdGFydDogYWx3YXlzXG4gICAgdm9sdW1lczpcbiAgICAgIC0gcmVkaXNfaW5maXNpY2FsX2RhdGE6L2RhdGFcblxuICBkYjpcbiAgICBpbWFnZTogcG9zdGdyZXM6MTQtYWxwaW5lXG4gICAgcmVzdGFydDogYWx3YXlzXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIFBPU1RHUkVTX1BBU1NXT1JEPSR7UE9TVEdSRVNfUEFTU1dPUkR9XG4gICAgICAtIFBPU1RHUkVTX1VTRVI9JHtQT1NUR1JFU19VU0VSfVxuICAgICAgLSBQT1NUR1JFU19EQj0ke1BPU1RHUkVTX0RCfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIHBnX2luZmlzaWNhbF9kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YVxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogXCJwZ19pc3JlYWR5IC0tdXNlcm5hbWU9JHtQT1NUR1JFU19VU0VSfSAmJiBwc3FsIC0tdXNlcm5hbWU9JHtQT1NUR1JFU19VU0VSfSAtLWxpc3RcIlxuICAgICAgaW50ZXJ2YWw6IDVzXG4gICAgICB0aW1lb3V0OiAxMHNcbiAgICAgIHJldHJpZXM6IDEwXG5cbnZvbHVtZXM6XG4gIHBnX2luZmlzaWNhbF9kYXRhOlxuICByZWRpc19pbmZpc2ljYWxfZGF0YTpcbiIsCiAgImNvbmZpZyI6ICJbdmFyaWFibGVzXVxubWFpbl9kb21haW4gPSBcIiR7ZG9tYWlufVwiXG5wb3N0Z3Jlc19wYXNzd29yZCA9IFwiJHtwYXNzd29yZH1cIlxucG9zdGdyZXNfdXNlciA9IFwiaW5maXNpY2FsXCJcbnBvc3RncmVzX2RiID0gXCJpbmZpc2ljYWxcIlxuZW5jcnlwdGlvbl9rZXkgPSBcIiR7aGFzaDozMn1cIlxuYXV0aF9zZWNyZXQgPSBcIiR7YmFzZTY0OjMyfVwiXG5cbltjb25maWddXG5lbnYgPSBbXG4gIFwiRU5DUllQVElPTl9LRVk9JHtlbmNyeXB0aW9uX2tleX1cIixcbiAgXCJBVVRIX1NFQ1JFVD0ke2F1dGhfc2VjcmV0fVwiLFxuICBcIlBPU1RHUkVTX1BBU1NXT1JEPSR7cG9zdGdyZXNfcGFzc3dvcmR9XCIsXG4gIFwiUE9TVEdSRVNfVVNFUj0ke3Bvc3RncmVzX3VzZXJ9XCIsXG4gIFwiUE9TVEdSRVNfREI9JHtwb3N0Z3Jlc19kYn1cIixcbiAgXCJTSVRFX1VSTD1odHRwOi8vJHttYWluX2RvbWFpbn1cIixcbiAgXCJTTVRQX0hPU1Q9XCIsXG4gIFwiU01UUF9QT1JUPTU4N1wiLFxuICBcIlNNVFBfRlJPTV9BRERSRVNTPVwiLFxuICBcIlNNVFBfRlJPTV9OQU1FPUluZmlzaWNhbFwiLFxuICBcIlNNVFBfVVNFUk5BTUU9XCIsXG4gIFwiU01UUF9QQVNTV09SRD1cIixcbl1cbm1vdW50cyA9IFtdXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcImJhY2tlbmRcIlxucG9ydCA9IDgwODBcbmhvc3QgPSBcIiR7bWFpbl9kb21haW59XCJcbiIKfQ==

Tags

self-hosted, open-source


Version: 0.162.6

On this page