campbellsoftwaresolutions / docker-osticket Goto Github PK
View Code? Open in Web Editor NEWThis project forked from phelset/docker-osticket
Run OSTicket in a docker container with nginx & PHP-FPM
License: MIT License
This project forked from phelset/docker-osticket
Run OSTicket in a docker container with nginx & PHP-FPM
License: MIT License
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!
Hi there, just rebuilt container to pull latest image after I noticed you'd updated the repo to be 1.10.1, however version is still showing as 1.10.
Image at docker hub appears to be 1.9, so not sure where I got 1.10 from :)
https://hub.docker.com/r/campbellsoftwaresolutions/osticket/
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
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
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
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?
is it able to use external mysql database? (is this image ok/stable for production?)
thanks.
Currently, there is only one tag in Docker registry: latest. Ideal situation would be having multiple tags, such as:
The URLs for downloading the plugins and language packs have changed and for that reason the Dockerfile cannot be build anymore.
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
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?
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
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 ?
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 :)
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?
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 chmod
ed in, resulting in the files being present twice in the image and increasing the net image size.
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
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 -
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
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
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.
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).
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?
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...
Please change nginx config to 127.0.01:9000 for
fastcgi_pass [::]:9000;
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).
osTicket 1.10.1 was released
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.
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
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?
osTicket v1.10.3 was release on May 15.
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
As OsTicket 1.12 is released now, are there any plans to update the image ?
In version 1.12.
Whenever we got an FW or RE HTML email from OUTLOOK mail, the body will shows as (empty).
I have tried every solution related to the (empty) body that I can find on OSTicket forum, and nothing works.
Some other people also have the same issue. Links below:
Email with iso 8859-1
Empty message body on V1.12.2
Please, upgrade to version 1.11.
Thanks
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
Please update the docker image to version 1.12.2 (https://github.com/osTicket/osTicket/releases) Thanks.
Last night the new version have been released:
https://github.com/osTicket/osTicket/releases
Please update the dockerfile
need to enable HTTPS (443) on the app
In https://hub.docker.com/r/campbellsoftwaresolutions/osticket/
in command:
docker run --name osticket -d MYSQL_ROOT_PASSWORD=new_root_password -e MYSQL_USER=new_root_user -e MYSQL_PASSWORD=new_secret -e MYSQL_DATABASE=osticket --link osticket_mysql:mysql -p 8080:80 campbellsoftwaresolutions/osticket
missed "-e" before of "MYSQL_ROOT_PASSWORD"
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.
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?
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
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.
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.
A minor issue but enough to lead someone who's troubleshooting astray. The docker logs shouldn't say "Using linked mysql container" when connected to an external mysql database (vs mysql running in a container).
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.