diff --git a/public/svgs/leantime.svg b/public/svgs/leantime.svg new file mode 100755 index 000000000..dac70d778 --- /dev/null +++ b/public/svgs/leantime.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/compose/leantime.yaml b/templates/compose/leantime.yaml new file mode 100644 index 000000000..2083828b8 --- /dev/null +++ b/templates/compose/leantime.yaml @@ -0,0 +1,62 @@ +# documentation: https://leantime.io +# slogan: Leantime is a goals focused project management system for non-project managers. +# tags: project management,productivity,php,mysql,laravel,open source +# logo: svgs/leantime.svg +# port: 8080 + +services: + leantime: + image: leantime/leantime:latest + environment: + - SERVICE_FQDN_LEANTIME_8080 + - LEAN_APP_URL=${SERVICE_FQDN_LEANTIME} + - LEAN_DB_HOST=${DB_HOST:-leantimedb} + - LEAN_DB_USER=${SERVICE_USER_MYSQLDB} + - LEAN_DB_PASSWORD=${SERVICE_PASSWORD_MYSQLDB} + - LEAN_DB_DATABASE=${DB_NAME:-leantime} + - LEAN_SESSION_PASSWORD=${SERVICE_PASSWORD_64_SALT} + - LEAN_SESSION_EXPIRATION=${SESSION_EXPIRATION:-28800} + - LEAN_USE_REDIS=${USE_REDIS:-true} + - LEAN_REDIS_HOST=${REDIS_HOST:-leantimeredis} + - LEAN_REDIS_PORT=${REDIS_PORT:-6379} + - LEAN_REDIS_SCHEME=${REDIS_SCHEME:-tcp} + depends_on: + - leantimedb + - leantimeredis + volumes: + - public-userfiles:/var/www/html/public/userfiles + - userfiles:/var/www/html/userfiles + - plugins:/var/www/html/app/Plugins + healthcheck: + test: ["CMD", "curl", "-f", "http://127.0.0.1:8080"] + interval: 5s + timeout: 20s + retries: 10 + + leantimedb: + image: mysql:8.4 + volumes: + - db_data:/var/lib/mysql + restart: unless-stopped + environment: + - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT} + - MYSQL_USER=${SERVICE_USER_MYSQLDB} + - MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQLDB} + - MYSQL_DATABASE=${DB_NAME:-leantime} + command: --character-set-server=UTF8MB4 --collation-server=UTF8MB4_unicode_ci + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] + interval: 30s + timeout: 10s + retries: 3 + + leantimeredis: + image: redis:7-alpine + command: redis-server --appendonly yes + volumes: + - leantimeredis-data:/data + healthcheck: + test: [ "CMD", "redis-cli", "ping" ] + interval: 5s + timeout: 5s + retries: 3