{"id":34646086,"url":"https://github.com/di-zed/docker-teamcity","last_synced_at":"2026-04-10T11:01:31.904Z","repository":{"id":275988609,"uuid":"805246413","full_name":"di-zed/docker-teamcity","owner":"di-zed","description":"Docker Compose for working with TeamCity","archived":false,"fork":false,"pushed_at":"2025-03-08T14:02:05.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-08T14:29:32.671Z","etag":null,"topics":["agent","ci-cd","cicd","docker","docker-compose","mysql","teamcity"],"latest_commit_sha":null,"homepage":"https://github.com/di-zed/docker-teamcity","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/di-zed.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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":"2024-05-24T07:18:49.000Z","updated_at":"2025-03-08T14:01:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"425ccc0c-a37e-4ce8-884e-37ce09bb9bae","html_url":"https://github.com/di-zed/docker-teamcity","commit_stats":null,"previous_names":["di-zed/docker-teamcity"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/di-zed/docker-teamcity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/di-zed%2Fdocker-teamcity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/di-zed%2Fdocker-teamcity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/di-zed%2Fdocker-teamcity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/di-zed%2Fdocker-teamcity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/di-zed","download_url":"https://codeload.github.com/di-zed/docker-teamcity/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/di-zed%2Fdocker-teamcity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31639524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["agent","ci-cd","cicd","docker","docker-compose","mysql","teamcity"],"created_at":"2025-12-24T17:45:58.691Z","updated_at":"2026-04-10T11:01:31.866Z","avatar_url":"https://github.com/di-zed.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DiZed Docker Compose for working with TeamCity\n\n## Overview of installing Docker Compose\n\nhttps://docs.docker.com/compose/install/\n\n## Structure\n\n**The most interesting folders:**\n\n1. **./local** Folder for local changes. It can be convenient to use it together with the docker-compose.local.yml file.\n2. **./volumes** The folder with Docker Volumes in Linux structure.\n   1. **./volumes/data/teamcity_agent/conf/** Configuration files for agents.\n   2. **./volumes/data/teamcity_server/datadir/** Server data dir.\n   3. **./volumes/opt/buildagent_1/logs/** Build Agent 01 log files.\n   4. **./volumes/opt/buildagent_2/logs/** Build Agent 02 log files.\n   5. **./volumes/opt/buildagent_3/logs/** Build Agent 03 log files.\n   6. **./volumes/opt/teamcity/logs/** TeamCity log files.\n\n## Setup\n\n1. Copy the *./.env.sample* file to the *./.env*. Check it and edit some parameters if needed.\n2. Copy the *./volumes/data/teamcity_agent/conf/agent1/buildAgent.properties.sample* file to the *.volumes/data/teamcity_agent/conf/agent1/buildAgent.properties* for configuration Agent 1.\n3. Copy the *./volumes/data/teamcity_agent/conf/agent2/buildAgent.properties.sample* file to the *.volumes/data/teamcity_agent/conf/agent2/buildAgent.properties* for configuration Agent 2.\n4. Copy the *./volumes/data/teamcity_agent/conf/agent3/buildAgent.properties.sample* file to the *.volumes/data/teamcity_agent/conf/agent3/buildAgent.properties* for configuration Agent 3.\n5. **Optional.** Copy the *./docker-compose.local.yml.sample* file to the *./docker-compose.local.yml* and edit it, if you need some changes in the Docker configurations locally.\n6. **Optional.** If you want to have local domains for TeamCity, you need to:\n   1. Configure proxy. For example, Nginx. You can use *./docker-compose.local.yml* file and *./local* folder for this.\n   2. Add the data to your local */etc/hosts* file, like:\n    ```text\n    127.0.0.1 teamcity.loc\n    ```\n7. **Optional.** If you get error about permission problems, please do:\n   ```shell\n   sudo chown -R 1000:1000 ./volumes/data/teamcity_server/datadir\n   sudo chown -R 1000:1000 ./volumes/opt/teamcity/logs\n   make docker-restart\n   ```\n8. If everything is done correctly, then after starting Docker, the project will be available via the link http://localhost:8111/. Please proceed and continue with setup.\n9. Database connection setup.\n   1. Select MySQL database type.\n   2. Download JDBC driver for MySQL database type and put it into the *./volumes/data/teamcity_server/datadir/lib/jdbc*.\n      1. For example, the file can be downloaded here: https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/.\n      2. The file name: [mysql-connector-java-8.0.30.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar).\n   3. Create an empty database.\n10. After installation, when you first log in, it is recommended to change the Encryption Key.\n    1. Login to TeamCity.\n    2. Admin =\u003e Server Administration =\u003e Global Settings =\u003e Encryption Settings.\n    3. Check the **Use custom encryption key** box, set the **Custom encryption key**, and save settings. It is recommended to remember this key somehow.\n\n## Process\n\n**Docker Build**\n```shell\ndocker-compose build\n```\n\n**Docker Up (one of them)**\n```shell\ndocker-compose up -d\n```\n```shell\nmake docker-local-up\n```\n\n**Docker Stop (one of them)**\n```shell\ndocker-compose stop\n```\n```shell\nmake docker-local-stop\n```\n\n**Docker Restart (one of them)**\n```shell\nmake docker-restart\n```\n```shell\nmake docker-local-restart\n```\n\n## Containers\n\n### MySQL (8.4.0)\n\n- Host: mysql\n- Port: 3306\n- User: {see .env file}\n- Password: {see .env file}\n\n### TeamCity Server (2024.12.1)\n\n- Host: teamcity\n- Port: 8111\n- URL: http://localhost:8111/\n\n### TeamCity Agent 1 (2024.12.1)\n\n- Host: teamcity-agent-1\n- Config file: *./volumes/data/teamcity_agent/conf/agent1/buildAgent.properties*\n\n### TeamCity Agent 2 (2024.12.1)\n\n- Host: teamcity-agent-2\n- Config file: *./volumes/data/teamcity_agent/conf/agent2/buildAgent.properties*\n\n### TeamCity Agent 3 (2024.12.1)\n\n- Host: teamcity-agent-3\n- Config file: *./volumes/data/teamcity_agent/conf/agent3/buildAgent.properties*\n\n## TeamCity Backup\n\n[Creating Backup via maintainDB command-line tool.](https://www.jetbrains.com/help/teamcity/creating-backup-via-maintaindb-command-line-tool.html)\n\nThere is a script ([tc-backup.sh](https://github.com/di-zed/docker-teamcity/blob/main/tc-backup.sh)) in the project root that can help you backup your project settings.\nIt can be executed when Docker is running.\n\n```shell\nbash tc-backup.sh\n```\n\n**ATTENTION!** The scenario for this script was developed independently. It cannot 100% guarantee that it does not contain sensitive data!\n\nAs a result of executing the script, two arrays will appear in the root of the project:\n- TeamCity_Backup_\\*_\\*_sanitized.zip (basic backup without sensitive data)\n- TeamCity_Backup_\\*_\\*_sensitive.zip (very sensitive data, better to store separately from backup)\n\n[Restoring TeamCity Data from Backup.](https://www.jetbrains.com/help/teamcity/restoring-teamcity-data-from-backup.html)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdi-zed%2Fdocker-teamcity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdi-zed%2Fdocker-teamcity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdi-zed%2Fdocker-teamcity/lists"}