Dokploy

Logto

Logto is an open-source Identity and Access Management (IAM) platform designed to streamline Customer Identity and Access Management (CIAM) and Workforce Identity Management.

Logto logo

Configuration

services:
  app:
    image: ghcr.io/logto-io/logto:1.41.0
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
    entrypoint: ["sh", "-c", "npm run cli db seed -- --swe && npm start"]
    environment:
      TRUST_PROXY_HEADER: 1
      DB_URL: postgres://logto:${LOGTO_POSTGRES_PASSWORD}@postgres:5432/logto
      ENDPOINT: ${LOGTO_ENDPOINT}
      ADMIN_ENDPOINT: ${LOGTO_ADMIN_ENDPOINT}
    volumes:
      - logto-connectors:/etc/logto/packages/core/connectors
  postgres:
    image: postgres:17-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: logto
      POSTGRES_PASSWORD: ${LOGTO_POSTGRES_PASSWORD}
      POSTGRES_DB: logto
    volumes:
      - postgres-data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U logto -d logto"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  logto-connectors:
  postgres-data:
[variables]
main_domain = "${domain}"
admin_domain = "${domain}"
postgres_password = "${password:32}"

[config]
mounts = []

[[config.domains]]
serviceName = "app"
port = 3_001
host = "${main_domain}"

[[config.domains]]
serviceName = "app"
port = 3_002
host = "${admin_domain}"

[config.env]
LOGTO_ENDPOINT = "http://${main_domain}"
LOGTO_ADMIN_ENDPOINT = "http://${admin_domain}"
LOGTO_POSTGRES_PASSWORD = "${postgres_password}"

Base64

To import this template in Dokploy: create a Compose service → AdvancedBase64 import and paste the content below:

ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBhcHA6XG4gICAgaW1hZ2U6IGdoY3IuaW8vbG9ndG8taW8vbG9ndG86MS40MS4wXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBkZXBlbmRzX29uOlxuICAgICAgcG9zdGdyZXM6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5XG4gICAgZW50cnlwb2ludDogW1wic2hcIiwgXCItY1wiLCBcIm5wbSBydW4gY2xpIGRiIHNlZWQgLS0gLS1zd2UgJiYgbnBtIHN0YXJ0XCJdXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICBUUlVTVF9QUk9YWV9IRUFERVI6IDFcbiAgICAgIERCX1VSTDogcG9zdGdyZXM6Ly9sb2d0bzoke0xPR1RPX1BPU1RHUkVTX1BBU1NXT1JEfUBwb3N0Z3Jlczo1NDMyL2xvZ3RvXG4gICAgICBFTkRQT0lOVDogJHtMT0dUT19FTkRQT0lOVH1cbiAgICAgIEFETUlOX0VORFBPSU5UOiAke0xPR1RPX0FETUlOX0VORFBPSU5UfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIGxvZ3RvLWNvbm5lY3RvcnM6L2V0Yy9sb2d0by9wYWNrYWdlcy9jb3JlL2Nvbm5lY3RvcnNcbiAgcG9zdGdyZXM6XG4gICAgaW1hZ2U6IHBvc3RncmVzOjE3LWFscGluZVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICBQT1NUR1JFU19VU0VSOiBsb2d0b1xuICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6ICR7TE9HVE9fUE9TVEdSRVNfUEFTU1dPUkR9XG4gICAgICBQT1NUR1JFU19EQjogbG9ndG9cbiAgICB2b2x1bWVzOlxuICAgICAgLSBwb3N0Z3Jlcy1kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YVxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogW1wiQ01ELVNIRUxMXCIsIFwicGdfaXNyZWFkeSAtVSBsb2d0byAtZCBsb2d0b1wiXVxuICAgICAgaW50ZXJ2YWw6IDEwc1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDVcblxudm9sdW1lczpcbiAgbG9ndG8tY29ubmVjdG9yczpcbiAgcG9zdGdyZXMtZGF0YTpcbiIsCiAgImNvbmZpZyI6ICJbdmFyaWFibGVzXVxubWFpbl9kb21haW4gPSBcIiR7ZG9tYWlufVwiXG5hZG1pbl9kb21haW4gPSBcIiR7ZG9tYWlufVwiXG5wb3N0Z3Jlc19wYXNzd29yZCA9IFwiJHtwYXNzd29yZDozMn1cIlxuXG5bY29uZmlnXVxubW91bnRzID0gW11cblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwiYXBwXCJcbnBvcnQgPSAzXzAwMVxuaG9zdCA9IFwiJHttYWluX2RvbWFpbn1cIlxuXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJhcHBcIlxucG9ydCA9IDNfMDAyXG5ob3N0ID0gXCIke2FkbWluX2RvbWFpbn1cIlxuXG5bY29uZmlnLmVudl1cbkxPR1RPX0VORFBPSU5UID0gXCJodHRwOi8vJHttYWluX2RvbWFpbn1cIlxuTE9HVE9fQURNSU5fRU5EUE9JTlQgPSBcImh0dHA6Ly8ke2FkbWluX2RvbWFpbn1cIlxuTE9HVE9fUE9TVEdSRVNfUEFTU1dPUkQgPSBcIiR7cG9zdGdyZXNfcGFzc3dvcmR9XCJcbiIKfQ==

Tags

identity, auth


Version: 1.41.0

On this page