Giter VIP home page Giter VIP logo

docker's People

Contributors

andelhie avatar andygrunwald avatar atmosx avatar axilleas avatar camandel avatar camilb avatar cit1zen avatar djdefi avatar gottfrois avatar grahamcampbell avatar jbrooksuk avatar lrstanley avatar madhu1512 avatar mathieuruellanmyscript avatar mattallty avatar michaelkaye avatar misenhower avatar mridwankurniawan avatar mthota15 avatar naorlivne avatar nickbusey avatar nickshears avatar nstapelbroek avatar pyker avatar shuichiro-makigaki avatar stunkymonkey avatar veekeefr avatar wfjsw avatar xrahul avatar zemirco avatar

Stargazers

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

Watchers

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

docker's Issues

QA testing suite

Basic release QA tests to run.

  • Build and launch docker-compose up
  • Initial setup with via php artisan cachet:seed
  • Verify Login
  • Create Component
  • Create incident
  • Stop all containers

Design considerations

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:

  • Pull Cachet release tag from Git corresponding to image:version
  • Use of a base image to speed up builds

rename this repo

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.

No connector for []

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

AWS elastic beanstalk support

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

Out of the box, hitting the main endpoint with https:// redirects to http:// endpoints

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?

Outdated documentation regarding key generation and app initialization ?

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

Tracking of docker-hub automated build changes

This is to help track what needs to happen to switch the automated builds on docker hub to this repository with minimal interruption.

  • Delete existing docker hub build cachethq/cachet
  • Create new docker hub build cachethq/cachet:base pointed at this repository branch base
  • Make sure Dockerfiles for version releases use FROM cachethq/cachet:base
  • Create new docker hub build cachethq/cachet:1.1.1 pointed at this repository tag v1.1.1
  • Create new docker hub build cachethq/cachet:latest pointed at this repository tag v1.1.1
  • Create new docker hub build cachethq/cachet:1.2 pointed at this repository branch v1.2-dev

Multiply containers?

Sorry if it's wrong to ask here.
How can I run several seperate docker with cachet on the same server.

HTTP 500 Error after Login

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

Add GD extension

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

Exception when trying upgrade Cachet version

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"}}

Cachet doesnt start - Install loop

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

Errors in README.md

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

I get an error with docker-compose --verbose up

posi@docker:/Desktop/Docker$ docker-compose --version
docker-compose version 1.7.1, build 6c29830
posi@docker:
/Desktop/Docker$ docker --version
Docker version 1.10.3, build 20f81dd
posi@docker:/Desktop/Docker$ uname -a
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:
/Desktop/Docker$

foo.txt <- logfile

Error 500 (Components and Dashboard)

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

Missing webserver on latest image

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:80

MacBook-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 www

MacBook-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

Master broken`?

  • What version of Cachet?
    MASTER on Ubuntu Docker 1.11.1 on 14.04 @ digitalocean

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

  1. Installed compose running: 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**

docker-compose build not working when configuring postgres_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.

Don't use volumes to share code between nginx & fpm

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.

Base image layer optimization

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

nginx as container instead internal instance

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.

Error when subscribe using version 2.0.4 (Docker)

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"}}

PHP-APC is not included to docker container

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.

Your setup

  • I use Docker compose for version 2.2
  • Cachet 2.2
  • Database Postgres
  • PHP 7

Actual behaviour

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

Steps to reproduce

Follow docker-compose installation guide and chose APCu as cache module. Then restart docker container.

500 error - Docker install

  • What version of Cachet?
    v2.2.2 on Ubuntu Docker 1.11.1 on 14.04 @ digitalocean

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

  1. Installed compose running: 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.

Error 500 after restart

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"}}

504 Bad Gateway

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)

Include startup actions like "migrate"

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

Errors 500

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.

Switch to PostgreSQL

Will need to swap this out in the docker-compose.yml and make sure the correct ENV variables are set

Create a Base image

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.

SMTP mail driver won't send emails

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.

single container for PaaS deployment

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!

Container won't start

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

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.