You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@guacamole.apache.org by Tezarin <te...@yahoo.com.INVALID> on 2018/06/07 20:45:23 UTC
Keeping Guacamole docker image up to date
Good afternoon,
My current Guacamole setup includes three containers linked together: guacamole, guacd and mysql.
I was wondering what's the best way to keep my version of guacamole in sync with future upstream updates? In the past for other docker containers, I used to just pull the new image and run the docker container. But I'm sure there are better ways to do that. Please advise.
Thanks
Re: Keeping Guacamole docker image up to date
Posted by Tezarin <te...@yahoo.com.INVALID>.
Hi Chris,
Thank you for your reply. I'm basically trying to do the same thing as you did, having a docker compose file and be able to automate what I had done so i no longer have to type the long docker run command which is what I have been used to.
I created a docker-compose file and a Dockerfile. I didn't know if having just the docker-compose file suffice or I will have to have both in case we want to build the image in the future. So looks like when I run docker-compose up, it reads the dockerfile and builds the images. Would you please have a look and see if this is best practice for automating the process? Please see attach.
Thanks
On Saturday, June 30, 2018, 8:18:35 AM EDT, Chris Duncan <ce...@gmail.com> wrote:
Hi Tezarin,
I'm a bit confused about what you actually want to achieve. The
docker-compose.yml example that I pointed you to is similar to the file I
use on a local VM.
If you want to get to a docker-compose.yml that works for you then you
might want to start with a basic .yml file that starts your Guacamole
containers and allows you to login, which is pretty much what my example
does, except that I use a PostgreSQL container which provides a mechanism
to create a database from a script on container startup. After that, you
could add LDAP configuration and whatever else you need incrementally.
If you look at the guac-postgres container part of my example, you will see
that I create a volume which points to an init-scripts folder on my host.
When the Postgres container is created the script(s) in the init-scripts
folder get run and the Guacamole database is initialised. The script in my
init-scripts folder contains all of the SQL statements needed to create the
users, permissions, tables etc. that Guacamole requires. Once the
containers are up and running I restore from a database backup into the new
database and test that everything works.
Since I don't use MySQL, I'm not sure whether or not you can do the same
sort of initialisation. However, in order to use docker-compose, you are
going to have to perform some sort of database initialisation so that the
Guacamole client container has everything it needs when it is started. If
your database is not set up correctly then your Guacamole client container
will probably stop after a very short time or not perform as you expect. If
you look in the Docker logs for the container then you will likely see
errors relating to the database.
Your initial question was about making sure that you have up to date
Guacamole Docker images. I would suggest that you pull specific tagged
images rather than relying on the latest image. What you need is a
combination of containers that is known to work together, but if you don't
pull specific tagged images then you might arrive at a situation, as it
seems you already did, where a particular image version is incompatible. Of
course, you might have to experiment in order to arrive at a satisfactory
combination of images.
If you have a docker-compose.yml file then you can easily update it with
new image versions and test whether they work together or not.
On Fri, 29 Jun 2018 at 16:54, Tezarin <te...@yahoo.com.invalid> wrote:
> Hi Chris and everyone,
>
> I looked at your repo and tried to come up with my own. I created a
> docker-compose.yml and also a Dockerfile (below). It is my first time so
> please let me know if I did it correctly. Thanks
> docker-compose.yml:
> version: '1'
> services: db: hostname: *****.rds.amazonaws.com build:
> context: . restart: always volumes: - data:/var/lib/mysql
> environment: MYSQL_PASSWORD: ${MYSQL_PASSWORD}
> MYSQL_DATABASE=${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER}
> guacd: hostname: guacd image: guacamole/guacd restart: always
> guacamole: image: image/guacamole:latest restart: always
> ports: - "8443:8443" links: - guacd - db environment:
> GUACD_HOSTNAME: guacd MYSQL_HOSTNAME: *****.rds.amazonaws.com
> MYSQL_DATABASE: guacamole MYSQL_USER: guacamole MYSQL_PASSWORD:
> --Removed-- LDAP_HOSTNAME='--Removed--'
> LDAP_USER_BASE_DN='--Removed--' LDAP_PORT='389'
> LDAP_CONFIG_BASE_DN='' LDAP_DEREFERENCE_ALIASES='always'
> LDAP_ENCRYPTION_METHOD='none' LDAP_FOLLOW_REFERRALS='always'
> LDAP_GROUP_BASE_DN='--Removed--'
> LDAP_SEARCH_BIND_DN='cn=--Removed--'
> LDAP_SEARCH_BIND_PASSWORD='--Removed--'
> LDAP_USER_SEARCH_FILTER='(&(objectClass=person)(objectClass=user)'
> LDAP_USERNAME_ATTRIBUTE='samAccountNa
> volumes: data: guacd-volume
>
> -------------------------
> Dockerfile:
>
> FROM guacamole/guacamole
> RUN apt-get update && apt-get install -y vim \
> && sed -i 's/redirectPort="8443"/redirectPort="8443" server=""
> secure="true"/g' /usr/local/tomcat/conf/server.xml \&& sed -i 's/<Server
> port="8005" shutdown="SHUTDOWN">/<Server port="-1" shutdown="SHUTDOWN">/g'
> /usr/local/tomcat/conf/server.xml \&& rm -rf
> /usr/local/tomcat/webapps/docs/* \&& rm -rf
> /usr/local/tomcat/webapps/examples/* \&& rm -rf
> /usr/local/tomcat/webapps/manager/* \&& rm -rf
> /usr/local/tomcat/webapps/host-manager/* \ RUN chmod -R 400
> /usr/local/tomcat/conf
> ENV MYSQL_HOSTNAME='*****.rds.amazonaws.com' \
> MYSQL_DATABASE='guacamole' \ MYSQL_USER='guacamole' \
> MYSQL_PASSWORD='--Removed--' \ LDAP_HOSTNAME='--Removed--' \
> LDAP_USER_BASE_DN='--Removed--' \ LDAP_PORT='389' \
> LDAP_CONFIG_BASE_DN=''\ LDAP_DEREFERENCE_ALIASES='always' \
> LDAP_ENCRYPTION_METHOD='none' \ LDAP_FOLLOW_REFERRALS='always' \
> LDAP_GROUP_BASE_DN='--Removed--' \ LDAP_SEARCH_BIND_DN='--Removed--' \
> LDAP_SEARCH_BIND_PASSWORD='--Removed--' \
> LDAP_USER_SEARCH_FILTER='(&(objectClass=person)(objectClass=user)' \
> LDAP_USERNAME_ATTRIBUTE='samAccountName' \
> GUACAMOLE_HOME=/opt/guacamole-home \
> COPY server.xml /usr/local/tomcat/confEXPOSE 8443ENTRYPOINT
> ${GUACAMOLE_HOME}
> CMD [/bin/sh -c]
>
>
> On Monday, June 18, 2018, 7:10:37 PM EDT, Tezarin <te...@yahoo.com>
> wrote:
>
> Thanks for sharing Chris, I'll take a look, just want to make sure it
> pulls the new image every time we run it.
>
> Sent from my iPad
>
> > On Jun 18, 2018, at 5:24 PM, Chris Duncan <ce...@gmail.com> wrote:
> >
> > Don't know if this is any use, but here is a gist with my sample
> > docker-compose.yml:
> >
> > https://gist.github.com/celldee/0530d61d405b91107d8f9b12b0813e27
> >
> >> On Mon, 18 Jun 2018, 22:17 Tezarin, <te...@yahoo.com.invalid> wrote:
> >>
> >> Thank you Mike and Nick, docker-compose would probably be what I'm
> >> looking for, I basically would like the file to get the images (so it
> does
> >> a docker pull every time I run its which ensures the image is always
> latest
> >> ), then adds my customization (i.e. I expose 8443 instead of 8080, etc.)
> >> On Monday, June 18, 2018, 5:05:00 PM EDT, Mike Jumper <
> >> mike.jumper@glyptodon.org> wrote:
> >>
> >> On Mon, Jun 18, 2018 at 9:37 AM, Tezarin <te...@yahoo.com.invalid>
> >> wrote:
> >>
> >>> ... And also, do you happen to have a Git repo with your official
> >>> Guacomole repo and Dockerfile?
> >>>
> >>
> >> The Dockerfiles for the "guacamole/guacamole" and "guacamole/guacd"
> Docker
> >> images are part of the guacamole-client and guacamole-server source
> >> respectively:
> >>
> >> https://github.com/apache/guacamole-client
> >> https://github.com/apache/guacamole-server
> >>
> >> - Mike
> >>
--
*Regards,*
*Chris*
Re: Keeping Guacamole docker image up to date
Posted by Chris Duncan <ce...@gmail.com>.
Hi Tezarin,
I'm a bit confused about what you actually want to achieve. The
docker-compose.yml example that I pointed you to is similar to the file I
use on a local VM.
If you want to get to a docker-compose.yml that works for you then you
might want to start with a basic .yml file that starts your Guacamole
containers and allows you to login, which is pretty much what my example
does, except that I use a PostgreSQL container which provides a mechanism
to create a database from a script on container startup. After that, you
could add LDAP configuration and whatever else you need incrementally.
If you look at the guac-postgres container part of my example, you will see
that I create a volume which points to an init-scripts folder on my host.
When the Postgres container is created the script(s) in the init-scripts
folder get run and the Guacamole database is initialised. The script in my
init-scripts folder contains all of the SQL statements needed to create the
users, permissions, tables etc. that Guacamole requires. Once the
containers are up and running I restore from a database backup into the new
database and test that everything works.
Since I don't use MySQL, I'm not sure whether or not you can do the same
sort of initialisation. However, in order to use docker-compose, you are
going to have to perform some sort of database initialisation so that the
Guacamole client container has everything it needs when it is started. If
your database is not set up correctly then your Guacamole client container
will probably stop after a very short time or not perform as you expect. If
you look in the Docker logs for the container then you will likely see
errors relating to the database.
Your initial question was about making sure that you have up to date
Guacamole Docker images. I would suggest that you pull specific tagged
images rather than relying on the latest image. What you need is a
combination of containers that is known to work together, but if you don't
pull specific tagged images then you might arrive at a situation, as it
seems you already did, where a particular image version is incompatible. Of
course, you might have to experiment in order to arrive at a satisfactory
combination of images.
If you have a docker-compose.yml file then you can easily update it with
new image versions and test whether they work together or not.
On Fri, 29 Jun 2018 at 16:54, Tezarin <te...@yahoo.com.invalid> wrote:
> Hi Chris and everyone,
>
> I looked at your repo and tried to come up with my own. I created a
> docker-compose.yml and also a Dockerfile (below). It is my first time so
> please let me know if I did it correctly. Thanks
> docker-compose.yml:
> version: '1'
> services: db: hostname: *****.rds.amazonaws.com build:
> context: . restart: always volumes: - data:/var/lib/mysql
> environment: MYSQL_PASSWORD: ${MYSQL_PASSWORD}
> MYSQL_DATABASE=${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER}
> guacd: hostname: guacd image: guacamole/guacd restart: always
> guacamole: image: image/guacamole:latest restart: always
> ports: - "8443:8443" links: - guacd - db environment:
> GUACD_HOSTNAME: guacd MYSQL_HOSTNAME: *****.rds.amazonaws.com
> MYSQL_DATABASE: guacamole MYSQL_USER: guacamole MYSQL_PASSWORD:
> --Removed-- LDAP_HOSTNAME='--Removed--'
> LDAP_USER_BASE_DN='--Removed--' LDAP_PORT='389'
> LDAP_CONFIG_BASE_DN='' LDAP_DEREFERENCE_ALIASES='always'
> LDAP_ENCRYPTION_METHOD='none' LDAP_FOLLOW_REFERRALS='always'
> LDAP_GROUP_BASE_DN='--Removed--'
> LDAP_SEARCH_BIND_DN='cn=--Removed--'
> LDAP_SEARCH_BIND_PASSWORD='--Removed--'
> LDAP_USER_SEARCH_FILTER='(&(objectClass=person)(objectClass=user)'
> LDAP_USERNAME_ATTRIBUTE='samAccountNa
> volumes: data: guacd-volume
>
> -------------------------
> Dockerfile:
>
> FROM guacamole/guacamole
> RUN apt-get update && apt-get install -y vim \
> && sed -i 's/redirectPort="8443"/redirectPort="8443" server=""
> secure="true"/g' /usr/local/tomcat/conf/server.xml \&& sed -i 's/<Server
> port="8005" shutdown="SHUTDOWN">/<Server port="-1" shutdown="SHUTDOWN">/g'
> /usr/local/tomcat/conf/server.xml \&& rm -rf
> /usr/local/tomcat/webapps/docs/* \&& rm -rf
> /usr/local/tomcat/webapps/examples/* \&& rm -rf
> /usr/local/tomcat/webapps/manager/* \&& rm -rf
> /usr/local/tomcat/webapps/host-manager/* \ RUN chmod -R 400
> /usr/local/tomcat/conf
> ENV MYSQL_HOSTNAME='*****.rds.amazonaws.com' \
> MYSQL_DATABASE='guacamole' \ MYSQL_USER='guacamole' \
> MYSQL_PASSWORD='--Removed--' \ LDAP_HOSTNAME='--Removed--' \
> LDAP_USER_BASE_DN='--Removed--' \ LDAP_PORT='389' \
> LDAP_CONFIG_BASE_DN=''\ LDAP_DEREFERENCE_ALIASES='always' \
> LDAP_ENCRYPTION_METHOD='none' \ LDAP_FOLLOW_REFERRALS='always' \
> LDAP_GROUP_BASE_DN='--Removed--' \ LDAP_SEARCH_BIND_DN='--Removed--' \
> LDAP_SEARCH_BIND_PASSWORD='--Removed--' \
> LDAP_USER_SEARCH_FILTER='(&(objectClass=person)(objectClass=user)' \
> LDAP_USERNAME_ATTRIBUTE='samAccountName' \
> GUACAMOLE_HOME=/opt/guacamole-home \
> COPY server.xml /usr/local/tomcat/confEXPOSE 8443ENTRYPOINT
> ${GUACAMOLE_HOME}
> CMD [/bin/sh -c]
>
>
> On Monday, June 18, 2018, 7:10:37 PM EDT, Tezarin <te...@yahoo.com>
> wrote:
>
> Thanks for sharing Chris, I'll take a look, just want to make sure it
> pulls the new image every time we run it.
>
> Sent from my iPad
>
> > On Jun 18, 2018, at 5:24 PM, Chris Duncan <ce...@gmail.com> wrote:
> >
> > Don't know if this is any use, but here is a gist with my sample
> > docker-compose.yml:
> >
> > https://gist.github.com/celldee/0530d61d405b91107d8f9b12b0813e27
> >
> >> On Mon, 18 Jun 2018, 22:17 Tezarin, <te...@yahoo.com.invalid> wrote:
> >>
> >> Thank you Mike and Nick, docker-compose would probably be what I'm
> >> looking for, I basically would like the file to get the images (so it
> does
> >> a docker pull every time I run its which ensures the image is always
> latest
> >> ), then adds my customization (i.e. I expose 8443 instead of 8080, etc.)
> >> On Monday, June 18, 2018, 5:05:00 PM EDT, Mike Jumper <
> >> mike.jumper@glyptodon.org> wrote:
> >>
> >> On Mon, Jun 18, 2018 at 9:37 AM, Tezarin <te...@yahoo.com.invalid>
> >> wrote:
> >>
> >>> ... And also, do you happen to have a Git repo with your official
> >>> Guacomole repo and Dockerfile?
> >>>
> >>
> >> The Dockerfiles for the "guacamole/guacamole" and "guacamole/guacd"
> Docker
> >> images are part of the guacamole-client and guacamole-server source
> >> respectively:
> >>
> >> https://github.com/apache/guacamole-client
> >> https://github.com/apache/guacamole-server
> >>
> >> - Mike
> >>
--
*Regards,*
*Chris*
Re: Keeping Guacamole docker image up to date
Posted by Tezarin <te...@yahoo.com.INVALID>.
Hi Chris and everyone,
I looked at your repo and tried to come up with my own. I created a docker-compose.yml and also a Dockerfile (below). It is my first time so please let me know if I did it correctly. Thanks
docker-compose.yml:
version: '1'
services: db: hostname: *****.rds.amazonaws.com build: context: . restart: always volumes: - data:/var/lib/mysql environment: MYSQL_PASSWORD: ${MYSQL_PASSWORD} MYSQL_DATABASE=${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER}
guacd: hostname: guacd image: guacamole/guacd restart: always
guacamole: image: image/guacamole:latest restart: always ports: - "8443:8443" links: - guacd - db environment: GUACD_HOSTNAME: guacd MYSQL_HOSTNAME: *****.rds.amazonaws.com MYSQL_DATABASE: guacamole MYSQL_USER: guacamole MYSQL_PASSWORD: --Removed-- LDAP_HOSTNAME='--Removed--' LDAP_USER_BASE_DN='--Removed--' LDAP_PORT='389' LDAP_CONFIG_BASE_DN='' LDAP_DEREFERENCE_ALIASES='always' LDAP_ENCRYPTION_METHOD='none' LDAP_FOLLOW_REFERRALS='always' LDAP_GROUP_BASE_DN='--Removed--' LDAP_SEARCH_BIND_DN='cn=--Removed--' LDAP_SEARCH_BIND_PASSWORD='--Removed--' LDAP_USER_SEARCH_FILTER='(&(objectClass=person)(objectClass=user)' LDAP_USERNAME_ATTRIBUTE='samAccountNa
volumes: data: guacd-volume
-------------------------
Dockerfile:
FROM guacamole/guacamole
RUN apt-get update && apt-get install -y vim \
&& sed -i 's/redirectPort="8443"/redirectPort="8443" server="" secure="true"/g' /usr/local/tomcat/conf/server.xml \&& sed -i 's/<Server port="8005" shutdown="SHUTDOWN">/<Server port="-1" shutdown="SHUTDOWN">/g' /usr/local/tomcat/conf/server.xml \&& rm -rf /usr/local/tomcat/webapps/docs/* \&& rm -rf /usr/local/tomcat/webapps/examples/* \&& rm -rf /usr/local/tomcat/webapps/manager/* \&& rm -rf /usr/local/tomcat/webapps/host-manager/* \ RUN chmod -R 400 /usr/local/tomcat/conf
ENV MYSQL_HOSTNAME='*****.rds.amazonaws.com' \ MYSQL_DATABASE='guacamole' \ MYSQL_USER='guacamole' \ MYSQL_PASSWORD='--Removed--' \ LDAP_HOSTNAME='--Removed--' \ LDAP_USER_BASE_DN='--Removed--' \ LDAP_PORT='389' \ LDAP_CONFIG_BASE_DN=''\ LDAP_DEREFERENCE_ALIASES='always' \ LDAP_ENCRYPTION_METHOD='none' \ LDAP_FOLLOW_REFERRALS='always' \ LDAP_GROUP_BASE_DN='--Removed--' \ LDAP_SEARCH_BIND_DN='--Removed--' \ LDAP_SEARCH_BIND_PASSWORD='--Removed--' \ LDAP_USER_SEARCH_FILTER='(&(objectClass=person)(objectClass=user)' \ LDAP_USERNAME_ATTRIBUTE='samAccountName' \ GUACAMOLE_HOME=/opt/guacamole-home \
COPY server.xml /usr/local/tomcat/confEXPOSE 8443ENTRYPOINT ${GUACAMOLE_HOME}
CMD [/bin/sh -c]
On Monday, June 18, 2018, 7:10:37 PM EDT, Tezarin <te...@yahoo.com> wrote:
Thanks for sharing Chris, I'll take a look, just want to make sure it pulls the new image every time we run it.
Sent from my iPad
> On Jun 18, 2018, at 5:24 PM, Chris Duncan <ce...@gmail.com> wrote:
>
> Don't know if this is any use, but here is a gist with my sample
> docker-compose.yml:
>
> https://gist.github.com/celldee/0530d61d405b91107d8f9b12b0813e27
>
>> On Mon, 18 Jun 2018, 22:17 Tezarin, <te...@yahoo.com.invalid> wrote:
>>
>> Thank you Mike and Nick, docker-compose would probably be what I'm
>> looking for, I basically would like the file to get the images (so it does
>> a docker pull every time I run its which ensures the image is always latest
>> ), then adds my customization (i.e. I expose 8443 instead of 8080, etc.)
>> On Monday, June 18, 2018, 5:05:00 PM EDT, Mike Jumper <
>> mike.jumper@glyptodon.org> wrote:
>>
>> On Mon, Jun 18, 2018 at 9:37 AM, Tezarin <te...@yahoo.com.invalid>
>> wrote:
>>
>>> ... And also, do you happen to have a Git repo with your official
>>> Guacomole repo and Dockerfile?
>>>
>>
>> The Dockerfiles for the "guacamole/guacamole" and "guacamole/guacd" Docker
>> images are part of the guacamole-client and guacamole-server source
>> respectively:
>>
>> https://github.com/apache/guacamole-client
>> https://github.com/apache/guacamole-server
>>
>> - Mike
>>
Re: Keeping Guacamole docker image up to date
Posted by Tezarin <te...@yahoo.com.INVALID>.
Thanks for sharing Chris, I'll take a look, just want to make sure it pulls the new image every time we run it.
Sent from my iPad
> On Jun 18, 2018, at 5:24 PM, Chris Duncan <ce...@gmail.com> wrote:
>
> Don't know if this is any use, but here is a gist with my sample
> docker-compose.yml:
>
> https://gist.github.com/celldee/0530d61d405b91107d8f9b12b0813e27
>
>> On Mon, 18 Jun 2018, 22:17 Tezarin, <te...@yahoo.com.invalid> wrote:
>>
>> Thank you Mike and Nick, docker-compose would probably be what I'm
>> looking for, I basically would like the file to get the images (so it does
>> a docker pull every time I run its which ensures the image is always latest
>> ), then adds my customization (i.e. I expose 8443 instead of 8080, etc.)
>> On Monday, June 18, 2018, 5:05:00 PM EDT, Mike Jumper <
>> mike.jumper@glyptodon.org> wrote:
>>
>> On Mon, Jun 18, 2018 at 9:37 AM, Tezarin <te...@yahoo.com.invalid>
>> wrote:
>>
>>> ... And also, do you happen to have a Git repo with your official
>>> Guacomole repo and Dockerfile?
>>>
>>
>> The Dockerfiles for the "guacamole/guacamole" and "guacamole/guacd" Docker
>> images are part of the guacamole-client and guacamole-server source
>> respectively:
>>
>> https://github.com/apache/guacamole-client
>> https://github.com/apache/guacamole-server
>>
>> - Mike
>>
Re: Keeping Guacamole docker image up to date
Posted by Chris Duncan <ce...@gmail.com>.
Don't know if this is any use, but here is a gist with my sample
docker-compose.yml:
https://gist.github.com/celldee/0530d61d405b91107d8f9b12b0813e27
On Mon, 18 Jun 2018, 22:17 Tezarin, <te...@yahoo.com.invalid> wrote:
> Thank you Mike and Nick, docker-compose would probably be what I'm
> looking for, I basically would like the file to get the images (so it does
> a docker pull every time I run its which ensures the image is always latest
> ), then adds my customization (i.e. I expose 8443 instead of 8080, etc.)
> On Monday, June 18, 2018, 5:05:00 PM EDT, Mike Jumper <
> mike.jumper@glyptodon.org> wrote:
>
> On Mon, Jun 18, 2018 at 9:37 AM, Tezarin <te...@yahoo.com.invalid>
> wrote:
>
> > ... And also, do you happen to have a Git repo with your official
> > Guacomole repo and Dockerfile?
> >
>
> The Dockerfiles for the "guacamole/guacamole" and "guacamole/guacd" Docker
> images are part of the guacamole-client and guacamole-server source
> respectively:
>
> https://github.com/apache/guacamole-client
> https://github.com/apache/guacamole-server
>
> - Mike
>
Re: Keeping Guacamole docker image up to date
Posted by Tezarin <te...@yahoo.com.INVALID>.
Thank you Mike and Nick, docker-compose would probably be what I'm looking for, I basically would like the file to get the images (so it does a docker pull every time I run its which ensures the image is always latest ), then adds my customization (i.e. I expose 8443 instead of 8080, etc.)
On Monday, June 18, 2018, 5:05:00 PM EDT, Mike Jumper <mi...@glyptodon.org> wrote:
On Mon, Jun 18, 2018 at 9:37 AM, Tezarin <te...@yahoo.com.invalid> wrote:
> ... And also, do you happen to have a Git repo with your official
> Guacomole repo and Dockerfile?
>
The Dockerfiles for the "guacamole/guacamole" and "guacamole/guacd" Docker
images are part of the guacamole-client and guacamole-server source
respectively:
https://github.com/apache/guacamole-client
https://github.com/apache/guacamole-server
- Mike
Re: Keeping Guacamole docker image up to date
Posted by Mike Jumper <mi...@glyptodon.org>.
On Mon, Jun 18, 2018 at 9:37 AM, Tezarin <te...@yahoo.com.invalid> wrote:
> ... And also, do you happen to have a Git repo with your official
> Guacomole repo and Dockerfile?
>
The Dockerfiles for the "guacamole/guacamole" and "guacamole/guacd" Docker
images are part of the guacamole-client and guacamole-server source
respectively:
https://github.com/apache/guacamole-client
https://github.com/apache/guacamole-server
- Mike
Re: Keeping Guacamole docker image up to date
Posted by Nick Couchman <vn...@apache.org>.
On Mon, Jun 18, 2018 at 12:37 PM Tezarin <te...@yahoo.com.invalid> wrote:
> Thanks Nick, now back to the main subject (I see my topic was
> side-tracked):
>
> I have been using the docker pull command as you suggested but would like
> to have a Dockerfile or docker-compose that I can run to pull the newest
> image, pass the environment variables, etc. Do you recommend a Dockerfile
> or a docker-compose file? And also, do you happen to have a Git repo with
> your official Guacomole repo and Dockerfile?
> Thanks
>
>
No, I don't. As far as I know, the Dockerfile is for *building* the actual
images, so I don't think that's going to do you any good in pulling down
newer versions of images and coordinating the deployment of those images.
docker-compose may be what you're looking for, but I'm not familiar with
it, so I can't really provide you any examples of that. Maybe someone else
on the list can help with that - I know it's been suggested/discussed in a
JIRA issue or two, but I'm not going to be of much help.
-NIck
Re: Keeping Guacamole docker image up to date
Posted by Tezarin <te...@yahoo.com.INVALID>.
Thanks Nick, now back to the main subject (I see my topic was side-tracked):
I have been using the docker pull command as you suggested but would like to have a Dockerfile or docker-compose that I can run to pull the newest image, pass the environment variables, etc. Do you recommend a Dockerfile or a docker-compose file? And also, do you happen to have a Git repo with your official Guacomole repo and Dockerfile?
Thanks
On Saturday, June 16, 2018, 8:13:58 PM EDT, Nick Couchman <vn...@apache.org> wrote:
On Fri, Jun 15, 2018 at 11:36 AM Tezarin <te...@yahoo.com.invalid> wrote:
>
> Hi,
>
> What would be a good practice for having these docker pull commands? Can
> we have a Dockerfile that does that? If so, can you please point me to some
> of your examples?
>
>
The Dockerfile is used to build the images, so you don't need this for a
"docker pull" command. You'd just run the "docker pull" command after a
new update of Guacamole is released, and it will pull the latest images
down for your containers. You'd then stop your Guacamole-related
containers and restart them, and it should use the latest-available image.
-Nick
Re: Keeping Guacamole docker image up to date
Posted by Nick Couchman <vn...@apache.org>.
On Sun, Jun 17, 2018 at 17:53 Mark Nolan <ma...@gmail.com> wrote:
> Assuming you think this is something others might need and should be
> included as a feature, then I think it should be possible using XML entity
> includes. Never tried it, but I've read about others making it work.
>
> The image start up script could provide a way of specifying a file to be
> included (through an environment variable presumably), mapping it to a
> default empty file.
>
> The server,xml would define that in the header and reference it in the
> appropriate place.
>
> I am right in the middle of a whole bunch of things, but I can give it a go
> in a few weeks.
>
> M.
> .
>
I'm certainly not opposed to it. When you get a chance feel free to open a
JIRA issue and do a pull request.
-Nick
Re: Keeping Guacamole docker image up to date
Posted by Mark Nolan <ma...@gmail.com>.
Assuming you think this is something others might need and should be
included as a feature, then I think it should be possible using XML entity
includes. Never tried it, but I've read about others making it work.
The image start up script could provide a way of specifying a file to be
included (through an environment variable presumably), mapping it to a
default empty file.
The server,xml would define that in the header and reference it in the
appropriate place.
I am right in the middle of a whole bunch of things, but I can give it a go
in a few weeks.
M.
.
On 17 June 2018 at 19:43, Nick Couchman <vn...@apache.org> wrote:
> On Sun, Jun 17, 2018 at 12:51 PM Mark Nolan <ma...@gmail.com> wrote:
>
> > Looks good. I think the https connector will take a little more work,
> > though!
> > M
>
>
>
> Ah, yes - I zeroed in on the web context part and conveniently ignored that
> :-). That's really more of a Tomcat configuration issue - not sure if
> there are any examples of how to do that with a startup option? Or if
> there's another way besides writing the config file out at build time?
>
> You can also handle that by putting Nginx (container or native) in front of
> the Guacamole client container.
>
> -Nick
>
Re: Keeping Guacamole docker image up to date
Posted by Nick Couchman <vn...@apache.org>.
On Sun, Jun 17, 2018 at 12:51 PM Mark Nolan <ma...@gmail.com> wrote:
> Looks good. I think the https connector will take a little more work,
> though!
> M
Ah, yes - I zeroed in on the web context part and conveniently ignored that
:-). That's really more of a Tomcat configuration issue - not sure if
there are any examples of how to do that with a startup option? Or if
there's another way besides writing the config file out at build time?
You can also handle that by putting Nginx (container or native) in front of
the Guacamole client container.
-Nick
Re: Keeping Guacamole docker image up to date
Posted by Mark Nolan <ma...@gmail.com>.
Looks good. I think the https connector will take a little more work,
though!
M.
.
On 17 June 2018 at 15:12, Nick Couchman <vn...@apache.org> wrote:
> This was changed recently in the master branch:
>
> https://github.com/apache/guacamole-client/pull/300
>
> It isn't in scope for the upcoming 1.0.0 release, but maybe for a quick
> minor release after that.
>
> -Nick
>
> On Sun, Jun 17, 2018 at 09:49 Mark Nolan <ma...@gmail.com> wrote:
>
> > On a slightly different tack, but still relevant to keeping images up to
> > date, we always have to customize the image to declare the https
> connector
> > and because we want to serve guacamole from the root context.
> >
> > Is there a preferred approach to this? Is it something that would be
> useful
> > to others?
> >
> > M.
> > .
> >
> >
> > On 17 June 2018 at 01:13, Nick Couchman <vn...@apache.org> wrote:
> >
> > > On Fri, Jun 15, 2018 at 11:36 AM Tezarin <te...@yahoo.com.invalid>
> > > wrote:
> > >
> > > >
> > > > Hi,
> > > >
> > > > What would be a good practice for having these docker pull commands?
> > Can
> > > > we have a Dockerfile that does that? If so, can you please point me
> to
> > > some
> > > > of your examples?
> > > >
> > > >
> > > The Dockerfile is used to build the images, so you don't need this for
> a
> > > "docker pull" command. You'd just run the "docker pull" command after
> a
> > > new update of Guacamole is released, and it will pull the latest images
> > > down for your containers. You'd then stop your Guacamole-related
> > > containers and restart them, and it should use the latest-available
> > image.
> > >
> > > -Nick
> > >
> >
>
Re: Keeping Guacamole docker image up to date
Posted by Nick Couchman <vn...@apache.org>.
This was changed recently in the master branch:
https://github.com/apache/guacamole-client/pull/300
It isn't in scope for the upcoming 1.0.0 release, but maybe for a quick
minor release after that.
-Nick
On Sun, Jun 17, 2018 at 09:49 Mark Nolan <ma...@gmail.com> wrote:
> On a slightly different tack, but still relevant to keeping images up to
> date, we always have to customize the image to declare the https connector
> and because we want to serve guacamole from the root context.
>
> Is there a preferred approach to this? Is it something that would be useful
> to others?
>
> M.
> .
>
>
> On 17 June 2018 at 01:13, Nick Couchman <vn...@apache.org> wrote:
>
> > On Fri, Jun 15, 2018 at 11:36 AM Tezarin <te...@yahoo.com.invalid>
> > wrote:
> >
> > >
> > > Hi,
> > >
> > > What would be a good practice for having these docker pull commands?
> Can
> > > we have a Dockerfile that does that? If so, can you please point me to
> > some
> > > of your examples?
> > >
> > >
> > The Dockerfile is used to build the images, so you don't need this for a
> > "docker pull" command. You'd just run the "docker pull" command after a
> > new update of Guacamole is released, and it will pull the latest images
> > down for your containers. You'd then stop your Guacamole-related
> > containers and restart them, and it should use the latest-available
> image.
> >
> > -Nick
> >
>
Re: Keeping Guacamole docker image up to date
Posted by Mark Nolan <ma...@gmail.com>.
On a slightly different tack, but still relevant to keeping images up to
date, we always have to customize the image to declare the https connector
and because we want to serve guacamole from the root context.
Is there a preferred approach to this? Is it something that would be useful
to others?
M.
.
On 17 June 2018 at 01:13, Nick Couchman <vn...@apache.org> wrote:
> On Fri, Jun 15, 2018 at 11:36 AM Tezarin <te...@yahoo.com.invalid>
> wrote:
>
> >
> > Hi,
> >
> > What would be a good practice for having these docker pull commands? Can
> > we have a Dockerfile that does that? If so, can you please point me to
> some
> > of your examples?
> >
> >
> The Dockerfile is used to build the images, so you don't need this for a
> "docker pull" command. You'd just run the "docker pull" command after a
> new update of Guacamole is released, and it will pull the latest images
> down for your containers. You'd then stop your Guacamole-related
> containers and restart them, and it should use the latest-available image.
>
> -Nick
>
Re: Keeping Guacamole docker image up to date
Posted by Nick Couchman <vn...@apache.org>.
On Fri, Jun 15, 2018 at 11:36 AM Tezarin <te...@yahoo.com.invalid> wrote:
>
> Hi,
>
> What would be a good practice for having these docker pull commands? Can
> we have a Dockerfile that does that? If so, can you please point me to some
> of your examples?
>
>
The Dockerfile is used to build the images, so you don't need this for a
"docker pull" command. You'd just run the "docker pull" command after a
new update of Guacamole is released, and it will pull the latest images
down for your containers. You'd then stop your Guacamole-related
containers and restart them, and it should use the latest-available image.
-Nick
Re: Keeping Guacamole docker image up to date
Posted by Tezarin <te...@yahoo.com.INVALID>.
Hi,
What would be a good practice for having these docker pull commands? Can we have a Dockerfile that does that? If so, can you please point me to some of your examples?
Thanks On Monday, June 11, 2018, 12:59:44 PM EDT, Tezarin <te...@yahoo.com.INVALID> wrote:
Perfect, thank you.
On Monday, June 11, 2018, 12:56:46 PM EDT, Nick Couchman <vn...@apache.org> wrote:
On Mon, Jun 11, 2018 at 12:53 PM Tezarin <te...@yahoo.com.invalid> wrote:
> Thanks Nick. I have always been using the docker pull command to make
> sure my images are up to date, never had a problem until I ran docker pull
> mysql and the new version (8 something) was not compatible with the
> guacamole container. It uses the previous version (5.7) and such a big
> jump in version broke my guacamole installation...So I was thinking there
> might be a better way.
>
>
I think that's still the best way to keep things up to date, but obviously
you have to verify that the components are still compatible.
That specific issue you mention, with MySQL compatibility, is fixed in the
master branch and slated for 1.0.0 release:
https://issues.apache.org/jira/browse/GUACAMOLE-553
-Nick
Re: Keeping Guacamole docker image up to date
Posted by Tezarin <te...@yahoo.com.INVALID>.
Perfect, thank you.
On Monday, June 11, 2018, 12:56:46 PM EDT, Nick Couchman <vn...@apache.org> wrote:
On Mon, Jun 11, 2018 at 12:53 PM Tezarin <te...@yahoo.com.invalid> wrote:
> Thanks Nick. I have always been using the docker pull command to make
> sure my images are up to date, never had a problem until I ran docker pull
> mysql and the new version (8 something) was not compatible with the
> guacamole container. It uses the previous version (5.7) and such a big
> jump in version broke my guacamole installation...So I was thinking there
> might be a better way.
>
>
I think that's still the best way to keep things up to date, but obviously
you have to verify that the components are still compatible.
That specific issue you mention, with MySQL compatibility, is fixed in the
master branch and slated for 1.0.0 release:
https://issues.apache.org/jira/browse/GUACAMOLE-553
-Nick
Re: Keeping Guacamole docker image up to date
Posted by Nick Couchman <vn...@apache.org>.
On Mon, Jun 11, 2018 at 12:53 PM Tezarin <te...@yahoo.com.invalid> wrote:
> Thanks Nick. I have always been using the docker pull command to make
> sure my images are up to date, never had a problem until I ran docker pull
> mysql and the new version (8 something) was not compatible with the
> guacamole container. It uses the previous version (5.7) and such a big
> jump in version broke my guacamole installation...So I was thinking there
> might be a better way.
>
>
I think that's still the best way to keep things up to date, but obviously
you have to verify that the components are still compatible.
That specific issue you mention, with MySQL compatibility, is fixed in the
master branch and slated for 1.0.0 release:
https://issues.apache.org/jira/browse/GUACAMOLE-553
-Nick
Re: Keeping Guacamole docker image up to date
Posted by Tezarin <te...@yahoo.com.INVALID>.
Thanks Nick. I have always been using the docker pull command to make sure my images are up to date, never had a problem until I ran docker pull mysql and the new version (8 something) was not compatible with the guacamole container. It uses the previous version (5.7) and such a big jump in version broke my guacamole installation...So I was thinking there might be a better way.
On Monday, June 11, 2018, 12:04:38 PM EDT, Nick Couchman <vn...@apache.org> wrote:
On Mon, Jun 11, 2018 at 11:55 AM Tezarin <te...@yahoo.com.invalid> wrote:
> Hi all,
>
> Any thoughts on how I can ensure my guacamole image is always up to date?
>
So, one of the driving forces behind using containers is that they are easy
to keep up to date. You should be able to do a "docker pull" to update to
the latest image of any one of those containers.
The only trick will be making sure that you are storing configuration
information in a place that makes sense and that "survives" the docker
pull. Since your MySQL instance is in a separate container (good!), you
won't have to worry about connections and the like getting wiped out if you
update guacd and guacamole client images. And, I believe the MySQL
extension is present in the default image, so unless you are using other
extensions you shouldn't have to worry about anything specific to that.
Do you have specific concerns or have you experienced problems updating?
-Nick
Re: Keeping Guacamole docker image up to date
Posted by Nick Couchman <vn...@apache.org>.
On Mon, Jun 11, 2018 at 11:55 AM Tezarin <te...@yahoo.com.invalid> wrote:
> Hi all,
>
> Any thoughts on how I can ensure my guacamole image is always up to date?
>
So, one of the driving forces behind using containers is that they are easy
to keep up to date. You should be able to do a "docker pull" to update to
the latest image of any one of those containers.
The only trick will be making sure that you are storing configuration
information in a place that makes sense and that "survives" the docker
pull. Since your MySQL instance is in a separate container (good!), you
won't have to worry about connections and the like getting wiped out if you
update guacd and guacamole client images. And, I believe the MySQL
extension is present in the default image, so unless you are using other
extensions you shouldn't have to worry about anything specific to that.
Do you have specific concerns or have you experienced problems updating?
-Nick
Re: Keeping Guacamole docker image up to date
Posted by Tezarin <te...@yahoo.com.INVALID>.
Hi all,
Any thoughts on how I can ensure my guacamole image is always up to date?
Thanks
On Thursday, June 7, 2018, 4:45:33 PM EDT, Tezarin <te...@yahoo.com.INVALID> wrote:
Good afternoon,
My current Guacamole setup includes three containers linked together: guacamole, guacd and mysql.
I was wondering what's the best way to keep my version of guacamole in sync with future upstream updates? In the past for other docker containers, I used to just pull the new image and run the docker container. But I'm sure there are better ways to do that. Please advise.
Thanks