{"id":22039466,"url":"https://github.com/mpolinowski/osticket-nomad","last_synced_at":"2026-04-29T16:38:52.239Z","repository":{"id":111484074,"uuid":"559159441","full_name":"mpolinowski/osticket-nomad","owner":"mpolinowski","description":"Deploying OSTicket - Docker, Docker-Compose and Hashicorp Nomad","archived":false,"fork":false,"pushed_at":"2022-10-29T09:02:09.000Z","size":3,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T13:14:36.830Z","etag":null,"topics":["docker","docker-compose","hashicorp-consul","hashicorp-nomad","osticket"],"latest_commit_sha":null,"homepage":"https://mpolinowski.github.io/docs/DevOps/Hashicorp/2022-10-25-hashicorp-nomad-for-osticket-part-ii/2022-10-25","language":"HCL","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/mpolinowski.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-29T08:40:10.000Z","updated_at":"2023-08-20T10:09:21.000Z","dependencies_parsed_at":"2023-05-09T17:16:51.179Z","dependency_job_id":null,"html_url":"https://github.com/mpolinowski/osticket-nomad","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mpolinowski/osticket-nomad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Fosticket-nomad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Fosticket-nomad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Fosticket-nomad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Fosticket-nomad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mpolinowski","download_url":"https://codeload.github.com/mpolinowski/osticket-nomad/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Fosticket-nomad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271405572,"owners_count":24753799,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["docker","docker-compose","hashicorp-consul","hashicorp-nomad","osticket"],"created_at":"2024-11-30T11:10:52.743Z","updated_at":"2026-04-29T16:38:52.203Z","avatar_url":"https://github.com/mpolinowski.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OSTicket\n\nDeploy OSTicket using Docker, Docker-Compose or Hashicorp Nomad.\n\n\n* [Provision OSticket with Docker](https://mpolinowski.github.io/docs/DevOps/Provisioning/2022-10-16--os-ticket-docker/2022-10-16)\n* [Hashicorp Nomad to set up an OSTicket Helpdesk - Part I](https://mpolinowski.github.io/docs/DevOps/Hashicorp/2022-10-21-hashicorp-nomad-for-osticket-part-i/2022-10-21)\n* [Hashicorp Nomad to set up an OSTicket Helpdesk - Part II](https://mpolinowski.github.io/docs/DevOps/Hashicorp/2022-10-25-hashicorp-nomad-for-osticket-part-ii/2022-10-25)\n* [OSTicket REST API Calls](https://mpolinowski.github.io/docs/DevOps/Provisioning/2022-10-27--os-ticket-rest-api/2022-10-27)\n\n\n## Docker\n\n[OSTicket recommends](https://docs.osticket.com/en/latest/Getting%20Started/Installation.html) to use the official Docker Image from [hub.docker.com](https://hub.docker.com/r/osticket/osticket/):\n\n\n```bash\ndocker pull osticket/osticket:latest\ndocker pull mariadb:latest\ndocker run --name osticket_mysql -d -e MYSQL_ROOT_PASSWORD=secret \\\n-e MYSQL_USER=osticket -e MYSQL_PASSWORD=secret -e MYSQL_DATABASE=osticket mariadb:latest\ndocker run --name osticket -d --link osticket_mysql:mysql -p 8080:80 osticket/osticket\n```\n\n\n## Docker-Compose\n\nBoth tasks - frontend and SQL backend - can be combined in a single `docker-compose.yml` file:\n\n\n```yml\nversion: '3.8'\nservices:\n\n  osticket-app:\n    image: osticket/osticket:latest\n    container_name: osticket\n    volumes:\n      - type: bind\n        source: ./src/include/i18n/de.phar\n        target: /var/www/src/public/include/i18n/de.phar\n        read_only: true\n    environment:\n      - CONTAINER_NAME=osticket\n      - MYSQL_USER=osticket\n      - MYSQL_HOST=osticket-db\n      - MYSQL_PASSWORD=secret\n      - MYSQL_DATABASE=osticket\n    ports:\n      - 8080:80\n    depends_on:\n      - osticket-db\n    networks:\n      - services\n    links:\n      - osticket-db\n    restart: unless-stopped\n\n  osticket-db:\n    image: mariadb:latest\n    container_name: osticket-db\n    volumes:\n      - /opt/osticket/db:/var/lib/mysql\n    environment:\n      - MYSQL_ROOT_PASSWORD=secret\n      - MYSQL_USER=osticket\n      - MYSQL_PASSWORD=secret\n      - MYSQL_DATABASE=osticket\n      - CONTAINER_NAME=osticket-db\n    networks:\n      - services\n    restart: unless-stopped\n\nnetworks:\n  services:\n    external: false\n```\n\n\n## Hashicorp Nomad \u0026 Consul\n\n\n```bash\njob \"osticket\" {\n  datacenters = [\"mydatacenter\"]\n    group \"osticket\" {\n        \n        network {\n            mode = \"host\"\n            port \"tcp\" {\n                static = 3306\n            }\n            port \"http\" {\n                static = 8080\n            }\n        }\n\n        update {\n            max_parallel = 1\n            min_healthy_time  = \"10s\"\n            healthy_deadline  = \"5m\"\n            progress_deadline = \"10m\"\n            auto_revert = true\n            auto_promote = true\n            canary = 1\n        }\n\n        volume \"osticket_db\" {\n            type      = \"host\"\n            read_only = false\n            source    = \"osticket_db\"\n        }\n\n        restart {\n            attempts = 10\n            interval = \"5m\"\n            delay    = \"25s\"\n            mode     = \"delay\"\n        }\n\n        service {\n            name = \"osticket-db\"\n            port = \"tcp\"\n            tags = [\n                \"database\"\n            ]\n\n            check {\n                name     = \"DB Health\"\n                port     = \"tcp\"\n                type     = \"tcp\"\n                interval = \"30s\"\n                timeout  = \"4s\"\n            }\n        }\n\n        service {\n            name = \"osticket-frontend\"\n            port = \"http\"\n            tags = [\n                \"frontend\"\n            ]\n\n            check {\n                name     = \"HTTP Health\"\n                path     = \"/\"\n                type     = \"http\"\n                protocol = \"http\"\n                interval = \"10s\"\n                timeout  = \"2s\"\n            }\n        }\n\n        task \"osticket-db\" {\n            driver = \"docker\"\n\n            config {\n                image = \"mariadb:latest\"\n                ports = [\"tcp\"]\n                network_mode = \"host\"\n                force_pull = false\n            }\n\n            volume_mount {\n                volume      = \"osticket_db\"\n                destination = \"/var/lib/mysql\" #\u003c-- in the container\n                read_only   = false\n            }\n\n            env {\n                MYSQL_ROOT_PASSWORD = \"secret\"\n                MYSQL_USER = \"osticket\"\n                MYSQL_PASSWORD = \"secret\"\n                MYSQL_DATABASE = \"osticket\"\n                CONTAINER_NAME = \"127.0.0.1\"\n            }\n        }\n\n        task \"osticket-frontend\" {\n            driver = \"docker\"\n\n            config {\n                image = \"my.gitlab.com:12345/osticket-docker:latest\"\n                ports = [\"http\"]\n                network_mode = \"host\"\n                force_pull = false\n\n                auth {\n                    username = \"mygitlabuser\"\n                    password = \"asecretpassword\"\n                }\n            }\n\n            env {\n                MYSQL_USER = \"osticket\"\n                MYSQL_HOST = \"127.0.0.1\"\n                MYSQL_PASSWORD = \"secret\"\n                MYSQL_DATABASE = \"osticket\"\n            }\n        }\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpolinowski%2Fosticket-nomad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmpolinowski%2Fosticket-nomad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpolinowski%2Fosticket-nomad/lists"}