GithubHelp home page GithubHelp logo

campbellsoftwaresolutions / docker-osticket Goto Github PK

View Code? Open in Web Editor NEW

This project forked from phelset/docker-osticket

57.0 57.0 90.0 120 KB

Run OSTicket in a docker container with nginx & PHP-FPM

License: MIT License

PHP 70.00% Shell 5.73% Dockerfile 24.27%

docker-osticket's People

Contributors

adam-dej avatar alainrk avatar blacksd avatar clinta avatar comxd avatar donatellosantoro avatar fboaventura avatar iambricegg avatar kosli avatar libussa avatar lubo avatar lucamaro avatar martin-css avatar phelset avatar pyreweb avatar sblosser avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-osticket's Issues

New user and other form UX problems

Pulled image and am able to connect to existing mysql using docker compose. Launches just fine, can log in without problem.

When I go to create new user, the resulting popups don't render properly and I can't add users correctly.

Please review attached doc and advise.
Otherwise, the container is running very well - thanks!

osTicket_formErr-1.pdf

IMAP not working with Gmail settings

I tried to configure a Gmail mailbox after enabling fetch mail in settings. Checked in the forums for a solution, but could not find it. The IMAP PHP plugin in the container seems to have SSL support.
Error: Can't open mailbox {tls://imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX: invalid remote specification

msmtp doesn't have permission to create a log

I noticed that when osticket sends emails, the following error appears in /var/log/php5-fpm.log--

WARNING: [pool www] child 17 said into stderr: "msmtp: cannot log to /var/log/msmtp.log: cannot open: Permission denied"

When I investigated, I found that the logfile /var/log/msmtp.log which is configured in msmtp.conf doesn't exist--

docker exec -it osticket /bin/bash -c 'ls -la /var/log/msmtp.log'
ls: cannot access /var/log/msmtp.log: No such file or directory

So it seems that the PHP user www-data doesn't have write access for /var/log/.

I'm not sure if this is the best way to fix this, but here's my proposed solution. In the Dockerfile, add these lines--

touch /var/log/msmtp.log
chown root:www-data /var/log/msmtp.log
chmod 0664 /var/log/msmtp.log

Error occured when container started.

This error occured when I started osticket container.

PHP Fatal error: APCuIterator::__construct(): APC must be enabled to use APCuIterator in /data/upload/include/class.search.php on line 966


It is my run script for test. What I missed?

docker run --name osticket_mysql -d -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_USER=osticket -e MYSQL_PASSWORD=secret -e MYSQL_DATABASE=osticket mysql:5

docker run --name osticket -d --link osticket_mysql:mysql -p 7777:80 campbellsoftwaresolutions/osticket

Timezone issue, causing lock issues

Hello,
I migrated to this version from a hosted osticket. I'm using an external Mysql database.
Everything is set to UTC: php, system, mysql.
But when I try to answer a ticket or make a note, I get "This action requires a lock. Please try again!"

When I change the Timezone to Paris, the time is wrong everywhere (stays UTC).

Any leads on how to solve this?

Use sane Docker tags

Currently, there is only one tag in Docker registry: latest. Ideal situation would be having multiple tags, such as:

  • 1
  • 1.9
  • 1.9.15
  • 1.10
  • ...
  • latest

docker build fails

Hi,
I'm trying to build the image using the command docker build -t docker-osticket . but the process fails with the following error

running: make
/bin/sh /tmp/pear/temp/pear-build-defaultuserfmhGik/apcu-5.1.8/libtool --mode=compile cc -D_GNU_SOURCE -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/tmp/pear/temp/apcu -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-defaultuserfmhGik/apcu-5.1.8/include -I/tmp/pear/temp/pear-build-defaultuserfmhGik/apcu-5.1.8/main -I/tmp/pear/temp/apcu -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/apcu/apc.c -o apc.lo
mkdir .libs
cc -D_GNU_SOURCE -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/tmp/pear/temp/apcu -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-defaultuserfmhGik/apcu-5.1.8/include -I/tmp/pear/temp/pear-build-defaultuserfmhGik/apcu-5.1.8/main -I/tmp/pear/temp/apcu -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/apcu/apc.c -fPIC -DPIC -o .libs/apc.o
In file included from /tmp/pear/temp/apcu/apc.c:40:0:
/usr/local/include/php/ext/pcre/php_pcre.h:29:18: fatal error: pcre.h: No such file or directory
compilation terminated.
Makefile:196: recipe for target 'apc.lo' failed
make: *** [apc.lo] Error 1
ERROR: `make' failed
The command '/bin/sh -c apk add --update wget unzip msmtp ca-certificates supervisor nginx libpng c-client openldap libintl libxml2 icu openssl && apk add imap-dev libpng-dev curl-dev openldap-dev gettext-dev libxml2-dev icu-dev autoconf g++ make && docker-php-ext-install gd curl ldap mysqli sockets gettext mbstring xml intl opcache && docker-php-ext-configure imap --with-imap-ssl && docker-php-ext-install imap && pecl install apcu && docker-php-ext-enable apcu && apk del imap-dev libpng-dev curl-dev openldap-dev gettext-dev libxml2-dev icu-dev autoconf g++ make && rm -rf /var/cache/apk/*' returned a non-zero code: 1

Do you have any hints of how I can solve this problem? Thanks

Email fetching not working after restart

I had this issue already with the 1.9.12 version and thought it would be fixed in 1.9.14, so I am opening now an issue.

I have set up one "email" which fetches an IMAP account. This works fine, but when I stop and start the container again, it stops working. The strange thing is that i receive a "Mail Fetch Failure Alert" mail (Error: IMAP Authentication cancelled) which is send with the credentials of this fetching account that doesn't work. After entering and saving the password of that account, the fetching works again. I would have thought that the password is stored in the DB and so there is no influence on the stopping/destroying the container, as long as the mysql server is running?

Has anybody else run into this issue?

docker-compose

Hi there,

Instead of linking the containers through CLI I am trying to link them in docker-compose but I'm having trouble setting it up.
docker-compose.txt

Connecting to external MySQL with different port

Hi,

I've tried to start the container with our external MySQL instance, but it stops at Waiting for database TCP connection to become available...
I've checked into your files, it seems that the port is hardcoded to 3306 in files/data/bin/install.php, line 132. Ours is 32768 and can't be changed.
Can you add an ENV var to set port, a MYSQL_PORT maybe ?

Setting a static IP

New to docker so please bear with me :)

I have installed the OSTicket docker app on my Qnap and got it started.

How do I manually set the static IP?

I cannot find /etc/network/ interfaces file

I have tried using ifconfig

Any help would be appreciated :)

Button add user doing nothing

Just installed on ubuntu 16 LTS changed port to 8081 as 8080 was used, and served proxied by apache. Everything works but add user button does literally nothing .. any idea?

Failing builds on Docker Hub

Automated builds are failing after merging 6b093a3. Docker Hub uses outdated version of Docker, which doesn't support --chown flag on COPY operation. To work around this issue, we could temporarily revert 6b093a3 and 5e52b30. A long-term solution would be to migrate to another service, which uses the current version of Docker to build the image.

Note: You might think that this could be easily fixed by using chmod(1) in RUN operation. Unfortunately, that would cause the files to be copied from the layer they were copied in to the layer they are chmoded in, resulting in the files being present twice in the image and increasing the net image size.

API not working

Even when I give a valid API key, this docker version says "Valid API key required". I gave my public IP and ran this command from my PC:
$ curl -d "{}" -H "X-API-Key: xxxxxxxxxxxxxxxxxxxxxxxxx https://domain.tld/api/tickets.json
Valid API key required

Log email -> stdout

Rather than logging to a file, you can use the following directive in the msmtp config to output to STDOUT, which is expected behavior with Docker applications and allows the operator to utilize the "docker logs" to view smtp errors alongside regular ones.

See https://marlam.de/msmtp/msmtp.html#Logging for more details:

‘logfile [file]’

Enable logging to the specified file. An empty argument disables logging. The file name ‘-’ directs the log information to standard output. See Logging.

It is a simple change in the msmtp.conf file:

logfile /var/log/mstmtp.log

logfile -

Container Restart Fails

As reported in pull request #14.

My container fails to restart probably due to this line. Error log says: mkdir: can't create directory '/run/nginx': File exists
Same issue will rise probably with the mkdir /var/log/php line below as well

INFO exited: php-fpm (exit status 78; not expected)

I've been having a problem starting my previously working osTickets install after an upgrade some time ago.

This is the message I get. I've destroyed and recreated the image, and still get this configuration.
Can someone give me some hints? I have seen pointers on the internet that this might be related to a defunct user, however since the docker dies after this error, I cannot get to a console to do any troubleshooting.

Thanks!

Configuring mail settings
OSTicket cron job is set to run every 5 minutes
Using linked MySQL container
Waiting for database TCP connection to become available...
Connecting to database mysql://ostickets@mysql/osticket
Database already installed
Using installation secret from INSTALL_SECRET environmental variable
Updating configuration file
Applying configuration file security
2017-03-25 15:53:16,629 CRIT Supervisor running as root (no user in config file)
2017-03-25 15:53:16,635 INFO supervisord started with pid 1
2017-03-25 15:53:17,638 INFO spawned: 'cron' with pid 20
2017-03-25 15:53:17,642 INFO spawned: 'nginx' with pid 21
2017-03-25 15:53:17,645 INFO spawned: 'php-fpm' with pid 22
2017-03-25 15:53:17,784 INFO exited: php-fpm (exit status 78; not expected)
2017-03-25 15:53:18,786 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-03-25 15:53:18,786 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-03-25 15:53:18,789 INFO spawned: 'php-fpm' with pid 24
2017-03-25 15:53:18,851 INFO exited: php-fpm (exit status 78; not expected)
2017-03-25 15:53:20,857 INFO spawned: 'php-fpm' with pid 25
2017-03-25 15:53:20,923 INFO exited: php-fpm (exit status 78; not expected)
2017-03-25 15:53:23,934 INFO spawned: 'php-fpm' with pid 26
2017-03-25 15:53:24,009 INFO exited: php-fpm (exit status 78; not expected)
2017-03-25 15:53:25,011 INFO gave up: php-fpm entered FATAL state, too many start retries too quickly

Installer sets URL to http:///data/bin

Without digging too far into this, my guess is that it is because the installer is kicked off locally by php /data/bin/install.php. It may be taking everything before /install.php and deciding it's a URL. This should be easy to fix with sed to search/replace in the config after the install.

1.10 should be maintained in master

Since 1.10 is the latest version of osTicket, it makes sense to maintain it in master branch, rather than in a separate branch. Intentions to maintain the same code in both branches results in out-of-sync code (latest and 1.10 are not the same images, even though they should be) and general confusion (#18 is trying to fix a problem, which has already been solved in 1.10 branch).

Mail Function

The php mail function appears not to be installed (missing sendmail). As such, I do not get notifications when new tickets are sent etc.

Could you add this to the Dockerfile?

Conflict between 'email' and 'admin_email'

The install.php script uses the INSTALL_EMAIL environment variable in two places (for email and for admin_email):

'email' => getenv("INSTALL_EMAIL") ?: '[email protected]',
'admin_email' => getenv("INSTALL_EMAIL") ?: '[email protected]',

This results in the following error:

Installing database. Please wait...
Database installation failed. Errors:
  Conflicts with system email above

Caused by this in upload/setup_hidden/inc/class.installer.php:

    //Staff's email can't be same as system emails.
    if($vars['admin_email'] && $vars['email'] && !strcasecmp($vars['admin_email'],$vars['email']))
        $this->errors['admin_email']=__('Conflicts with system email above');

The fix is to differentiate between the email address of osticket vs. the email address of the admin user. Consider replacing INSTALL_FIRSTNAME, INSTALL_LASTNAME, etc with ADMIN_FIRSTNAME, ADMIN_LASTNAME, ADMIN_EMAIL, etc...

502 Bad Gateway

Please change nginx config to 127.0.01:9000 for
fastcgi_pass [::]:9000;

PHP 7.0.x EOL: Update Dockerfile?

PHP 7.0.x has EOL since Jan 2019. Would be nice if you could update your Dockerfile with php 7.3.x (or any other supported version).

SQL Container

When running the two containers from 'Quick Start', my osticket container would fail with: Unable to connect to MySQL server: The server requested authentication method unknown to the client.

Fixed this by running mysql:5 instead of latest, so just wanted to flag as something seems to have become outdated.

12 factor app / 1 process /container

Hi! and thanks for your work!

Do you plan to have one process per container. And transform this image into a pure fpm one?

Let me know!

Pierre

How to update this docker?

Dear Sir,

Sorry for this question, I am new to docker, and osticket is my first docker. as osticket 1.11 released, how to update from 1.10.4 to 1.11? without losing current database and some modification i've made in upload/ folder?

can't enable email smtp

can't add email or modify build-in accounts to "smtp status enable"

when enable smtp or add a new email account, pages shows "loading" for a few seconds,
then throw time-out error

http://172.20.20.200:8080/scp/emails.php?a=add

504 Gateway Time-out
nginx/1.12.2

and I can't find error logs. (no related message in :docker logs -f osticket or container's /var/log/ )

have try add smtp parameters in docker run, still the same.
-e SMTP_HOST=smtp.xx.xx -e SMTP_PORT=465 -e SMTP_FROM="[email protected]" -e SMTP_TLS=1 -e SMTP_USER="[email protected]" -e SMTP_PASSWORD=xxxx

Docker version 18.09.3, build 774a1f4 , HOST OS is debian, latest docker image.

BR

Add MYSQL_PORT ENV Variable for install.

The image can't currently be ran in environments where the MYSQL Port isn't the default port if environment variables have to be used for the setup.

I was able to see where this is done, and was going to make a pull request but I wasn't able to get the docker image to build correctly on my system to test it.

Ideally the solution would be to replace the hard-coded port with a variable exactly like the one used for MYSQL_HOST

Cron not working

Not sure if this is a problem with the docker enironment or with osTicket itself but the cron task does not work:

# cat /etc/crontabs/www-data 
*/5 * * * * /usr/local/bin/php -c /usr/local/etc/php/php.ini /data/upload/api/cron.php

Running this command as root does work and gets emails from mailboxes. Running as www-data does not work.

Mail send not work / code: 550, response: Invalid HELO string

Hi,

I try to config to send my emails to a local smtp server in my network. It fails for the reason the osticket give as HELO command the "LOCALHOST" as own servername?
Unable to email via SMTP:192.168.xxx.72:25 [osticket] Failed to add recipient: [email protected] [SMTP: Invalid response code received from server (code: 550, response: Invalid HELO string (localhost))
Have anyone an idea how I could resolve this problem?

Upgrade from 1.9 to 1.10

Hi,

i tried to upgrade to 1.10 version but there are a lot of error message like:

tables ost_translation, ost_queue, ost_role already exists.

I tried all the combination, like so:

  • DB 1.9 dump only DATA (without schema) and after import to DB 1.10, clean installation, upgrade fail

  • DB 1.9 Upgrade directly from the new software version, upgrade fail

  • delete the tables that generate these errors and after upgrade, but, fail

any suggestions?

regards,
Fabrizio

Ticket list is not showing any tickets (even in advanced search). But I can directly access the ticket through url.

I am not able to see list of tickets either in 'Open Tickets' or in 'My Tickets' or even in 'Advanced Search'. I've created one sample ticket and assigned it to 'Support' department and also 'claimed' the ticket. I can see the ticket by directly going to the ticket's url (manually typing it). Can some one help ?

This is running in Google Compute Engine VM (Container Optimised), with 'docker-compose' (running as a container). I've connected to Google Cloud SQL (MySQL v 5.7). All the tables are created fine.

Open Tickets showing no results
screenshot-2017-11-27 osticket staff control panel

My Tickets showing no results
screenshot-2017-11-27 osticket staff control panel 1

But the ticket is accessible directly by it's url
screenshot-2017-11-27 ticket 758692 1

Received mail may be truncated or its body may become empty when creating ticket from mail

Alpine's iconv don't have all the LUT preset; thus if osTicket received mails from these encodings (e.g. GB18030, which is still common in China Mainland), iconv conversion will fail, causing osTicket to treat source text as UTF-8 encoding, thus truncating anything after the first non-ASCII character.

Potential fix: either rebuild iconv with all the LUTs (I didn't try), or remove iconv support and use mbstring instead (I'm using this).

Note: in the develop branch of osTicket, the encoding function moved from Charset::transcode() to Format::encode(),so the patch I provided won't work with the next version.

File Upload won't work

Running osticket with a subdomain "support.mydomain.com"
Unfortunately upload won't work.
This is the log message from osticket-error.log

2018/02/05 06:13:21 [crit] 20#0: *13 open() "/var/lib/nginx/tmp/client_body/0000000001" failed (13: Permission denied), client: 172.21.0.2, server: localhost, request: "POST /ajax.php/form/upload/41 HTTP/1.1", host: "support.mydomain.com", referrer: "https://support.mydomain.com/open.php"

Please tell me what I must provide in order to analyze the problem.
I assume the referrer is the problem?
Thank you very much

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.