500 error - Internal Server Error
sequencing
$ git clone https://github.com/cachethq/Docker.git cachet-docker
$ cd cachet-docker
in file docker-compose.yml changed environment variables
- APP_KEY=SomeRandomString
Build and run the image
$ docker-compose build
$ docker-compose up
I end up with a 500 error. How to run the service correctly?
B:\gitrepos\cachet-docker>docker-compose up
Starting cachet-docker_postgres_1 ... done
Recreating cachet-docker_cachet_1 ... done
Attaching to cachet-docker_postgres_1, cachet-docker_cachet_1
postgres_1 | LOG: database system was shut down at 2018-11-15 12:04:57 UTC
postgres_1 | LOG: MultiXact member wraparound protections are now enabled
cachet_1 | Initializing Cachet container ...
postgres_1 | LOG: database system is ready to accept connections
postgres_1 | LOG: autovacuum launcher started
cachet_1 | Attempting to connect to database ...
cachet_1 |
cachet_1 | Table chq_sessions exists! ...
cachet_1 | Nothing to migrate.
cachet_1 | Starting Cachet! ...
cachet_1 | Configuration cache cleared!
cachet_1 | Configuration cached successfully!
cachet_1 | 2018-11-15 12:06:33,228 WARN For [program:queue-worker], AUTO logging used for stderr_logfile without rollover, set maxbytes > 0 to avoid filling up filesystem unintentionally
cachet_1 | 2018-11-15 12:06:33,231 INFO supervisord started with pid 66
cachet_1 | 2018-11-15 12:06:34,234 INFO spawned: 'nginx' with pid 69
cachet_1 | 2018-11-15 12:06:34,246 INFO spawned: 'php-fpm' with pid 70
cachet_1 | 2018-11-15 12:06:34,249 INFO spawned: 'queue-worker' with pid 71
cachet_1 | [15-Nov-2018 12:06:34] NOTICE: fpm is running, pid 70
cachet_1 | [15-Nov-2018 12:06:34] NOTICE: ready to handle connections
cachet_1 | [2018-11-15 12:06:34] development.ERROR: RuntimeException: No supported encrypter found. The cipher and / or key length are invalid. in /var/www/html/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php:45
cachet_1 | Stack trace:
cachet_1 | #0 /var/www/html/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php(25): Illuminate\Encryption\EncryptionServiceProvider->getEncrypterForKeyAndCipher('SomeRandomStrin...', 'AES-256-CBC')
cachet_1 | #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}(Object(Illuminate\Foundation\Application), Array)
cachet_1 | #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\Container\Container->build(Object(Closure), Array)
cachet_1 | #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('encrypter', Array)
cachet_1 | #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(1178): Illuminate\Foundation\Application->make('encrypter')
cachet_1 | #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php(139): Illuminate\Container\Container->offsetGet('encrypter')
cachet_1 | #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(147): Illuminate\Queue\QueueManager->connection('database')
cachet_1 | #7 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(111): Illuminate\Queue\Worker->pop(NULL, NULL, '2', '1', '3')
cachet_1 | #8 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(86): Illuminate\Queue\Worker->runNextJobForDaemon(NULL, NULL, '2', '1', '3')
cachet_1 | #9 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(119): Illuminate\Queue\Worker->daemon(NULL, NULL, '2', 128, '1', '3')
cachet_1 | #10 /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(78): Illuminate\Queue\Console\WorkCommand->runWorker(NULL, NULL, '2', 128, true)
cachet_1 | #11 [internal function]: Illuminate\Queue\Console\WorkCommand->fire()
cachet_1 | #12 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(507): call_user_func_array(Array, Array)
cachet_1 | #13 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(169): Illuminate\Container\Container->call(Array)
cachet_1 | #14 /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))
cachet_1 | #15 /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))
cachet_1 | #16 /var/www/html/vendor/symfony/console/Application.php(794): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
cachet_1 | #17 /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))
cachet_1 | #18 /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))
cachet_1 | #19 /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))
cachet_1 | #20 /var/www/html/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
cachet_1 | #21 {main} {"identification":{"id":"10e20d4c-2152-48b9-b5f7-0393bbfc5915"}}
cachet_1 |
cachet_1 | 2018-11-15 12:06:35,366 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cachet_1 | 2018-11-15 12:06:35,367 INFO success: php-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cachet_1 | 2018-11-15 12:06:35,367 INFO success: queue-worker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "NOTICE: PHP message: [2018-11-15 12:06:42] development.ERROR: RuntimeException: No supported encrypter found. The cipher and / or key length are invalid. in /var/www/html/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php:45"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "Stack trace:"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php(25): Illuminate\Encryption\EncryptionServiceProvider->getEncrypterForKeyAndCipher('SomeRandomStrin...', 'AES-256-CBC')"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}(Object(Illuminate\Foundation\Application), Array)"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\Container\Container->build(Object(Closure), Array)"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('encrypter', Array)"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "#4 /var/www/html/vend..."
cachet_1 | 2018/11/15 12:06:42 [error] 73#73: *1 FastCGI sent in stderr: "PHP message: [2018-11-15 12:06:42] development.ERROR: RuntimeException: No supported encrypter found. The cipher and / or key length are invalid. in /var/www/html/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php:45
cachet_1 | Stack trace:
cachet_1 | #0 /var/www/html/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php(25): Illuminate\Encryption\EncryptionServiceProvider->getEncrypterForKeyAndCipher('SomeRandomStrin...', 'AES-256-CBC')
cachet_1 | #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}(Object(Illuminate\Foundation\Application), Array)
cachet_1 | #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\Container\Container->build(Object(Closure), Array)
cachet_1 | #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('encrypter', Array)
cachet_1 | #4 /var/www/html/vendor/larav" while reading response header from upstream, client: 172.18.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"
cachet_1 | 172.18.0.1 - - [15/Nov/2018:12:06:42 +0000] "GET / HTTP/1.1" 500 3165 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36" "-"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "NOTICE: PHP message: [2018-11-15 12:06:42] development.ERROR: RuntimeException: No supported encrypter found. The cipher and / or key length are invalid. in /var/www/html/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php:45"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "Stack trace:"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php(25): Illuminate\Encryption\EncryptionServiceProvider->getEncrypterForKeyAndCipher('SomeRandomStrin...', 'AES-256-CBC')"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}(Object(Illuminate\Foundation\Application), Array)"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\Container\Container->build(Object(Closure), Array)"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('encrypter', Array)"
cachet_1 | [15-Nov-2018 12:06:42] WARNING: [pool www] child 79 said into stderr: "#4 /var/www/html/vend..."
The APP_KEY format is laravel specific with the following format: "base64:yourkey="
You can generate one with the following command:
php artisan key:generate --show
or if you don't have laravel installed:
echo "base64:$(pwgen 43 1)="
Note that pwgen needs to be installed.
Sequencing:
git clone https://github.com/cachethq/Docker.git cachet-docker
cd cachet-docker
LATEST_TAG=$(git tag -l | grep -i '^v' | sort | tail -n 1)
git checkout $LATEST_TAG
docker-compose build
docker-compose up -d
sleep 5
docker exec -i cachetdocker_cachet_1 php artisan key:generate
docker exec -i cachetdocker_cachet_1 php artisan app:install
for start
docker-compose up -d
for stop
docker-compose down
In the end I get 502 Bad Gateway http://localhost
Here is what worked for me - After I ran php artisan key:generate, check if you have APP_KEY generated in .env file.
If you see the value, copy it and add it in /var/www/html/config/app.php as shown below
'key' => '<your-key-from-env-file>',
Starts with base64:something-something.
Now stop the containers and start those again. Your error should be solve.
@farukshin To really get the latest version git tag -l | grep -i '^v' | sort | tail -n 1 should be git tag -l | grep -i '^v' | sort -V | tail -n 1
Otherwise the version is v2.3.9 at the moment.
@jannemann thank. Indeed, it launched an outdated version. Now starting like this:
git clone https://github.com/cachethq/Docker.git cachet-docker
cd cachet-docker
LATEST_TAG=$(git tag -l | grep -i '^v' | sort -V | tail -n 1)
echo 'LATEST_TAG '$LATEST_TAG
git checkout $LATEST_TAG
docker-compose build
docker-compose up -d
sleep 5
docker exec -i cachet-docker_cachet_1 php artisan key:generate
docker exec -i cachet-docker_cachet_1 php artisan app:install
As a result, I still get an error of 500.