{"id":22764990,"url":"https://github.com/ssherwood/alm-box","last_synced_at":"2025-06-13T08:06:00.004Z","repository":{"id":147774947,"uuid":"110470191","full_name":"ssherwood/alm-box","owner":"ssherwood","description":"Simple stack of ALM tools as a docker-compose","archived":false,"fork":false,"pushed_at":"2017-11-27T14:40:47.000Z","size":10,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-13T08:05:45.759Z","etag":null,"topics":["gogs","mailhog","spring-initializr","teamcity"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/ssherwood.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":"2017-11-12T21:20:33.000Z","updated_at":"2019-02-25T19:47:25.000Z","dependencies_parsed_at":"2023-05-27T11:30:49.734Z","dependency_job_id":null,"html_url":"https://github.com/ssherwood/alm-box","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ssherwood/alm-box","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssherwood%2Falm-box","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssherwood%2Falm-box/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssherwood%2Falm-box/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssherwood%2Falm-box/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ssherwood","download_url":"https://codeload.github.com/ssherwood/alm-box/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssherwood%2Falm-box/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259606868,"owners_count":22883556,"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":["gogs","mailhog","spring-initializr","teamcity"],"created_at":"2024-12-11T12:11:14.660Z","updated_at":"2025-06-13T08:05:59.978Z","avatar_url":"https://github.com/ssherwood.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ALM (in a) Box\n\nThis is a small example suite of ALM tools for doing CI/CD from a common git\nbased repository.  This suite is enabled by use of docker-compose to launch and\nlink the individual tools (and their required tooling).\n\n## Why?\n\nI am planning on using this for demo purposes and wanted a quick way to fire up\na complete suite of tools.  I opted for tooling that either had a small\nfootprint or other interesting characteristics to facilitate the demo.\n\n## ALM Tooling\n\n### [MailHog](https://github.com/mailhog/MailHog)\n\nSimple web and API based SMTP server for local testing.\n\n### [Gogs (Git)](https://gogs.io/)\n\nEasy and lightweight UI for managing Git repositories.  It can be run on a\nRaspberry Pi so it'll be perfect to run for a demo.\n\n#### Additional Info\n\n- https://github.com/gogits/gogs/tree/master/docker\n- https://github.com/gogits/gogs/issues/3026\n- https://github.com/gogits/go-gogs-client/wiki/Repositories\n\n### [TeamCity (CI/CD)](https://www.jetbrains.com/teamcity/)\n\nThis can be run freely as long as it has less than 20 Build configurations\n(jobs) and 3 Agents.  See [here](https://confluence.jetbrains.com/display/TCD10/Licensing+Policy) for more details.\n\n### MatterMost\n\nTODO\n\n### Spring Initializr (Code): https://start.spring.io/\n\nSimple starter apps based on Spring Boot.\n\n## Setup\n\nRun the ```init.sh``` script in the root directory to create the required\nfolders.  Then just run ```docker-compose up``` (sudo if needed).  To run in\nthe background, use the ```-d``` option.\n\nYou may need to get the latest version of docker and docker-compose installed.  See here:\n\n- https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/\n- https://docs.docker.com/compose/install/#install-compose\n\nInstall the ssh keys to TeamCity (the private key) and the public key to Gogs.\n\n## Add an entry in /etc/hosts\n\n```properties\n127.0.1.1   gogs\n127.0.1.1   teamcity-server\n```\n\nYou may need to add these to your noproxy configurations (if you are behind a proxy)\n\n### Initialize Gogs\n\n- Select the SQLite3 option\n- Replace \"localhost\" with \"gogs\" on the Domain and Application URL\n- Email Service Settings\n  - mailhog:1025\n  - gogs@s1pkicdemo.com\n- Server and Other Services Settings\n  - [x] Enable Mail Notifications\n  - [ ] Enable Federated Avatars Lookup\n  - [ ] Enable Captcha\n- Select OK\n- Log in and create the admin account via \"Sign up now\"\n- Add the public ssh key generated for TeamCity in the ./keys folder\n\n### Install the ssh keys to TeamCity (the private key) and the public key to Gogs\n\n- Click Proceed\n- Select HSQLDB (local database)\n- Accept License and disable anonoymous stats\n- Create the Admin account\n  - teamcity\n  - TeamCity\n  - teamcity@s1pkicdemo.com\n  - [x] Show date/time in my timezone\n  - [x] Add builds triggered by me to favorites\n- Go to Administration -\u003e Email Notifier\n  - mailhog\n  - 1025\n  - Test Connection\n- Add the Agent\n  - Select Agents -\u003e Unauthorized (there should be 1)\n  - Select the Agent named ```almbox_teamcity-agent_1```\n  - Click \"Authorize Agent\"\n- Setup the ssh keys\n  - Select the _Root build job\n  - Select \"SSH Keys\" on the left-hand menu\n  - Pick Upload SSH Keys and upload the file from ./keys (the private key)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssherwood%2Falm-box","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fssherwood%2Falm-box","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssherwood%2Falm-box/lists"}