Dokploy

Leantime

Leantime is an open-source project management system for small teams and startups, built with PHP and MySQL.

Leantime logo

Configuration

version: "3.8"
services:
  leantime:
    image: leantime/leantime:latest
    restart: unless-stopped
    ports:
      - 8080
    environment:
      - LEAN_APP_URL=${LEAN_APP_URL}
      - LEAN_SESSION_PASSWORD=${LEAN_SESSION_PASSWORD}
      - LEAN_DB_HOST=db
      - LEAN_DB_USER=${LEAN_DB_USER}
      - LEAN_DB_PASSWORD=${LEAN_DB_PASSWORD}
      - LEAN_DB_DATABASE=${LEAN_DB_DATABASE}
    volumes:
      - leantime-files:/var/www/html/userfiles
      - leantime-public:/var/www/html/public/userfiles
    depends_on:
      - db

  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
      - MYSQL_DATABASE=${LEAN_DB_DATABASE}
      - MYSQL_USER=${LEAN_DB_USER}
      - MYSQL_PASSWORD=${LEAN_DB_PASSWORD}
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    volumes:
      - db-data:/var/lib/mysql

volumes:
  leantime-files: {}
  leantime-public: {}
  db-data: {}
[variables]
main_domain = "${domain}"
db_password = "${password:16}"
db_root_password = "${password:16}"
db_user = "leantime"
db_name = "leantime"
session_password = "${password:32}"

[config]
[[config.domains]]
serviceName = "leantime"
port = 8080
host = "${main_domain}"

[config.env]
LEAN_APP_URL = "http://${main_domain}"
LEAN_SESSION_PASSWORD = "${session_password}"
LEAN_DB_USER = "${db_user}"
LEAN_DB_PASSWORD = "${db_password}"
LEAN_DB_DATABASE = "${db_name}"
MYSQL_ROOT_PASSWORD = "${db_root_password}"

Base64

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

ewogICJjb21wb3NlIjogInZlcnNpb246IFwiMy44XCJcbnNlcnZpY2VzOlxuICBsZWFudGltZTpcbiAgICBpbWFnZTogbGVhbnRpbWUvbGVhbnRpbWU6bGF0ZXN0XG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBwb3J0czpcbiAgICAgIC0gODA4MFxuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBMRUFOX0FQUF9VUkw9JHtMRUFOX0FQUF9VUkx9XG4gICAgICAtIExFQU5fU0VTU0lPTl9QQVNTV09SRD0ke0xFQU5fU0VTU0lPTl9QQVNTV09SRH1cbiAgICAgIC0gTEVBTl9EQl9IT1NUPWRiXG4gICAgICAtIExFQU5fREJfVVNFUj0ke0xFQU5fREJfVVNFUn1cbiAgICAgIC0gTEVBTl9EQl9QQVNTV09SRD0ke0xFQU5fREJfUEFTU1dPUkR9XG4gICAgICAtIExFQU5fREJfREFUQUJBU0U9JHtMRUFOX0RCX0RBVEFCQVNFfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIGxlYW50aW1lLWZpbGVzOi92YXIvd3d3L2h0bWwvdXNlcmZpbGVzXG4gICAgICAtIGxlYW50aW1lLXB1YmxpYzovdmFyL3d3dy9odG1sL3B1YmxpYy91c2VyZmlsZXNcbiAgICBkZXBlbmRzX29uOlxuICAgICAgLSBkYlxuXG4gIGRiOlxuICAgIGltYWdlOiBtYXJpYWRiOjExXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gTVlTUUxfUk9PVF9QQVNTV09SRD0ke01ZU1FMX1JPT1RfUEFTU1dPUkR9XG4gICAgICAtIE1ZU1FMX0RBVEFCQVNFPSR7TEVBTl9EQl9EQVRBQkFTRX1cbiAgICAgIC0gTVlTUUxfVVNFUj0ke0xFQU5fREJfVVNFUn1cbiAgICAgIC0gTVlTUUxfUEFTU1dPUkQ9JHtMRUFOX0RCX1BBU1NXT1JEfVxuICAgIGNvbW1hbmQ6IC0tY2hhcmFjdGVyLXNldC1zZXJ2ZXI9dXRmOG1iNCAtLWNvbGxhdGlvbi1zZXJ2ZXI9dXRmOG1iNF91bmljb2RlX2NpXG4gICAgdm9sdW1lczpcbiAgICAgIC0gZGItZGF0YTovdmFyL2xpYi9teXNxbFxuXG52b2x1bWVzOlxuICBsZWFudGltZS1maWxlczoge31cbiAgbGVhbnRpbWUtcHVibGljOiB7fVxuICBkYi1kYXRhOiB7fVxuIiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5tYWluX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbmRiX3Bhc3N3b3JkID0gXCIke3Bhc3N3b3JkOjE2fVwiXG5kYl9yb290X3Bhc3N3b3JkID0gXCIke3Bhc3N3b3JkOjE2fVwiXG5kYl91c2VyID0gXCJsZWFudGltZVwiXG5kYl9uYW1lID0gXCJsZWFudGltZVwiXG5zZXNzaW9uX3Bhc3N3b3JkID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5cbltjb25maWddXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJsZWFudGltZVwiXG5wb3J0ID0gODA4MFxuaG9zdCA9IFwiJHttYWluX2RvbWFpbn1cIlxuXG5bY29uZmlnLmVudl1cbkxFQU5fQVBQX1VSTCA9IFwiaHR0cDovLyR7bWFpbl9kb21haW59XCJcbkxFQU5fU0VTU0lPTl9QQVNTV09SRCA9IFwiJHtzZXNzaW9uX3Bhc3N3b3JkfVwiXG5MRUFOX0RCX1VTRVIgPSBcIiR7ZGJfdXNlcn1cIlxuTEVBTl9EQl9QQVNTV09SRCA9IFwiJHtkYl9wYXNzd29yZH1cIlxuTEVBTl9EQl9EQVRBQkFTRSA9IFwiJHtkYl9uYW1lfVwiXG5NWVNRTF9ST09UX1BBU1NXT1JEID0gXCIke2RiX3Jvb3RfcGFzc3dvcmR9XCJcbiIKfQ==

Tags

project-management, productivity, self-hosted, php


Version: latest

On this page