{"id":18209034,"url":"https://github.com/kdabir/tomcat-instance-manager","last_synced_at":"2025-04-02T17:32:11.297Z","repository":{"id":5996880,"uuid":"7219634","full_name":"kdabir/tomcat-instance-manager","owner":"kdabir","description":"Manage multiple Tomcat instances on Windows using a single Tomcat installation","archived":false,"fork":false,"pushed_at":"2016-12-15T04:53:03.000Z","size":8,"stargazers_count":6,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-17T09:11:22.791Z","etag":null,"topics":["management","tomcat","windows"],"latest_commit_sha":null,"homepage":"","language":"Batchfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kdabir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-18T08:01:35.000Z","updated_at":"2023-05-19T09:10:32.000Z","dependencies_parsed_at":"2022-07-21T12:18:08.105Z","dependency_job_id":null,"html_url":"https://github.com/kdabir/tomcat-instance-manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdabir%2Ftomcat-instance-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdabir%2Ftomcat-instance-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdabir%2Ftomcat-instance-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdabir%2Ftomcat-instance-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kdabir","download_url":"https://codeload.github.com/kdabir/tomcat-instance-manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246860173,"owners_count":20845622,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["management","tomcat","windows"],"created_at":"2024-11-03T14:03:52.424Z","updated_at":"2025-04-02T17:32:11.050Z","avatar_url":"https://github.com/kdabir.png","language":"Batchfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"Tomcat Instance Manager\n=======================\n\nRun and Manage multiple Tomcat instances on Windows using a single Tomcat installation. \n\n## Download and Installation\nWe may clone this repository or just [Download](https://github.com/kdabir/tomcat-instance-manager/archive/master.zip) and extact the zip at desired location.\n\nSet the Environment Variable `CATALINA_HOME` to point to our Tomcat installation directory (not the Tomcat Instance manager scripts dir) and also set `JAVA_HOME` to point to Java installation.\n\n\n## Purpose\n\n*Tomcat Instance Manager* helps us create and manage multiple tomcat instance using same tomcat binaries. Different webapps/ micro-services can be then installed on different instances. All instances are isolated from each other, started on different ports and can be started/stopped/restarted without affecting other instances. \n\nTomcat can run out of same binaries with different configuration for each instance/environment. With tomcat instance manager, we can easily create multiple instances without having to install tomcat multiple times.\n\nIt also lets us create windows services per instance, so that we don't need to start/stop each instance from scripts (we can still do so if we want to). Installing service has its own pros and cons, which need not be discussed here.\n\nTomcat Instance Manger comes handy when:\n\n- We have two or more apps to run, let's say one REST API and a webapp that consumes the API. With Tomcat Instance Manager we can deploy all apps on different instances of tomcat.\n- We have multiple microservices to run locally.\n- When keeping one app always on, we need to develop test other apps such that one can be started as a background service whereas other instance can be used for development and restarted as necessary. \n- Simulating two different environments for a same app (let's say QA and Dev). \n- Just want to create a throwaway tomcat configuration without modifying our existing installation.\n- Deploying two different versions of same app and running them side-by-side to see differences.\n\n\n## Usage\n\n    \u003e tomcat6\n    USAGE :\n            tomcat6 create-instance {instance-name} {install-path}\n                    [service-name] [service-display-name] [service-description]\n            tomcat6 remove-instance {instance-name} {install-path}\n            tomcat6 start | stop | restart | clean\n            tomcat6 service start | stop | restart | run-in-console\n            tomcat6 service install | remove | edit | monitor\n            where {var} - mandatory param  [var] - optional param\n\nExample: once we download the project, we would have tomcat6/tomcat7 `.bat` files in the directory. Lets say we extract tomcat-instance-manager to `D:\\scripts\\`\n\nNow we want to create two instances of tomcat, calling it `default` instance (for some app to keep running on this instance, e.g. some REST services) and other as `dev` instance (which can be used to test the apps we are developing)\n\n### Creating instances\n\n*Creating `dev` instance*\n\n    D:\\scripts\u003etomcat6 create-instance tomcat-dev d:\\etc\\tomcat-profiles tcdev \"Tomcat dev Instance\"\n    D:\\sdk\\tomcat-6.0\\conf\\catalina.policy\n    D:\\sdk\\tomcat-6.0\\conf\\catalina.properties\n    D:\\sdk\\tomcat-6.0\\conf\\context.xml\n    D:\\sdk\\tomcat-6.0\\conf\\logging.properties\n    D:\\sdk\\tomcat-6.0\\conf\\server.xml\n    D:\\sdk\\tomcat-6.0\\conf\\tomcat-users.xml\n    D:\\sdk\\tomcat-6.0\\conf\\web.xml\n            7 file(s) copied.\n    Instance created successfully : d:\\etc\\tomcat-profiles\\tomcat-dev\n    Instance handler script created successfully\n\n*Creating `default` instance*\n\n    D:\\scripts\u003etomcat6 create-instance tomcat-default d:\\etc\\tomcat-profiles tcdefault \"Tomcat default Instance\"\n    D:\\sdk\\tomcat-6.0\\conf\\catalina.policy\n    D:\\sdk\\tomcat-6.0\\conf\\catalina.properties\n    D:\\sdk\\tomcat-6.0\\conf\\context.xml\n    D:\\sdk\\tomcat-6.0\\conf\\logging.properties\n    D:\\sdk\\tomcat-6.0\\conf\\server.xml\n    D:\\sdk\\tomcat-6.0\\conf\\tomcat-users.xml\n    D:\\sdk\\tomcat-6.0\\conf\\web.xml\n            7 file(s) copied.\n    Instance created successfully : d:\\etc\\tomcat-profiles\\tomcat-default\n    Instance handler script created successfully\n\n### Starting / Stopping instances\n\n*Starting `default` instance*\n\n    D:\\scripts\u003etomcat-default start\n    Using CATALINA_BASE:   d:\\etc\\tomcat-profiles\\tomcat-default\n    Using CATALINA_HOME:   D:\\sdk\\tomcat-6.0\n    Using CATALINA_TMPDIR: d:\\etc\\tomcat-profiles\\tomcat-default\\temp\n    Using JRE_HOME:        D:\\sdk\\jdk-1.6\n    Using CLASSPATH:       D:\\sdk\\tomcat-6.0\\bin\\bootstrap.jar\n    SERVER STARTED (IN A SEPERATE WINDOW)\n\n*Stopping `default` instance*\n\n    D:\\scripts\u003etomcat-default stop\n    Using CATALINA_BASE:   d:\\etc\\tomcat-profiles\\tomcat-default\n    Using CATALINA_HOME:   D:\\sdk\\tomcat-6.0\n    Using CATALINA_TMPDIR: d:\\etc\\tomcat-profiles\\tomcat-default\\temp\n    Using JRE_HOME:        D:\\sdk\\jdk-1.6\n    Using CLASSPATH:       D:\\sdk\\tomcat-6.0\\bin\\bootstrap.jar\n    SERVER STOPPED\n\n### Installing as Windows service\n\n*Installing `default` instance as service*\n\n    D:\\scripts\u003etomcat-default service install\n    SERVICE 'tcdefault'-'Apache Tomcat 'tomcat-default' instance based at d:\\etc\\tomcat-profiles\\tomcat-default' INSTALLED SUCCESSFULLY\n\n*Installing `dev` instance as service*\n\n    D:\\scripts\u003etomcat-dev service install\n    SERVICE 'tcdev'-'Apache Tomcat 'tomcat-dev' instance based at d:\\etc\\tomcat-profiles\\tomcat-dev' INSTALLED SUCCESSFULLY\n\n### Starting / Stopping service\n\n*Starting `dev` instance as service*\n\n    D:\\scripts\u003etomcat-dev service start\n    The Tomcat Dev Instance service is starting..\n    The Tomcat Dev Instance service was started successfully.\n\n*Stopping the `dev` instance as service*\n\n    D:\\scripts\u003etomcat-dev service stop\n    The Tomcat Dev Instance service was stopped successfully.\n\n### Monitor an installed instance service\n\n*Monitoring the `dev` instance service*\n\n    D:\\scripts\u003etomcat-dev service monitor\n\n### Editing a service\n\n*Editing the `dev` instance service*\n\n    D:\\scripts\u003etomcat-dev service edit\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdabir%2Ftomcat-instance-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkdabir%2Ftomcat-instance-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdabir%2Ftomcat-instance-manager/lists"}