This is the official iceScrum Docker image, with support for recent Docker versions.
iceScrum is an open-minded and expert agile project management tool based on the Scrum methodology: https://www.icescrum.com/features/.
Tags:
latestHowever, the configuration varies depending on the type of installation:
Docker Machine, usually via Docker Toolbox, used to be the only way to install iceScrum on Windows and OS X. In such case, the Docker Host is a VM which is not available on localhost so the iceScrum default configuration doesn't work and it needs to be changed by using environment variables as described in the next section. The new native applications solves this issue by allowing starting Docker on localhost.
Important notice: iceScrum must know beforehand the unique external URL that will be used to open it in a browser. By default, this URL is http://localhost:8080/icescrum.
If you don't want or cannot expose iceScrum on this URL, our image supports environment variables to define a custom URL.
Pass one or more environment variables to the iceScrum container by adding to the docker run command the -e VARIABLE=value argument.
ICESCRUM_HTTPSIf set to true, the protocol will be https instead of http in the URL. Be careful: this is all that this variables does, it does not configure the SSL connection at all.
ICESCRUM_HOSTRequired if you use Docker Machine, in such case set the IP of your Docker host, provided by docker-machine ip yourmachine.
ICESCRUM_PORTThe iceScrum Docker image will always have iceScrum running on its internal port 8080, but nothing prevents you from defining a different external port (e.g. by exposing a different port in docker run via the -p argument).
If you set the port 443 (if ICESCRUM_HTTPS is set) or the port 80 then the port will be omitted in the URL.
ICESCRUM_CONTEXTIt's the name that comes after "/" in the URL. You can either define another one or provide / to have an empty context.
Be careful, the HSQLDB default embedded DBMS is not reliable for production use, so we recommend that you rather use an external DBMS such as MySQL.
docker run --name icescrum -v /mycomputer/is/home:/root -p 8080:8080 icescrum/icescrum
docker run --name icescrum -e ICESCRUM_HOST=yourDockerHostIP -v /mycomputer/is/home:/root -p 8080:8080 icescrum/icescrum
The iceScrum data (config.groovy, logs...) is persisted on your computer into /mycomputer/is/home (replace by an absolute or relative path from your computer) and the HSQLDB files are stored under its hsqldb directory.
This integration makes use of the Docker "networks"" feature, we chose to not use the "link"" feature that seems to be deprecated. Starting both containers on the same network simply allows iceScrum to access your MySQL or PostgreSQL container by its name thanks to an automatic /etc/hosts entry.
docker network create --driver bridge is_net
The iceScrum MySQL image is just a standard MySQL image that creates an database named icescrum with the utf8_general_ci collation at the first startup.
At first startup you will need to provide a password for the MySQL root user.
docker run --name mysql -v /mycomputer/is/mysql:/var/lib/mysql --net=is_net -e MYSQL_ROOT_PASSWORD=myPass -d icescrum/mysql
MySQL data is persisted on your computer into /mycomputer/is/mysql (replace by an absolute or relative path from your computer).
The iceScrum PostgreSQL image is just a standard PostgreSQL image that creates an icescrum database with the en_US.UTF-8 encoding at the first startup.
At first startup you will need to provide a password for the postgre user.
/mycomputer/is/postgres (replace by an absolute or relative path from your computer):docker run --name postgres -v /mycomputer/is/postgres:/var/lib/postgresql/data --net=is_net -e POSTGRES_PASSWORD=myPass -d icescrum/postgres
docker run --name postgres --net=is_net -e POSTGRES_PASSWORD=myPass -d icescrum/postgres
docker run --name icescrum -v /mycomputer/is/home:/root --net=is_net -p 8080:8080 icescrum/icescrum
docker run --name icescrum -e ICESCRUM_HOST=yourDockerHostIP -v /mycomputer/is/home:/root --net=is_net -p 8080:8080 icescrum/icescrum
Don't start it in background so you will be able to check that everything goes well in the logs.
iceScrum data (config.groovy, logs...) is persisted on your computer into /mycomputer/is/home (replace by an absolute or relative path from your computer).
The very first line of the iceScrum container output displays the external URL of iceScrum (according to the provided environment variables):
iceScrum will be available at this URL: http://XXXX
Wait until your see
Server startup in XXXX ms
Then iceScrum should be available at the provided URL.
If it's the first time you use iceScrum, you will have to configure iceScrum through a user-friendly wizard. Here is the documentation: https://www.icescrum.com/documentation/install-guide/#settings
The setup wizard has two results:
config.groovy file located under /mycomputer/is/home/.icescrum, which you will be able to edit later either manually or through the iceScrum Pro admin interface.Some settings regarding where iceScrum stores its files are prefilled to ensure that everything is persisted in your mounted volume, don't change them unless you know what you do!
The wizard has a "Dabatase" step:
If you want to keep the HSQLDB database then the database configuration is prefilled and you can just click next.
If you use the MySQL container, choose the MySQL database in the settings and configure it:
mysql)rootmyPass)When clicking on next, a database connection is tried and if you get no error then it is successful.
You will be told to restart the container at the very end of the setup so iceScrum can start on your custom DB:
docker restart icescrum
If you use the PostgreSQL container, choose the PostgreSQL database in the settings and configure it:
postgres)postgresmyPass)When clicking on next, a database connection is tried and if you get no error then it is successful.
You will be told to restart the container at the very end of the setup so iceScrum can start on your custom DB:
docker restart icescrum
To migrate from one database to another:
Export the projects you want to keep from the running iceScrum application (project > export).
Stop the iceScrum container.
Change the DB configuration manually in the config.groovy file stored on your computer in the directory you defined, see https://www.icescrum.com/documentation/config-groovy-file/#database. If you come from HSQLDB, you can alternatively delete the hsqldb directory so the setup wizard will show up again on next startup.
Start the iceScrum container and import your projects (project > import).
Here is an example docker-compose.yml file that starts iceScrum and MySQL
version: '2'
services:
mysql:
image: icescrum/mysql
volumes:
- /mycomputer/is/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=myPass
icescrum:
image: icescrum/icescrum
ports:
- "8080:8080"
volumes:
- /mycomputer/is/home:/root
links:
- mysql
Start MySQL and iceScrum on a new mynet Docker network on Docker Native
docker network create --driver bridge mynet
docker run --name mysql -v ~/docker-is/mysql:/var/lib/mysql --net=mynet -e MYSQL_ROOT_PASSWORD=secretPass -d icescrum/mysql
docker run --name icescrum -v ~/docker-is/home:/root -p 8080:8080 --net=mynet icescrum/icescrum
Start iceScrum with HSLQDB on Docker Machine on port 8090 by retrieving the "default" VM IP automatically
docker run --name icescrum \
-e ICESCRUM_HOST=$(docker-machine ip default) \
-e ICESCRUM_PORT=8090 \
-v ~/docker-is/home:/root \
-p 8090:8080 \
icescrum/icescrum
Start iceScrum with HSLQDB on URL http://scrum.mydomain.com
docker run --name icescrum \
-e ICESCRUM_HOST=scrum.mydomain.com \
-e ICESCRUM_CONTEXT=/ \
-e ICESCRUM_PORT=80 \
-v ~/docker-is/home:/root \
-p 80:8080 \
icescrum/icescrum
The iceScrum Docker image is maintained by the company who develops iceScrum: Kagilum. More information on our website: https://www.icescrum.com/.
We would like to thank Caner Candan who was the first to develop and maintain an iceScrum docker image!
Content type
Image
Digest
Size
246.6 MB
Last updated
over 9 years ago
docker pull gykadsc/icescrum-docker