summaryrefslogtreecommitdiffhomepage
path: root/public/v4/apps/wakapi.yml
blob: 432fe9740aab9f6d748af3b2757e75558133a727 (plain)
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
captainVersion: 4
services:
    # Wakapi
    $$cap_appname:
        image: ghcr.io/muety/wakapi:$$cap_wakapi_version
        restart: always
        volumes:
            - $$cap_appname-data:/data
        environment:
            ENVIRONMENT: production
            WAKAPI_SUPPORT_CONTACT: $$cap_wakapi_email
            WAKAPI_PASSWORD_SALT: $$cap_wakapi_salt
            WAKAPI_PUBLIC_URL: $$cap_appname.$$cap_root_domain
            WAKAPI_ALLOW_SIGNUP: $$cap_wakapi_signup
            WAKAPI_DB_HOST: srv-captain--$$cap_appname-db
            WAKAPI_DB_USER: wakapi
            WAKAPI_DB_PORT: 5432
            WAKAPI_DB_PASSWORD: $$cap_postgres_pass
            WAKAPI_DB_NAME: wakapi
            WAKAPI_DB_TYPE: postgres
        depends_on:
            - $$cap_appname-db
        caproverExtra:
            containerHttpPort: '3000'
    # PostgreSQL
    $$cap_appname-db:
        image: postgres:$$cap_postgres_version
        volumes:
            - $$cap_appname-db-data:/var/lib/postgresql/data
        restart: always
        environment:
            POSTGRES_DB: wakapi
            POSTGRES_USER: wakapi
            POSTGRES_PASSWORD: $$cap_postgres_pass
            POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args
        caproverExtra:
            notExposeAsWebApp: 'true'
caproverOneClickApp:
    variables:
        - id: $$cap_postgres_version
          label: Postgres Version
          defaultValue: '16.1-alpine'
          description: Checkout their page for the valid tags https://hub.docker.com/_/postgres
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_wakapi_version
          label: Wakapi Version
          defaultValue: '2.9.3'
          description: Checkout their github page for the valid tags https://github.com/muety/wakapi/pkgs/container/wakapi
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_wakapi_email
          label: Wakapi support email
          description: 'The email that will shown in site as support email'
          defaultValue: '[email protected]'
          validRegex: '/.{1,}/'
        - id: $$cap_wakapi_salt
          label: Wakapi Salt for hashing password
          description: 'salt for wakapi password hash'
          defaultValue: $$cap_gen_random_hex(32)
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_wakapi_signup
          label: enable signup
          description: 'enable signup in wakapi'
          defaultValue: 'true'
          validRegex: /^(true|false)$/
        - id: $$cap_postgres_pass
          label: Potgress Database password
          description: 'Password for postgres'
          defaultValue: $$cap_gen_random_hex(16)
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_pg_initdb_args
          label: "OPTIONAL: Arguments for 'postgres initdb'"
          description: For example, --data-checksums
          validRegex: /.{0,}/
    instructions:
        start: >-
            Wakapi is an open-source tool that helps you keep track of the time you have spent coding on different projects in different programming languages and more.
            Ideal for statistics freaks and anyone else.


            This app will install a default postgres instance with persistant data. You can choose the version yourself. The deployment was tested with postgres 16.x.

            For Updating just Deploy latest image from https://github.com/muety/wakapi/pkgs/container/wakapi using the Deploy via ImageName section in your caprover wakapi container

            For more details about wakapi, see: https://wakapi.dev


            Enter your configuration parameters and click on next. It will take about a minute for the process to finish.
        end: >-
            Aaaand you're done! 🔥
            Your wakapi instance is available at http://$$cap_appname.$$cap_root_domain
    displayName: wakapi
    isOfficial: true
    description: Wakapi is an open-source tool that helps you keep track of the time you have spent coding on different projects in different programming languages and more.
    documentation: Official docs are [here](https://github.com/muety/wakapi#%EF%B8%8F-how-to-use)