summaryrefslogtreecommitdiffhomepage
path: root/public/v4/apps/trudesk.yml
blob: 5b137c1aaeba1458612230814717a87a76d5672a (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
95
96
97
98
99
100
101
102
103
captainVersion: 4
services:
    $$cap_appname:
        image: polonel/trudesk:$$cap_trudesk_version
        volumes:
            - $$cap_appname-data:/usr/src/trudesk/public/uploads
            - $$cap_appname-plugins:/usr/src/trudesk/plugins
            - $$cap_appname-backups:/usr/src/trudesk/backups
        depends_on:
            - $$cap_appname-mongodb
            - $$cap_appname-elasticsearch
        restart: always
        environment:
            NODE_ENV: $$cap_node_env
            TRUDESK_DOCKER: 'true'
            TD_MONGODB_SERVER: srv-captain--$$cap_appname-mongodb
            TD_MONGODB_PORT: $$cap_appname-mongodb-port
            TD_MONGODB_USERNAME: root
            TD_MONGODB_PASSWORD: $$cap_mongo_password
            TD_MONGODB_DATABASE: trudesk
            TD_MONGODB_URI: 'mongodb://root:$$cap_mongo_password@srv-captain--$$cap_appname-mongodb:27017/trudesk?authSource=admin'
            ELATICSEARCH_URI: http://srv-captain--$$cap_appname-elasticsearch:9200
            USE_XFORWARDIP: 'true'
        caproverExtra:
            containerHttpPort: '8118'
    $$cap_appname-mongodb:
        image: mongo:$$cap_mongodb_version
        volumes:
            - $$cap_appname-db-data:/data/db
            - $$cap_appname-db-config:/var/lib/mongo
        restart: always
        environment:
            MONGO_INITDB_ROOT_USERNAME: root
            MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password
        caproverExtra:
            notExposeAsWebApp: 'true'
    $$cap_appname-elasticsearch:
        image: elasticsearch:$$cap_elasticsearch_version
        volumes:
            - $$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data
        restart: always
        environment:
            xpack.security.enabled: $$cap_elasticsearch_security_enabled
            xpack.security.http.ssl.enabled: $$cap_elasticsearch_security_enabled
            discovery.type: single-node
            node.name: estrudesk01
            bootstrap.memory_lock: true
            ES_JAVA_OPTS: '-Xms512m -Xmx512m'
        caproverExtra:
            notExposeAsWebApp: 'true'
caproverOneClickApp:
    variables:
        - id: $$cap_trudesk_version
          label: Trudesk Version
          defaultValue: '1.2.10'
          description: Check out their docker page for the valid tags https://hub.docker.com/r/polonel/trudesk/tags
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_mongodb_version
          label: MongoDB Version
          defaultValue: '5.0.26'
          description: Check out their docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_appname-mongodb-port
          label: MongoDB Port
          defaultValue: '27017'
          description: MongoDB port
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_elasticsearch_version
          label: Elasticsearch Version
          defaultValue: '8.13.0'
          description: Check out their docker page for the valid tags https://hub.docker.com/_/elasticsearch
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_elasticsearch_security_enabled
          label: Security Enabled
          defaultValue: 'false'
          description: 'When you enable this option, Elasticsearch will create a random password (see startup logs) for the `elastic` user and create SSL certificates required for authentication. **It is recommended to leave this off for a quick setup**. Warning: make sure to enable HTTP Basic Auth in CapRover!'
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_node_env
          label: Application Environment
          description: NodeJS application environment. Should be either `production` or `development`
          defaultValue: production
          validRegex: /^(production|development)$/
        - id: $$cap_mongo_password
          label: MongoDB Root Password
          defaultValue: $$cap_gen_random_hex(16)
          description: MongoDB root password
          validRegex: /^([^\s^\/])+$/
    instructions:
        start: |-
            Trudesk is built with nodejs and mongodb and can run on any cloud provider, docker, bare-metal, or even a raspberry pi.
        end: |-
            Trudesk has been successfully deployed!

            **IMPORTANT**: The intial setup process may take a few minutes. Please be patient.

            Please perform the following steps:
            1. Go to the **HTTP Settings** of `$$cap_appname` and **Enable WebSocket Support**. Enabling **HTTPS** is also recommended.
            2. Visit your Trudesk instance at `http://$$cap_appname.$$cap_root_domain` and create your account
            3. Have fun with Trudesk!
    displayName: 'Trudesk'
    isOfficial: true
    description: Trudesk is an open-source help desk/ticketing solution.
    documentation: Taken from https://trudesk.io/docs