Feature Request: Published Docker Image
DellanX opened this issue · comments
Short Story
As the only person in my team who does backend development, this package is amazing.
I can easily manage all of the local components we make (stored in git). While it looks like docker containers and images already exist, they aren't published.
What can I do to help get that underway?
Long Story
Unfortunately... I'm the only person who does backend development in my team.
This means that our team often suffers the "it works on my machine" problem.
With all the debugging I have to do on everyone's machines, it'd be nice to quickly launch up a satisfy container and see what is going on when repositories aren't available.
(Currently, we just have a script that runs satis via docker)
I've seen this be brought up a few times here:
#44, #84, #177
I realize that there has been some efforts here, though they aren't documented.
The Request
Mostly what I am asking for is the image to be published, and some documentation.
Both of which I am willing to assist with (though I can't publish an image on your behalf).
If an image can't be published, then is there any concerns with me adding a docker build section to the README.md?
Hi @DellanX , it would be nice to review Your proposal how to build image. Can You submit a PR? Very likely I will follow it to build real image.
I think it'd just be one of the following:
- A PHP/Ubuntu/Alpine based docker image that can be inserted into another docker-compose easily.
This would be just like adding phpmyadmin or similar to a docker-compose file. - Adding a stage to the current docker image that runs the composer install command behind the scenes.
This option would require the consuming developer to use something such as a nginx instance to handle the trafic, as your current docker-compose is setup.
Ideally we can go with route (1). I'll tinker around with it, and submit a PR. The furthermost ideal would be to have a multi-stage dockerfile that defaults to (2) for a creates first a small image, but also (1) for developers who don't have a nginx instance.
classDiagram
class Developer1DockerContainer {
devImageA
devImageB
satis
}
class Developer2DockerContainer {
devImageA
devImageB
nginx
satis
}
services:
satis:
image: satisfy/satisfy # OR stasify/lite for developers who have a NGINX service
networks:
- developmentNetwork
environment:
APP_ENV: ${APP_ENV:-dev}
APP_DEBUG: ${APP_DEBUG:-1}
APP_PATH: /var/www/satisfy
volumes:
- .:/var/www/satisfy
- /var/www/.composer
restart: always
ports:
- "${APP_PORT:-8000}:80"
I'll look into making above, may take me a few weeks as I have a lot going on at the moment.
First precompiled docker image released.