-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathreadme-vars.yml
164 lines (155 loc) · 6.9 KB
/
readme-vars.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
---
# project information
project_name: kimai
project_url: "https://kimai.org/"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/kimai-logo.png"
project_blurb: |
[{{ project_name|capitalize }}]({{ project_url }}) is a professional grade time-tracking application, free and open-source.
It handles use-cases of freelancers as well as companies with dozens or hundreds of users.
Kimai was build to track your project times and ships with many advanced features, including but not limited to:
JSON API, invoicing, data exports, multi-timer and punch-in punch-out mode, tagging, multi-user - multi-timezones - multi-language ([over 30 translations existing](https://hosted.weblate.org/projects/kimai/)!), authentication via SAML/LDAP/Database, two-factor authentication (2FA) with TOTP, customizable role and team permissions, responsive design, user/customer/project specific rates, advanced search & filtering, money and time budgets, advanced reporting, support for [plugins](https://www.kimai.org/store/) and so much more.
project_repo_name: "docker-{{ project_name }}"
# supported architectures
available_architectures:
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# container parameters
common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
param_usage_include_env: true
param_env_vars:
- {env_var: "DATABASE_URL", env_value: "mysql://your_db_user:your_db_pass@your_db_host:3306/your_db_name?charset=your_db_charset&serverVersion=your_db_version", desc: "Configure your database connection, see Application Setup instructions."}
param_usage_include_vols: true
param_volumes:
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files"}
param_usage_include_ports: true
param_ports:
- {external_port: "80", internal_port: "80", port_desc: "http gui"}
- {external_port: "443", internal_port: "443", port_desc: "https gui"}
# Unraid templating
unraid_template_sync: true
unraid_template: true
unraid_requirement: "A MySQL or MariaDB database is required."
# application setup block
app_setup_block_enabled: true
app_setup_block: |
### Configure your database connection
You have to replace the following values with your defaults:
* the database username "your_db_user"
* the database password "your_db_pass"
* the database schema name "your_db_name"
* the database host or IP "your_db_host"
* the database character set "your_db_charset" (usually "utf8")
* the database version "your_db_version"
* run `SELECT VERSION();` in your MariaDB/MySQL database to get the version
* example for [MariaDB](https://www.doctrine-project.org/projects/doctrine-dbal/en/current/reference/configuration.html#mariadb) use "10.11.4-MariaDB-log"
* example for [MySQL](https://www.doctrine-project.org/projects/doctrine-dbal/en/current/reference/configuration.html#mysql) use "8.0.32"
* you might have to adapt port "3306" as well
```env
DATABASE_URL=mysql://your_db_user:your_db_pass@your_db_host:3306/your_db_name?charset=your_db_charset&serverVersion=your_db_version
````
### Create your first user
```shell
docker exec -it kimai console kimai:user:create your_username [email protected] ROLE_SUPER_ADMIN
```
### Initial setup
Access the web gui at `http://<your-ip>:80`, for more information check out [Kimai Initial setup](https://www.kimai.org/documentation/initial-setup.html).
# application setup snippets
external_application_snippet_enabled: true
external_application_cli_block: |
docker run -d \
--name=mariadb \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD \
-e MYSQL_DATABASE=your_db_name `#optional` \
-e MYSQL_USER=your_db_user `#optional` \
-e MYSQL_PASSWORD=your_db_pass `#optional` \
-p 3306:3306 \
-v path_to_data:/config \
--restart unless-stopped \
lscr.io/linuxserver/mariadb:latest
external_application_compose_block: |
# MariaDB
mariadb:
image: lscr.io/linuxserver/mariadb:latest
container_name: mariadb
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD
- MYSQL_DATABASE=your_db_name #optional
- MYSQL_USER=your_db_user #optional
- MYSQL_PASSWORD=your_db_pass #optional
volumes:
- path_to_data:/config
ports:
- 3306:3306
restart: unless-stopped
external_application_unraid_block: "We recommend using our [MariaDB](https://github.com/linuxserver/docker-mariadb) container from community applications."
# init diagram
init_diagram: |
"kimai:latest": {
docker-mods
base {
fix-attr +\nlegacy cont-init
}
docker-mods -> base
legacy-services
custom services
init-services -> legacy-services
init-services -> custom services
custom services -> legacy-services
legacy-services -> ci-service-check
init-migrations -> init-adduser
init-nginx-end -> init-config
init-os-end -> init-config
init-config -> init-config-end
init-kimai-config -> init-config-end
init-os-end -> init-crontab-config
init-mods-end -> init-custom-files
base -> init-envfile
init-os-end -> init-folders
init-php -> init-keygen
init-nginx-end -> init-kimai-config
base -> init-migrations
base -> init-mods
init-config-end -> init-mods
init-version-checks -> init-mods
init-mods -> init-mods-end
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-samples -> init-nginx
init-permissions -> init-nginx-end
base -> init-os-end
init-adduser -> init-os-end
init-envfile -> init-os-end
init-migrations -> init-os-end
init-keygen -> init-permissions
init-nginx -> init-php
init-folders -> init-samples
init-custom-files -> init-services
init-mods-end -> init-services
init-config-end -> init-version-checks
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-nginx
svc-nginx -> legacy-services
init-services -> svc-php-fpm
svc-php-fpm -> legacy-services
}
Base Images: {
"baseimage-alpine-nginx:3.20" <- "baseimage-alpine:3.20"
}
"kimai:latest" <- Base Images
# changelog
changelogs:
- {date: "30.06.24:", desc: "Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings."}
- {date: "24.03.24:", desc: "Added LDAP module to composer"}
- {date: "06.03.24:", desc: "Existing users should update: site-confs/default.conf - Cleanup default site conf."}
- {date: "23.01.24:", desc: "Rebase to Alpine 3.19 with php 8.3."}
- {date: "02.01.24:", desc: "Symlink config.yaml to /config for user editing."}
- {date: "21.08.23:", desc: "Important documentation update for setting `DATABASE_URL` with version 2.0.30 and later."}
- {date: "09.08.23:", desc: "Initial Release."}