cachethq / docker Goto Github PK
View Code? Open in Web Editor NEWA Dockerized version of Cachet.
Home Page: https://cachethq.io
License: BSD 3-Clause "New" or "Revised" License
A Dockerized version of Cachet.
Home Page: https://cachethq.io
License: BSD 3-Clause "New" or "Revised" License
When using version 2.2.4 the container won't start with the above error
Basic release QA tests to run.
docker-compose up
php artisan cachet:seed
The motivation here is to make it easier to make it safer to persist the db data in case of accidental deletion of the db container or in case of upgrades:
https://docs.docker.com/compose/compose-file/#volumes-volume-driver
The change will be in docker-compose.yml
# ...
postgres:
image: postgres:9.5
volumes:
- /var/lib/postgresql/data
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
# ...
As this gets split out from Cachet core, we have an opportunity to get our design in order. This issue is to open the discussion to the rest of the contributors.
A few of the objectives to think about:
Should be:
VOLUME /var/www
This is needed to export static assets to the external nginx container.
The typical docker image git repository and subsequent dockerhub repository uses the project name as the repo name. This disambiguates things when using this image in dockerfiles that depend upon these repos. As it is now it is easy to mistake this repo as a fork of the Docker project repo (https://github.com/docker/docker) if you only have access to the path portion of the url.
After leaving Cachet running overnight for a couple of days, I suddenly started receiving emails that the service is down 99% of the time. I went over to investigate, and there was a rather large logfile filled with the following errors over and over again:
#15 {main} {"identification":{"id":"449039c8-03a6-4f66-8f8b-cec9a98e8ec3"}}
[2016-01-08 06:35:02] production.ERROR: exception 'InvalidArgumentException' wit
h message 'No connector for []' in /var/www/html/vendor/laravel/framework/src/Il
luminate/Queue/QueueManager.php:150
Hi,
Would it be possible to add the quick-start guide for the AWS elastic beanstalk in the Readme? I've been having some trouble setting it up myself.
Regards
I've configured a separate load balancer to handle https://. But when trying to login and clicking any links in the UI, the app is specifying http:// endpoints. Since I've blocked port 80 access on my 3rd party load balancer, the app doesn't work other than the main page.
Is there a way to make the redirects/links relative so they don't specify http?
I'm testing a fresh checkout of the latest tag at time of writing ( v2.3.0-RC6 ).
The documentation mentions needing to run:
$ docker exec -i docker_cachet_1 php artisan key:generate
$ docker exec -i docker_cachet_1 php artisan app:install
However, it looks like a unique key (confirmed by running more than once) is generated every time and the application is already installed (through entrypoint script).
This is to help track what needs to happen to switch the automated builds on docker hub to this repository with minimal interruption.
cachethq/cachet
cachethq/cachet:base
pointed at this repository branch base
FROM cachethq/cachet:base
cachethq/cachet:1.1.1
pointed at this repository tag v1.1.1
cachethq/cachet:latest
pointed at this repository tag v1.1.1
cachethq/cachet:1.2
pointed at this repository branch v1.2-dev
Sorry if it's wrong to ask here.
How can I run several seperate docker with cachet on the same server.
Hi,
I was able to work with Cachet, then reset cache and worked on the Dashboard and now I'm having HTTP 500 after Login.
Here is the Error Log, how can I recreate the cache table? Thanks
Next exception 'Illuminate\Database\QueryException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'cachet.cache' doesn't exist (SQL: select * from cache
where key
= laravel7ec732b12835315c2bd06d42db0f0f83b06bce18:lockout limit 1)' in C:\Bitnami\wampstack-5.6.22-0\apache2\Cachet-2.2.4\vendor\laravel\framework\src\Illuminate\Database\Connection.php:713
The add of pragmarx/google2fa dependency requires the GD extension in PHP to print QR code.
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- pragmarx/google2fa v0.7.0 requires simplesoftwareio/simple-qrcode 1.3.* -> satisfiable by simplesoftwareio/simple-qrcode[1.3.0, 1.3.1].
- pragmarx/google2fa v0.7.1 requires simplesoftwareio/simple-qrcode 1.3.* -> satisfiable by simplesoftwareio/simple-qrcode[1.3.0, 1.3.1].
- simplesoftwareio/simple-qrcode 1.3.1 requires ext-gd * -> the requested PHP extension gd is missing from your system.
- simplesoftwareio/simple-qrcode 1.3.0 requires ext-gd * -> the requested PHP extension gd is missing from your system.
- Installation request for pragmarx/google2fa ^0.7 -> satisfiable by pragmarx/google2fa[v0.7.0, v0.7.1].
I'm using cachethq/docker:2.1.2
Actual behaviour
Frontpage is working, but not dashboard.
I find a log into running docker container, but I found only this:
Next ErrorException: Undefined variable: has_component (View: /var/www/html/resources/views/emails/incidents/new-html.blade.php) in /var/www/html/storage/framework/views/e59fc647d09d2e979cfd23287fc2761b56247257.php:13 Stack trace: #0 /var/www/html/bootstrap/cache/compiled.php(14880): Illuminate\View\Engines\CompilerEngine->handleViewException(Object(ErrorException), 0) #1 /var/www/html/bootstrap/cache/compiled.php(14915): Illuminate\View\Engines\PhpEngine->evaluatePath('/var/www/html/s...', Array) #2 /var/www/html/bootstrap/cache/compiled.php(14747): Illuminate\View\Engines\CompilerEngine->get('/var/www/html/r...', Array) #3 /var/www/html/bootstrap/cache/compiled.php(14735): Illuminate\View\View->getContents() #4 /var/www/html/bootstrap/cache/compiled.php(14719): Illuminate\View\View->renderContents() #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(439): Illuminate\View\View->render() #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(323): Illuminate\Mail\Mailer->getView('emails.incident...', Array) #7 /var/www/html/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(163): Illuminate\Mail\Mailer->addContent(Object(Illuminate\Mail\Message), 'emails.incident...', 'emails.incident...', NULL, Array) #8 /var/www/html/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(278): Illuminate\Mail\Mailer->send('emails.incident...', Array, Object(Closure)) #9 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(129): Illuminate\Mail\Mailer->handleQueuedMessage(Object(Illuminate\Queue\Jobs\DatabaseJob), Array) #10 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJob.php(50): Illuminate\Queue\Jobs\Job->resolveAndFire(Array) #11 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(208): Illuminate\Queue\Jobs\DatabaseJob->fire() #12 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(158): Illuminate\Queue\Worker->process('database', Object(Illuminate\Queue\Jobs\DatabaseJob), '3', 0) #13 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(109): Illuminate\Queue\Worker->pop(NULL, NULL, 0, '3', '3') #14 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(71): Illuminate\Queue\Console\WorkCommand->runWorker(NULL, NULL, 0, 128, false) #15 [internal function]: Illuminate\Queue\Console\WorkCommand->fire() #16 /var/www/html/bootstrap/cache/compiled.php(1232): call_user_func_array(Array, Array) #17 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(169): Illuminate\Container\Container->call(Array) #18 /var/www/html/vendor/symfony/console/Command/Command.php(256): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #19 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(155): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #20 /var/www/html/vendor/symfony/console/Application.php(791): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #21 /var/www/html/vendor/symfony/console/Application.php(186): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #22 /var/www/html/vendor/symfony/console/Application.php(117): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #23 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(107): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #24 /var/www/html/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #25 {main} {"identification":{"id":"009bc5ee-ab6c-4760-8289-dea8cccf6dc2"}}
After getting the new master.tar.gz, (I removed my old cached image), the cachet server doesn't start anymore and seem stuck in a loop:
cachet_1 | Script php artisan optimize --force handling the post-install-cmd event returned with an error
cachet_1 |
cachet_1 |
cachet_1 | [RuntimeException]
cachet_1 | Error Output: PHP Fatal error: Uncaught exception 'ReflectionException' with message 'Class config does not exist' in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php:738
cachet_1 | Stack trace:
cachet_1 | #0 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(738): ReflectionClass->__construct('config')
cachet_1 | #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(633): Illuminate\Container\Container->build('config', Array)
cachet_1 | #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('config', Array)
cachet_1 | #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(1178): Illuminate\Foundation\Application->make('config')
cachet_1 | #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(1223): Illuminate\Container\Container->offsetGet('config')
cachet_1 | #5 /var/www/html/vendor/graham-campbell/exceptions/src/ExceptionHandler.php(46): Illuminate\Container\Container->__get('config')
cachet_1 | #6 [internal function]: in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 738
I can't get into the container, when using docker exec -it cachetdocker_cachet_1 /bin/bash
, because it tells me the container is restarting (because of the loop I guess)
docker ps:
af00a17ffe14 cachetdocker_cachet "/sbin/entrypoint.sh " 5 minutes ago Restarting (255) 15 seconds ago 8000/tcp, 9000/tcp cachetdocker_cachet_1
Hey,
the Dockerfile is based upon FROM cachethq/docker:base-5a0320b
.
Where can i find the definition of the image cachethq/docker:base-5a0320b
?
Based on cachethq/cachet#1708
https://github.com/CachetHQ/Docker/blob/master/docker/entrypoint.sh
QUEUE_DRIVER=${QUEUE_DRIVER:-apc}
Should be some valid value, not "apc"
you have some error in README.md .
docker run --name pgsql -e POSTGRES_USER=cachet POSTGRES_PASSWORD=cachet
and should be
docker run --name pgsql -e POSTGRES_USER=cachet -e POSTGRES_PASSWORD=cachet postgres:9.4.4
posi@docker:/Desktop/Docker$ docker-compose --version/Desktop/Docker$ docker --version
docker-compose version 1.7.1, build 6c29830
posi@docker:
Docker version 1.10.3, build 20f81dd
posi@docker:/Desktop/Docker$ uname -a/Desktop/Docker$
Linux docker 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
posi@docker:
foo.txt <- logfile
Before submitting your issue, please make sure that you've checked the checkboxes below.
[ Docker Container -> latest ] I am running the latest release version of Cachet.
[ 5.6.20-0+deb8u1 ] I am running at least PHP 5.5.9. You can check this by running php -v.
[ yes ] I have ran rm -rf bootstrap/cache/*.
Expected behaviour
domain.com/dashboard responses an HTTP-Error 500.
After login in "domain.com/auth/login" the Dashboard is reachable.
Also adding a new "Component" responses an 500 Error, but it adds the Component anyways.
Docker Container:
docker run --name cachet -p 9000:9000 --volume=/var/www -e DB_DRIVER=pgsql -e DB_HOST=xxxx -e DB_DATABASE=xxxx -e DB_USERNAME=xxxx -e DB_PASSWORD=xxxx -d cachethq/docker:latest
docker run -d --name nginx --volume=/etc/nginx/docker_conf.d/:/etc/nginx/conf.d/ -p 80:80 --volumes-from=cachet --link cachet nginx:stable-alpine
Hello, i've followed the doc but looks like the nginx webserver is missing, the Cached container listens only the fpm port (9000) there isn't any process listening on 8000. I found out the nginx config was removed from Dockerfile couple weeks ago, am i doing something wrong or the doc is missing some steps?
MacBook-Pro-de-Diego:Downloads diego$ docker port cachet
8000/tcp -> 0.0.0.0:80MacBook-Pro-de-Diego:Downloads diego$ docker top cachet
UID PID PPID C STIME TTY TIME CMD
root 1804 1275 0 12:41 ? 00:00:00 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
root 1873 1804 0 12:41 ? 00:00:00 /usr/sbin/cron -f
root 1874 1804 0 12:41 ? 00:00:00 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
33 1875 1874 0 12:41 ? 00:00:00 php-fpm: pool www
33 1876 1874 0 12:41 ? 00:00:00 php-fpm: pool wwwMacBook-Pro-de-Diego:Downloads diego$ curl http://$(docker-machine ip)/setup -v
- Trying 192.168.99.100...
- connect to 192.168.99.100 port 80 failed: Connection refused
- Failed to connect to 192.168.99.100 port 80: Connection refused
- Closing connection 0
curl: (7) Failed to connect to 192.168.99.100 port 80: Connection refused
@djdefi :)
Installed Cachet using this guide on a Droplet from digitalocean running Docker 1.11.1 on Ubuntu 14.04: https://docs.cachethq.io/docs/get-started-with-docker
curl -L https://github.com/docker/compose/releases/download/1.7.1/docker-compose-
uname -s-
uname -m> /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
Then:
git clone https://github.com/cachethq/Docker.git cachet-docker
cd cachet-docker
git checkout master
docker-compose build
docker-compose up
After running the UP command, i get this output:
root@status:~/cachet-docker# docker-compose up
Creating network "cachetdocker_default" with the default driver
Pulling postgres (postgres:9.5)...
9.5: Pulling from library/postgres
8b87079b7a06: Pull complete
a3ed95caeb02: Pull complete
ff6abb23e531: Pull complete
8364ca902ad3: Pull complete
84179c1b7ff6: Pull complete
be951654637c: Pull complete
4841dfc8333f: Pull complete
36abcd2bfe7d: Pull complete
391730ecf2ff: Pull complete
1778625e5f5a: Pull complete
36b3faca2864: Pull complete
055e85b433f4: Pull complete
Digest: sha256:4781bc663d2a890f8dcdc3fdf1c0002c3665eb79b001b38674fa2d3c1ad6c410
Status: Downloaded newer image for postgres:9.5
Pulling nginx (nginx:stable-alpine)...
stable-alpine: Pulling from library/nginx
d0ca440e8637: Pull complete
a3ed95caeb02: Pull complete
6a1a96b87f1e: Pull complete
c7f7d89c995e: Pull complete
01c1484973c6: Pull complete
Digest: sha256:3114edb4e16196ced886e33783a3ed1f602b0a10d9f4a7c79bb6c3eb2a3c877f
Status: Downloaded newer image for nginx:stable-alpine
Creating cachetdocker_postgres_1
Creating cachetdocker_cachet_1
Creating cachetdocker_nginx_1
Attaching to cachetdocker_postgres_1, cachetdocker_cachet_1, cachetdocker_nginx_1
postgres_1 | The files belonging to this database system will be owned by user "postgres".
postgres_1 | This user must also own the server process.
postgres_1 |
postgres_1 | The database cluster will be initialized with locale "en_US.utf8".
postgres_1 | The default database encoding has accordingly been set to "UTF8".
postgres_1 | The default text search configuration will be set to "english".
postgres_1 |
postgres_1 | Data page checksums are disabled.
postgres_1 |
postgres_1 | fixing permissions on existing directory /var/lib/postgresql/data ... ok
postgres_1 | creating subdirectories ... ok
postgres_1 | selecting default max_connections ... 100
postgres_1 | selecting default shared_buffers ... 128MB
postgres_1 | selecting dynamic shared memory implementation ... posix
postgres_1 | creating configuration files ... ok
postgres_1 | creating template1 database in /var/lib/postgresql/data/base/1 ... ok
postgres_1 | initializing pg_authid ... ok
postgres_1 | initializing dependencies ... ok
postgres_1 | creating system views ... ok
postgres_1 | loading system objects' descriptions ... ok
postgres_1 | creating collations ... ok
postgres_1 | creating conversions ... ok
postgres_1 | creating dictionaries ... ok
postgres_1 | setting privileges on built-in objects ... ok
postgres_1 | creating information schema ... ok
postgres_1 | loading PL/pgSQL server-side language ... ok
postgres_1 | vacuuming database template1 ... ok
postgres_1 | copying template1 to template0 ... ok
postgres_1 | copying template1 to postgres ... ok
postgres_1 | syncing data to disk ... ok
postgres_1 |
postgres_1 | WARNING: enabling "trust" authentication for local connections
postgres_1 | You can change this by editing pg_hba.conf or using the option -A, or
postgres_1 | --auth-local and --auth-host, the next time you run initdb.
postgres_1 |
postgres_1 | Success. You can now start the database server using:
postgres_1 |
postgres_1 | pg_ctl -D /var/lib/postgresql/data -l logfile start
postgres_1 |
postgres_1 | waiting for server to start....LOG: database system was shut down at 2016-05-24 00:08:44 UTC
postgres_1 | LOG: MultiXact member wraparound protections are now enabled
postgres_1 | LOG: database system is ready to accept connections
postgres_1 | LOG: autovacuum launcher started
postgres_1 | done
postgres_1 | server started
postgres_1 | ALTER ROLE
postgres_1 |
postgres_1 |
postgres_1 | /docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
postgres_1 |
postgres_1 | LOG: received fast shutdown request
postgres_1 | LOG: aborting any active transactions
postgres_1 | LOG: autovacuum launcher shutting down
postgres_1 | LOG: shutting down
postgres_1 | waiting for server to shut down....LOG: database system is shut down
postgres_1 | done
postgres_1 | server stopped
postgres_1 |
postgres_1 | PostgreSQL init process complete; ready for start up.
postgres_1 |
postgres_1 | LOG: database system was shut down at 2016-05-24 00:08:46 UTC
postgres_1 | LOG: MultiXact member wraparound protections are now enabled
postgres_1 | LOG: database system is ready to accept connections
postgres_1 | LOG: autovacuum launcher started
cachet_1 | ....
cachet_1 | Running composer as root/super user is highly discouraged as packages, plugins and scripts cannot always be trusted
cachet_1 | Loading composer repositories with package information
cachet_1 | Installing dependencies from lock file
cachet_1 | Nothing to install or update
cachet_1 | Generating optimized autoload files
cachet_1 | > Illuminate\Foundation\ComposerScripts::postInstall
cachet_1 | > php artisan optimize --force
cachet_1 | Generating optimized class loader
cachet_1 | Compiling common classes
cachet_1 | > php artisan config:cache
cachet_1 | Configuration cache cleared!
**postgres_1 | ERROR: relation "settings" does not exist at character 29**
postgres_1 | STATEMENT: select "name", "value" from "settings"
cachet_1 | Configuration cached successfully!
cachet_1 | > php artisan route:cache
**postgres_1 | ERROR: relation "settings" does not exist at character 29**
postgres_1 | STATEMENT: select "name", "value" from "settings"
cachet_1 | Route cache cleared!
**postgres_1 | ERROR: relation "settings" does not exist at character 29**
postgres_1 | STATEMENT: select "name", "value" from "settings"
cachet_1 | Routes cached successfully!
**postgres_1 | ERROR: relation "settings" does not exist at character 29**
postgres_1 | STATEMENT: select "name", "value" from "settings"
cachet_1 | Application key [base64:1KvZADGYpRM2j1w1qc3/iZQYFsI2XZqW9ewcRpXXL+U=] set successfully.
**postgres_1 | ERROR: relation "settings" does not exist at character 29**
postgres_1 | STATEMENT: select "name", "value" from "settings"
cachet_1 | Backing up database...
cachet_1 | Dumping database and uploading...
cachet_1 |
cachet_1 |
**cachet_1 | [BackupManager\ShellProcessing\ShellProcessFailed]
cachet_1 | pg_dump: server version: 9.5.3; pg_dump version: 9.4.6
cachet_1 | pg_dump: aborting because of server version mismatch**
cachet_1 |
cachet_1 |
**cachetdocker_cachet_1 exited with code 1**
I am trying to use docker-compose to test out Cachet, however I cannot get it to complete using the latest release.
mkdir -p /usr/local/cachet
git clone https://github.com/cachethq/Docker.git cachet-docker /usr/local/cachet
cd cachet-docker
git tag -l
git checkout 2.0.2
docker-compose build
During the build, I get the following error:
postgres_1 | ERROR: relation "settings" does not exist at character 15
postgres_1 | STATEMENT: select * from "settings"
postgres_1 | ERROR: relation "settings" does not exist at character 15
postgres_1 | STATEMENT: select * from "settings"
cachet_1 | 2015-12-18 17:02:01,998 CRIT repeated unknown pid 221)
This error loops and causes the build to not finalize.
I think it's a bad design to use Docker volumes to share PHP source code between nginx & php-fpm containers.
Apart from the "philosophical" perspective which states that application code should leave inside the container and only data should be persisted in volumes, it's also a pain from an operational point of view.
If you want to update Cachet from vX to vY, you can't just change the tag of the image and docker-compose up -d because compose will keep on using the volume created initially, with the code of vX. You have to manually destroy php-fpm (cachet) and nginx containers and recreate it.
Unfortunately, putting application code inside container means, for that use case, building a custom nginx image with the application code, which essentially means maintaining two images.
The other approach would be to provide a unique (simpler) image which combines the web server and the php runtime. It could also be an apache2 + mod_php image.
I think we can put more of the layers into the :base
image - Namely I am thinking that the entrypoint.sh
and .env.docker
could just be in the base image also
Rename this to conf
to better describe what goes in there.
Hey,
cachet is pretty cool and especially this Docker version makes it very easy to get started. Great work!
I'm currently trying to setup https://...
. Currently nginx is tightly integrated into the dockerfile. Wouldn't it be better / more flexible to use a separate nginx container via docker-compose? That would allow for using a custom nginx setup with ssl termination etc.
At the moment I would need a second nginx instance to handle ssl, i.e. nginx ssl
-> internal nginx
-> cachet
.
If that's OK with you I'll start working on a pull request.
Next exception 'Illuminate\Database\QueryException' with message 'SQLSTATE[22003]: Numeric value out of range: 7 ERROR: smallint out of range (SQL: update "jobs" set "reserved" = 0, "reserved_at" = , "attempts" = attempts + 1 where "queue" = default and "reserved" = 1 and "reserved_at" <= 1452626162)' in /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:651
Stack trace:
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(611): Illuminate\Database\Connection->runQueryCallback('update "jobs" s...', Array, Object(Closure))
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(416): Illuminate\Database\Connection->run('update "jobs" s...', Array, Object(Closure))
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(359): Illuminate\Database\Connection->affectingStatement('update "jobs" s...', Array)
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(1816): Illuminate\Database\Connection->update('update "jobs" s...', Array)
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/DatabaseQueue.php(198): Illuminate\Database\Query\Builder->update(Array)
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/DatabaseQueue.php(164): Illuminate\Queue\DatabaseQueue->releaseJobsThatHaveBeenReservedTooLong('default')
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(177): Illuminate\Queue\DatabaseQueue->pop()
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(151): Illuminate\Queue\Worker->getNextJob(Object(Illuminate\Queue\DatabaseQueue), NULL)
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(109): Illuminate\Queue\Worker->pop(NULL, NULL, 0, '3', '3')
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(71): Illuminate\Queue\Console\WorkCommand->runWorker(NULL, NULL, 0, 128, false)
#10 [internal function]: Illuminate\Queue\Console\WorkCommand->fire()
#11 /var/www/html/bootstrap/cache/compiled.php(1187): call_user_func_array(Array, Array)
#12 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(150): Illuminate\Container\Container->call(Array)
#13 /var/www/html/vendor/symfony/console/Command/Command.php(256): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(136): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /var/www/html/vendor/symfony/console/Application.php(838): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /var/www/html/vendor/symfony/console/Application.php(189): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /var/www/html/vendor/symfony/console/Application.php(120): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(107): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#19 /var/www/html/artisan(36): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#20 {main} {"identification":{"id":"49d9ea85-362e-406c-b2e3-f6354fd34d1b"}}
Copied from cachethq/cachet#1694
Hi I noticed that Cachet container does not has php-apcu
package so if user choose APCu as cache module he would get 500 error.
Debian Sid has php-apcu
deb package in official repository so we can just add this package name in Docker file.
Cachet not wors and generate 500 error after docker container restart.
[2016-04-07 21:29:18] production.CRITICAL: Symfony\Component\Debug\Exception\FatalThrowableError: Fatal error: Call to undefined function Illuminate\Cache\apc_fetch() in /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/ApcWrapper.php:32
Follow docker-compose installation guide and chose APCu as cache module. Then restart docker container.
The version 5.6.22+dfsg-0+deb8u1 (the one used in master branch) is not present anymore.
Repo : http://security.debian.org/debian-security/pool/updates/main/p/php5/
The pinning was made here : #98
This is blocking for the building of the image.
Installed Cachet using this guide on a Droplet from digitalocean running Docker 1.11.1 on Ubuntu 14.04: https://docs.cachethq.io/docs/get-started-with-docker
curl -L https://github.com/docker/compose/releases/download/1.7.1/docker-compose-
uname -s-
uname -m> /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
Then:
git clone https://github.com/cachethq/Docker.git cachet-docker
cd cachet-docker
git checkout v2.2.1
docker-compose build
docker-compose up
root@status:~/cachet-docker# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6b5187c4a30f nginx:stable-alpine "nginx -g 'daemon off" 15 minutes ago Up 9 minutes 80/tcp, 443/tcp, 0.0.0.0:80->8000/tcp cachetdocker_nginx_1
857af3c70de9 cachetdocker_cachet "/sbin/entrypoint.sh " 15 minutes ago Up 9 minutes 8000/tcp, 9000/tcp cachetdocker_cachet_1
a2693352bc92 postgres:9.5 "/docker-entrypoint.s" 15 minutes ago Up 9 minutes 5432/tcp cachetdocker_postgres_1
docker exec -i cachetdocker_cachet_1 php artisan key:generate
docker exec -i cachetdocker_cachet_1 php artisan app:install
When i now visit http://myip/setup i get only a 500 error page.
I think this is a separate issue from the other's which symptoms appear right after you start the container with docker-compose and before you have a chance to configure anything.
After a successful setup on the latest master with APC(u) as backend (after the key:generate and app:install commands, and a first restart, otherwise it's stuck on 500), I try to restart with docker-compose restart
, after that I get only 500 errors.
Here are the logs from ./storages/logs
[2016-05-12 08:12:15] production.CRITICAL: Symfony\Component\Debug\Exception\FatalThrowableError: Fatal error: Call to undefined function Illuminate\Cache\apc_store() in /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/ApcWrapper.php:45
Stack trace:
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/ApcStore.php(63): Illuminate\Cache\ApcWrapper->put('laravel9edbf40a...', 'a:1:{s:5:"flash...', 7200)
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(206): Illuminate\Cache\ApcStore->put('9edbf40addd475d...', 'a:1:{s:5:"flash...', 120)
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php(66): Illuminate\Cache\Repository->put('9edbf40addd475d...', 'a:1:{s:5:"flash...', 120)
#3 /var/www/html/bootstrap/cache/compiled.php(11997): Illuminate\Session\CacheBasedSessionHandler->write('9edbf40addd475d...', 'a:1:{s:5:"flash...')
#4 /var/www/html/bootstrap/cache/compiled.php(11818): Illuminate\Session\Store->save()
#5 /var/www/html/bootstrap/cache/compiled.php(2356): Illuminate\Session\Middleware\StartSession->terminate(Object(Illuminate\Http\Request), Object(Illuminate\Http\Response))
#6 /var/www/html/public/index.php(57): Illuminate\Foundation\Http\Kernel->terminate(Object(Illuminate\Http\Request), Object(Illuminate\Http\Response))
#7 {main} {"identification":{"id":"bd95a388-507c-4726-8417-292d126b2383"}}
[2016-05-12 08:12:16] production.CRITICAL: Symfony\Component\Debug\Exception\FatalThrowableError: Fatal error: Call to undefined function Illuminate\Cache\apc_fetch() in /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/ApcWrapper.php:32
Stack trace:
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/ApcStore.php(46): Illuminate\Cache\ApcWrapper->get('laravel2742ab09...')
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(129): Illuminate\Cache\ApcStore->get('2742ab0920b7477...')
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php(58): Illuminate\Cache\Repository->get('2742ab0920b7477...', '')
#3 /var/www/html/bootstrap/cache/compiled.php(11931): Illuminate\Session\CacheBasedSessionHandler->read('2742ab0920b7477...')
#4 /var/www/html/bootstrap/cache/compiled.php(11923): Illuminate\Session\Store->readFromHandler()
#5 /var/www/html/bootstrap/cache/compiled.php(11915): Illuminate\Session\Store->loadSession()
#6 /var/www/html/bootstrap/cache/compiled.php(11825): Illuminate\Session\Store->start()
#7 /var/www/html/bootstrap/cache/compiled.php(11804): Illuminate\Session\Middleware\StartSession->startSession(Object(Illuminate\Http\Request))
#8 [internal function]: Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#9 /var/www/html/bootstrap/cache/compiled.php(9823): call_user_func_array(Array, Array)
#10 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#11 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#12 /var/www/html/bootstrap/cache/compiled.php(12990): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#13 [internal function]: Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#14 /var/www/html/bootstrap/cache/compiled.php(9823): call_user_func_array(Array, Array)
#15 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#16 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#17 /var/www/html/bootstrap/cache/compiled.php(12927): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#18 [internal function]: Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#19 /var/www/html/bootstrap/cache/compiled.php(9823): call_user_func_array(Array, Array)
#20 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#21 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#22 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#23 /var/www/html/bootstrap/cache/compiled.php(9813): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#24 /var/www/html/bootstrap/cache/compiled.php(8113): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#25 /var/www/html/bootstrap/cache/compiled.php(8104): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#26 /var/www/html/bootstrap/cache/compiled.php(8094): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#27 /var/www/html/bootstrap/cache/compiled.php(2400): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#28 [internal function]: Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#29 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#30 /var/www/html/bootstrap/cache/compiled.php(3233): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#31 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#32 /var/www/html/bootstrap/cache/compiled.php(9823): call_user_func_array(Array, Array)
#33 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#34 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#35 /var/www/html/vendor/fideloper/proxy/src/TrustProxies.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#36 [internal function]: Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#37 /var/www/html/bootstrap/cache/compiled.php(9823): call_user_func_array(Array, Array)
#38 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#39 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#40 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#41 /var/www/html/bootstrap/cache/compiled.php(9813): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#42 /var/www/html/bootstrap/cache/compiled.php(2347): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#43 /var/www/html/bootstrap/cache/compiled.php(2331): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#44 /var/www/html/public/index.php(54): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#45 {main} {"identification":{"id":"6147ecd4-294d-4b8b-96ac-523f928493d0"}}
[2016-05-12 08:12:16] production.CRITICAL: Symfony\Component\Debug\Exception\FatalThrowableError: Fatal error: Call to undefined function Illuminate\Cache\apc_store() in /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/ApcWrapper.php:45
Stack trace:
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/ApcStore.php(63): Illuminate\Cache\ApcWrapper->put('laravel2742ab09...', 'a:1:{s:5:"flash...', 7200)
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(206): Illuminate\Cache\ApcStore->put('2742ab0920b7477...', 'a:1:{s:5:"flash...', 120)
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php(66): Illuminate\Cache\Repository->put('2742ab0920b7477...', 'a:1:{s:5:"flash...', 120)
#3 /var/www/html/bootstrap/cache/compiled.php(11997): Illuminate\Session\CacheBasedSessionHandler->write('2742ab0920b7477...', 'a:1:{s:5:"flash...')
#4 /var/www/html/bootstrap/cache/compiled.php(11818): Illuminate\Session\Store->save()
#5 /var/www/html/bootstrap/cache/compiled.php(2356): Illuminate\Session\Middleware\StartSession->terminate(Object(Illuminate\Http\Request), Object(Illuminate\Http\Response))
#6 /var/www/html/public/index.php(57): Illuminate\Foundation\Http\Kernel->terminate(Object(Illuminate\Http\Request), Object(Illuminate\Http\Response))
#7 {main} {"identification":{"id":"4b7e1152-ca1f-4b4b-8ada-99807553ab6b"}}
HI,
I have recently started using cachet. I am using cachet version 1.2.1. I have set up cachet using docker image. After setup i am able to access my admin page or setup page. But when i go my status page I have a 504 Gateway Timeout Page.(I had the same issue using the cachethq/docker:latest image. )
The following is my docker logs of the cachethq container
Warning: This development build of composer is over 60 days old. It is recommended to update it by running "composer.phar self-update" to get the latest version.
rm -f compiled.php config.php routes.php services.json
Loading composer repositories with package information
Installing dependencies from lock file
Nothing to install or update
Generating optimized autoload files
php artisan optimize --force
Generating optimized class loader
Compiling common classes
php artisan config:cache
Configuration cache cleared!
Configuration cached successfully!
php artisan route:cache
Route cache cleared!
Routes cached successfully!
chmod -R 755 storage
Starting supervisord...
2015-11-26 20:44:22,296 CRIT Supervisor running as root (no user in config file)
2015-11-26 20:44:22,307 INFO RPC interface 'supervisor' initialized
2015-11-26 20:44:22,307 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2015-11-26 20:44:22,307 INFO supervisord started with pid 1
2015-11-26 20:44:23,310 INFO spawned: 'cron' with pid 75
2015-11-26 20:44:23,312 INFO spawned: 'nginx' with pid 76
2015-11-26 20:44:23,313 INFO spawned: 'php5-fpm' with pid 77
2015-11-26 20:44:24,390 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-11-26 20:44:24,390 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-11-26 20:44:24,390 INFO success: php5-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-11-26 20:45:04,633 CRIT reaped unknown pid 123)
2015-11-26 20:46:04,752 CRIT reaped unknown pid 136)
2015-11-26 20:47:04,890 CRIT reaped unknown pid 149)
2015-11-26 20:48:05,023 CRIT reaped unknown pid 165)
2015-11-26 20:49:05,173 CRIT reaped unknown pid 184)
2015-11-26 20:50:04,307 CRIT reaped unknown pid 199)
If you use the Cachet Docker image you fire the image up (via run
).
If you own an empty database (e.g. MySQL) you need to fire three more commands manually:
$ docker exec -i cachet php artisan migrate --force
$ docker exec -it cachet php artisan key:generate
$ docker exec -it cachet php artisan config:cache
This is describes in the Get started with Docker.
This is fine when you run Cachet on your local machine or a dedicated docker host.
But if you want to run Cachet on a resource scheduler like Mesos (e.g. Marathon) you are not able to execute those commands by hand.
As a further advantage: With such a change it is much more easier to run Cachet on AWS Elastic Beanstalk (see #13) or AWS Elastic Container Engine.
The challenge is here (and this is an important information to keep in mind):
On such scheduler a node can go down. When this happen your container (Cachet) will be rescheduled and booted up again at another node. In such a case the commands will be executed again (with the same database config). So these commands need to be idempotent and it have to be non dangerous to run them in a production env at every time (when we run the same cachet version).
My proposal here is to include those three commands into the entrypoint.sh after the composer install
.
Lets get into detail for the single commands (i am not so fimilar with Laravel, so please correct me if i am wrong):
$ docker exec -i cachet php artisan migrate --force
This is the command to boot up the initial database structure or migrate form an older cachet version to a newer one. According to Database: Migrations the --force
flag is there to avoid a manual user interaction ( a prompt) for destructive operations that can cause data loss. Do we get those operations in Cachet?
Or can we run those commands every time?
$ docker exec -it cachet php artisan key:generate
This command will generate a new encryption key for the database encryption. Correct?
So this command is not idempotent and i read a note in the documentation that you should generate a new key once you generated one. But is this the same as the env var APP_KEY
(from entrypoint.sh)? If yes, we only execute this command if the env var APP_KEY
is not set.
$ docker exec -it cachet php artisan config:cache
This generates the config cache. Seems to be idempotent.
So this is fine to execute at every time.
I would like to get your opinion.
In the end this makes the usage of Cachet in a Docker env much more easier, because you skip the manual steps. Further more it enables you to uns runs on Mesos or AWS easier (and enables maybe more users).
If you agree with me i would create a PR for this. And i offer my help to run this on Mesos and / or AWS (my goal is it to un on Mesos).
Hello,
I use the latest version of Cachet or docker-cachet. With sandalone or docker installation, I have definitely errors 500.
I tried rm -rf bootstrap/cache/*
and chmod -R 777 storage
Before my last checkout, docker-cachet was working.
Will need to swap this out in the docker-compose.yml
and make sure the correct ENV variables are set
We should have a base image that does all of the apt-get installs and other configurations.
Then we would use this as the FROM
for the images that pull down Cachet, and do the composer install and finalization.
Im trying to configure cachethq to send emails to subscrivers, but emails never reach destiny.
this is how my docker-compose.yml
configuration
mysql:
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_USER: cachethq
MYSQL_PASSWORD: password
MYSQL_DATABASE: cachethq
image: mysql:latest
stdin_open: true
cachethq:
restart: always
ports:
- "8000:8000"
environment:
DB_DRIVER: mysql
DB_HOST: mysql-server
DB_DATABASE: cachethq
DB_USERNAME: root
DB_PASSWORD: password
MAIL_DRIVER: smtp
MAIL_HOST: mail.example.com
MAIL_PORT: '25'
MAIL_USERNAME: [email protected]
MAIL_PASSWORD: somepassword
MAIL_ADDRESS: [email protected]
MAIL_NAME: [email protected]
image: cachethq/docker:latest
links:
- mysql:mysql-server
stdin_open: true
Im using my email server.
Update the image!
needs retagging as v1.2.1
Hello,
To deploy in a more prd oriented setup, I'd like to try to deploy Cachet as a docker container on our PaaS, cloudfoundry-based. We have all sort of reliability issues when deploying with a buildpack in some environments, so I'd prefer the repeatability of a Docker container any day.
Would you suggest I try to work directly with the Cachet image here, or preferably straight from the code? I do not need (can't use) docker-compose, and anyway load balancing should be taken care of automatically by the PaaS.
Thanks!
Hey guys, just grabbed the latest version and I'm getting the following error when starting the container:
Running composer as root/super user is highly discouraged as packages, plugins and scripts cannot always be trusted
Loading composer repositories with package information
Installing dependencies from lock file
Nothing to install or update
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postInstall
> php artisan optimize --force
Generating optimized class loader
Compiling common classes
> php artisan config:cache
Configuration cache cleared!
[Dotenv\Exception\InvalidFileException]
Dotenv values containing spaces must be surrounded by quotes.
Script php artisan config:cache handling the post-install-cmd event returned with an error
[RuntimeException]
Error Output:
install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--] [<packages>]...
Running composer as root/super user is highly discouraged as packages, plugins and scripts cannot always be trusted
Loading composer repositories with package information
Installing dependencies from lock file
Nothing to install or update
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postInstall
> php artisan optimize --force
PHP Fatal error: Uncaught ReflectionException: Class config does not exist in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php:738
Stack trace:
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(738): ReflectionClass->__construct('config')
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(633): Illuminate\Container\Container->build('config', Array)
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('config', Array)
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(1178): Illuminate\Foundation\Application->make('config')
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(1223): Illuminate\Container\Container->offsetGet('config')
#5 /var/www/html/vendor/graham-campbell/exceptions/src/ExceptionHandler.php(46): Illuminate\Container\Container->__get('config')
#6 [internal function]: GrahamCampbell\Exceptions in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 738
Script php artisan optimize --force handling the post-install-cmd event returned with an error
Because of the container restart policy it keeps rebooting with the same error
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.