Installation types
We provide 4 ways of working with JHipster. If in doubt, choose our 2nd option, “Local installation with NPM”:
- JHipster Online is a way to generate an application without installing JHipster in the first place.
- “Local installation with NPM” is the classical way of working with JHipster. Everything is installed on your machine, which can be a little complex to set up, but that’s how most people usually work. In case of doubt, choose this installation.
- “Local installation with Yarn” is the same as classical “Local installation with NPM”, but using Yarn instead of NPM. Please note that Yarn is a lot less popular than NPM in our community, so this isn’t a recommended option for newcomers.
- The “Docker” container, which brings you a lightweight container with JHipster installed.
Docker 18.03 onward helps us with this with special DNS name host.docker.internal, which resolves to the internal IP address used by the host machine. This is for development purposes and will not work in a production outside of Docker Desktop for Windows or Docker Desktop for Mac. We recommend that you connect to the special DNS name host.docker.internal which resolves to the internal IP address used by the host. This is for development purpose and will not work in a production environment outside of Docker Desktop for Mac. You can also reach the gateway using gateway.docker.internal. $ docker-machine ip default 192.168.99.100 PDF - Download Docker for free Previous Next. This modified text is an extract of the original Stack Overflow Documentation created by following contributors and released under CC BY-SA 3.0. This website is. Install Docker for Mac. Install docker using brew cask install docker or directly from the website here. Start XQuartz from command line using open -a XQuartz. In the XQuartz preferences, go to the “Security” tab and make sure you’ve got “Allow connections from network clients” ticked: Host Machine IP. Both Docker Desktop for Mac and Docker Desktop for Windows include the newestversion of Docker Machine, so when you install either of these, you getdocker-machine. The new solutions come with their own native virtualization solutions ratherthan Oracle VirtualBox, so keep the following considerations in mind when usingMachine to create local VMs.
JHipster Online (for users wanting a simplified way to run JHipster)
JHipster Online allows you to generate JHipster applications, without having to install JHipster.
This is intended for people trying JHipster for the first time, or who want to have a look at what JHipster provides.
While it is easier to use, it is not the “full JHipster experience”, and once your application is generated you will still need to follow most of the steps from the next section (“Local installation with NPM”), as you will still need Java (to run your application) and NPM (to manage your front-end code).
In the future, we expect JHipster Online to provide more features.
Local installation with NPM (recommended for normal users)
Quick setup
- Install Java 11. We recommend you use AdoptOpenJDK builds, as they are open source and free.
- Install Node.js from the Node.js website (please use an LTS 64-bit version, non-LTS versions are not supported)
- Install JHipster:
npm install -g generator-jhipster
- (optional) If you want to use a module or a blueprint (for instance from the JHipster Marketplace), install Yeoman:
npm install -g yo
Now that JHipster is installed, your next step is to create an application
Optional installations
- Install a Java build tool.
- Whether you choose to use Maven or Gradle, you normally don’t have to install anything, as JHipster will automatically install the Maven Wrapper or the Gradle Wrapper for you.
- If you don’t want to use those wrappers, go to the official Maven website or Gradle website to do your own installation.
- Install Git from git-scm.com. We recommend you also use a tool like SourceTree if you are starting with Git.
- JHipster will try to commit your project to Git, if it is installed.
- The JHipster upgrade sub-generator requires to have Git installed.
Additional information
JHipster uses Yeoman for code generation.To find more information, tips and help, please have a look at the Yeoman “getting starting” guide before submitting a bug.
The configuration will be stored in a generated .yo-rc.json
file, so it is strongly recommended not to generate a JHipster project in your HOME directory. If you did it, you won’t be able to generate another project in a sub directory. To solve it, delete the .yo-rc.json
file.
Local installation with Yarn (alternative to NPM)
Quick setup
This is the same procedure as using NPM, with two differences:
- Install Yarn from the Yarn website
- Install JHipster:
yarn global add generator-jhipster
Troubleshooting
If you have problems using Yarn globally, be sure to have $HOME/.config/yarn/global/node_modules/.bin
in your path.
On Mac or Linux: export PATH='$PATH:`yarn global bin`:$HOME/.config/yarn/global/node_modules/.bin'
Docker installation (for advanced users only)
Please note: this Docker image is for running the JHipster generator inside a container. It’s completely different from the Docker and Docker Compose configurations that JHipster will generate, which goal is to run your generated application inside a container
Information
JHipster has a specific Dockerfile, which provides a Docker image.
It makes a Docker “Automated build” that is available on: https://hub.docker.com/r/jhipster/jhipster/
This image will allow you to run JHipster inside Docker.
Prerequisites
This depends on your operating system.
- Linux: Linux supports Docker out-of-box. You should follow the tutorial on the Docker website.
- Mac & Windows: install the Docker Toolbox to get Docker installed.
As the generated files are in your shared folder, they will not be deleted if you stop your Docker container. However, if you don’t want Docker to keep downloading all the Maven and NPM dependencies every time you start the container, you should commit its state or mount a volume.
DOCKER_HOST
will differ. On Linux, it will be your localhost.For Mac/Windows, you will have to obtain the IP using following command: docker-machine ip default
On Linux, you might need to run the docker
command as root user if your user is not part of docker group. It’s a good idea to add your user to docker group so that you can run docker commands as a non-root user. Follow the steps on http://askubuntu.com/a/477554 to do so.
Usage on Linux/Mac Windows (using Docker Toolbox)
Pull the image
Pull the latest JHipster Docker image:
docker image pull jhipster/jhipster
Pull the development JHipster Docker image:
docker image pull jhipster/jhipster:master
You can see all tags here
Run the image
Create a “jhipster” folder in your home directory:
mkdir ~/jhipster
Run the Docker image, with the following options:
- The Docker “/home/jhipster/app” folder is shared to the local “~/jhipster” folder
- Forward all ports exposed by Docker (8080 for the Java application, 9000 for BrowserSync, 3001 for the BrowserSync UI)
docker container run --name jhipster -v ~/jhipster:/home/jhipster/app -v ~/.m2:/home/jhipster/.m2 -p 8080:8080 -p 9000:9000 -p 3001:3001 -d -t jhipster/jhipster
Check if the container is running
To check that your container is running, use the command docker container ps
:
Common operations
- To stop the container run:
docker container stop jhipster
- And to start again, run:
docker container start jhipster
In case you update the Docker image (rebuild or pull from the Docker hub), it’s better to remove the existing container, and run the container all over again. To do so, first stop the container, remove it and then run it again:
docker container stop jhipster
docker container rm jhipster
docker image pull jhipster/jhipster
docker container run --name jhipster -v ~/jhipster:/home/jhipster/app -v ~/.m2:/home/jhipster/.m2 -p 8080:8080 -p 9000:9000 -p 3001:3001 -d -t jhipster/jhipster
Accessing the container
The easiest way to log into the running container is by executing following command:
docker container exec -it <container_name> bash
If you copy-pasted the above command to run the container, notice that you have to specify jhipster
as the container name:
docker container exec -it jhipster bash
You will log in as the “jhipster” user.
If you want to log in as “root”, as the sudo
command isn’t available in Ubuntu Xenial, you need to run:
docker container exec -it --user root jhipster bash
Your first project
You can then go to the /home/jhipster/app directory in your container, and start building your app inside Docker:
cd /home/jhipster/app
Docker For Mac Machine Ip Address
jhipster
jhipster --yarn
, to use Yarn instead of NPM.Once your application is created, you can run all the normal gulp/bower/maven commands, for example:
Docker For Mac Machine Ip Addresses
./mvnw
Congratulations! You’ve launched your JHipster app inside Docker!
On your machine, you should be able to:
- Access the running application at
http://DOCKER_HOST:8080
- Get all the generated files inside your shared folder
jhipster/jhipster
image.Docker For Mac Machine Iphone
So you won't be able to:
- use the docker-compose files
- build a Docker image with the docker daemon (Maven goal:
jib:dockerBuild
or Gradle task:jibDockerBuild
)
jib:build
or Gradle task: Docker For Mac Machine Ip Address
jibBuild