cachethq / Docker

A Dockerized version of Cachet.
https://cachethq.io
BSD 3-Clause "New" or "Revised" License
411 stars 285 forks source link

500 error - Internal Server Error #322

Open farukshin opened 5 years ago

farukshin commented 5 years ago

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..."
c35sys commented 5 years ago

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.

farukshin commented 5 years ago

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

deshpandetanmay commented 5 years ago

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.

jannemann commented 5 years ago

@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.

farukshin commented 5 years ago

@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.