Minimal environment to run a UVdesk application from composer or github repository.
1.0K
Note that you need to provide your uvdesk code within a uvdesk folder in the same directory level. This requires that you have already configured your database credentials in your .env and created the database. You won't be able to configure on your broswer, since Symfony requires a set of permissions that you'd need to run within your Dockerfile. With that being said, make sure your permissions are 0755 for the following:
Obs: If you are not fetching tickets from e-mail, you wont need permission to /var/www/html/uvdesk/vendor.
Highly recommended to configure your database from command line the first time, instead of running in dev and switching to prod. It is a known issue that if you try to configure your database from prod environment it will run forever.
$ docker exec -it uvdesk-app /bib/bash
$ cd /var/www/html/uvdesk && php bin/console uvdesk:configure-helpdesk
/config/packages/uvdesk.yml 1
2 parameters:
3 app_locales: en|fr|it
4
5 # Default Assets
6 assets_default_agent_profile_image_path: 'bundles/uvdeskcoreframework/images/uv-avatar-batman.png'
7 assets_default_customer_profile_image_path: 'bundles/uvdeskcoreframework/images/uv-avatar-ironman.png'
8 assets_default_helpdesk_profile_image_path: 'bundles/uvdeskcoreframework/images/uv-avatar-uvdesk.png'
9
10 uvdesk_site_path.member_prefix: member
11 uvdesk_site_path.knowledgebase_customer_prefix: customer
12
13 # File uploads constraints
14 # @TODO: Set these parameters via compilers
15 max_post_size: 8388608
16 max_file_uploads: 20
17 upload_max_filesize: 2097152
18
19 uvdesk:
20 site_url: '127.0.0.1'
21 upload_manager:
22 id: Webkul\UVDesk\CoreFrameworkBundle\FileSystem\UploadManagers\Localhost
23
24 support_email:
25 id: mail-id
26 name: Dummy Name
27 mailer_id: mailer_id
28
29 # Default resources
30 default:
31 ticket:
32 type: support
33 status: open
34 priority: low
35 templates:
36 email: mail.html.twig
/config/packages/uvdesk_mailbox.yamlObs: Make sure you allow IMAP on google settings.
1 uvdesk_mailbox:
2 emails: ~
3 # Often Reply emails like from gmail contains extra and redundant previous mail data.
4 # This data can be removed by adding delimiter i.e. specific line before each reply.
5 # delimiter: '<-- Please add content above this line -->'
6 # enable_delimiter: true
7
8 # Configure your mailboxes here
9 mailboxes:
10 mailer-name:
11 name: name
12 enabled: true
13 deleted: false
14
15 # [SMTP] Outgoing mail server
16 # Swiftmailer smtp mailer to use for sending emails through on behalf of this mailbox
17 smtp_server:
18 mailer_id: mailer_id
19
20 # [IMAP] Incoming mail server
21 # IMAP configurations to use for fetching emails from mailbox, make sure you allow IMAP on google settings
22 imap_server:
23 host: '{imap.gmail.com:993/imap/ssl}INBOX'
24 username: [email protected]
25 password: notarealpassword
26
/config/packages/swiftmailer.yaml
1 swiftmailer:
2 default_mailer: mailer_id
3 mailers:
4 mailer_name:
5 transport: gmail
6 username: [email protected]
7 password: notarealpass
8 # sender_address: ~
9 # delivery_addresses: ~
10 disable_delivery: false
/config/parameters.php 1 <?php
2
3 $container->setParameter('APP_NAME', $_SERVER['APP_NAME']);
4 $container->setParameter('APP_ENV', $_SERVER['APP_ENV']);
5 $container->setParameter('APP_SECRET', $_SERVER['APP_SECRET']);
6 $container->setParameter('APP_VERSION', $_SERVER['APP_VERSION']);
7 $container->setParameter('APP_KEY', $_SERVER['APP_KEY']);
8 $container->setParameter('APP_DEBUG', $_SERVER['APP_DEBUG']);
9 $container->setParameter('APP_URL', $_SERVER['APP_URL']);
10 $container->setParameter('APP_TIMEZONE', $_SERVER['APP_TIMEZONE']);
11 $container->setParameter('APP_CURRENCY', $_SERVER['APP_CURRENCY']);
12 $container->setParameter('APP_CHANNEL', $_SERVER['APP_CHANNEL']);
13
14 $container->setParameter('DB_CONNECTION', $_SERVER['DB_CONNECTION']);
15 $container->setParameter('DB_HOST', $_SERVER['DB_HOST']);
16 $container->setParameter('DB_PORT', $_SERVER['DB_PORT']);
17 $container->setParameter('DB_DATABASE', $_SERVER['DB_DATABASE']);
18 $container->setParameter('DB_USERNAME', $_SERVER['DB_USERNAME']);
19 $container->setParameter('DB_PASSWORD', $_SERVER['DB_PASSWORD']);
20 $container->setParameter('DB_PREFIX', $_SERVER['DB_PREFIX']);
21
22 $container->setParameter('BROADCAST_DRIVER', $_SERVER['BROADCAST_DRIVER']);
23 $container->setParameter('CACHE_DRIVER', $_SERVER['CACHE_DRIVER']);
24 $container->setParameter('SESSION_DRIVER', $_SERVER['SESSION_DRIVER']);
25 $container->setParameter('SESSION_LIFETIME', $_SERVER['SESSION_LIFETIME']);
26 $container->setParameter('QUEUE_DRIVER', $_SERVER['QUEUE_DRIVER']);
27
28 $container->setParameter('MAIL_DRIVER', $_SERVER['MAIL_DRIVER']);
29 $container->setParameter('MAIL_HOST', $_SERVER['MAIL_HOST']);
30 $container->setParameter('MAIL_PORT', $_SERVER['MAIL_PORT']);
31 $container->setParameter('MAIL_USERNAME', $_SERVER['MAIL_USERNAME']);
32 $container->setParameter('MAIL_PASSWORD', $_SERVER['MAIL_PASSWORD']);
33 $container->setParameter('MAIL_ENCRYPTION', $_SERVER['MAIL_ENCRYPTION']);
34
35 ?>
/config/config.yml 1 imports:
2 - { resource: parameters.php }
/.env 1 APP_NAME=APP_NAME
2 APP_SECRET=APP_SECRET
3 APP_ENV=dev
4 APP_VERSION=APP_VERSION
5 APP_KEY=APP_KEY
6 APP_DEBUG=APP_DEBUG
7 APP_URL=APP_URL
8 APP_TIMEZONE=APP_TIMEZONE
9 APP_CURRENCY=APP_CURRENCY
10 LOG_CHANNEL=LOG_CHANNEL
11
12 DB_CONNECTION=DB_CONNECTION
13 DB_HOST=DB_HOST
14 DB_PORT=DB_PORT
15 DB_DATABASE=DB_DATABASE
16 DB_USERNAME=DB_USERNAME
17 DB_PASSWORD=DB_PASSWORD
18 DB_PREFIX=DB_PREFIX
19 DATABASE_URL=mysql://user:pass@host:port/dbname
20
21 BROADCAST_DRIVER=BROADCAST_DRIVER
22 CACHE_DRIVER=CACHE_DRIVER
23 SESSION_DRIVER=SESSION_DRIVER
24 SESSION_LIFETIME=SESSION_LIFETIME
25 QUEUE_DRIVER=QUEUE_DRIVER
26
27 #MAILER_DSN=MAIL_DRIVER://MAIL_USERNAME:[email protected]:443
28 MAIL_DRIVER=MAIL_DRIVER
29 MAIL_HOST=MAIL_HOST
30 MAIL_PORT=MAIL_PORT
31 MAIL_USERNAME=MAIL_USERNAME
32 MAIL_PASSWORD=MAIL_PASSWORD
33 MAIL_ENCRYPTION=MAIL_ENCRYPTION
A docker-compose.yaml sample:
version: "3.9"
2
3
4 services:
5 uvdesk:
6 container_name: uvdesk-app
7 image: mogekag/uvdesk:latest
8 tty: true
9 expose:
10 - '80'
11 ports:
12 - '80:80'
13 environment:
14 # installation in dev, change it after installation to prod
15 - APP_NAME=uvdesk
16 - APP_SECRET=biggermanword
17 - APP_ENV=dev
18 - APP_VERSION=1.0.8
19 - APP_KEY=
20 - APP_DEBUG=True
21 - APP_URL=http://domain.com
22 - APP_TIMEZONE=America/Sao_Paulo
23 - APP_CURRENCY=BRL
24 - LOG_CHANNEL=stack
25
26 - DB_CONNECTION=mysql
27 - DB_HOST=0.0.0.0
28 - DB_PORT=3306
29 - DB_DATABASE=uvdesk
30 - DB_USERNAME=uvdesk
31 - DB_PASSWORD=p4ssw0rd
32 - DB_PREFIX=
33
34 - BROADCAST_DRIVER=log
35 - CACHE_DRIVER=file
36 - SESSION_DRIVER=file
37 - SESSION_LIFETIME=20
38 - QUEUE_DRIVER=sync
39
40 - MAIL_DRIVER=smtp
41 - MAIL_HOST=smtp.domain.com
42 - MAIL_PORT=2525
43 - [email protected]
44 - MAIL_PASSWORD=notarealpassword
45 - MAIL_ENCRYPTION=tls
46
47 - CRON_USER1=root
48 - CRON_SCHEDULE1=*/5 * * * *
49 # you are able to specify all emails registered separated by spaces
50 - CRON_COMMAND1=cd /var/www/htm/uvdesk && php bin/console uvdesk:refresh-mailbox [email protected]
51 restart: always
52 extra_hosts:
53 - "{domain.com}:127.0.0.1"
54 volumes:
55 - ./uvdesk:/var/www/html/uvdesk
Content type
Image
Digest
Size
119 MB
Last updated
almost 5 years ago
docker pull mogekag/uvdesk