Embracing the Messiness in Search of Epic Solutions

Category: Development Tools

  • Spring Boot: Restarting App using Dev Tools with IntelliJ IDEA

    Spring Boot provides spring-boot-devtools module that allows the app to “smartly” restart whenever the files on the classpath have changed. Because the rarely changed classes (ex: 3rd party JARs) are separated out into a different classloader from the app’s actively developed classes’ classloader, it allows Spring Boot to quickly restart the app compared to “cold… Read More…

  • Docker: Handling Circular Dependency between Containers

    PROBLEM Let’s assume we are going to run 3 containers:- Nginx is used to serve cleaner URLs through reverse proxies so that users will access http://server/jenkins and http://server/nexus instead of remembering specific ports. So, the simplified docker-compose.yml looks like this:- While http://server/jenkins and http://server/nexus work flawlessly, the Jenkins container is unable to communicate with Nexus… Read More…

  • Docker: Defining Custom Location for Named Volume

    PROBLEM Let’s assume we have the following docker-compose.yml: By the default, all Docker-managed named volumes are stored under the installed Docker directory… typically, /var/lib/docker/volumes/[path]. However, it is possible /var mount is low on disk space. SOLUTION It appears we can create a custom location for the given named volume:- Keep in mind /data/jenkins must be… Read More…

  • Synology NAS: Running CrashPlan in Docker Container

    BACKGROUND The reason to run CrashPlan in Docker container is to prevent any future Synology’s DSM updates from breaking the CrashPlan app. Let’s assume the Synology NAS IP address is 1.2.3.4. STEPS Diskstation Manager Log into Diskstation Manager: http://1.2.3.4:5000 Install Docker. Mac SSH into Synology NAS. Install CrashPlan Docker container. Run CrashPlan Docker container. In… Read More…

  • Git + Linux: (gnome-ssh-askpass:24871): Gtk-WARNING **: cannot open display:

    PROBLEM When running git clone on Linux, the following error appears:- SOLUTION To fix this, run the following command to disable gnome-ssh-askpass:- Now, git clone will work just fine:- To prevent this from happening again, add unset SSH_ASKPASS command to .bashrc file. Read More…

  • IntelliJ IDEA: Configuring Default Project Settings

    PROBLEM When creating or checking out a project for the first time in IntelliJ IDEA, we may need to reconfigure the project settings. My biggest pain is IntelliJ IDEA will always use the wrong Maven version when I check out the project from the source control. SOLUTION The good news is there is a way… Read More…