{"id":18340624,"url":"https://github.com/friedcircuits/goliath-online","last_synced_at":"2026-04-12T00:32:12.745Z","repository":{"id":42510851,"uuid":"348915971","full_name":"FriedCircuits/goliath-online","owner":"FriedCircuits","description":"Docker container for all your DevOps needs. Goliath Online!","archived":false,"fork":false,"pushed_at":"2025-03-04T06:14:17.000Z","size":362,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T20:49:35.887Z","etag":null,"topics":["ansible","developer-tools","devops","docker","kubernetes","ssh","terraform","ubuntu","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FriedCircuits.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2021-03-18T02:29:11.000Z","updated_at":"2025-03-04T05:48:01.000Z","dependencies_parsed_at":"2025-04-09T20:45:02.086Z","dependency_job_id":"8e94a4ed-b311-4c7e-98a2-70c3732a5b01","html_url":"https://github.com/FriedCircuits/goliath-online","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/FriedCircuits/goliath-online","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FriedCircuits%2Fgoliath-online","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FriedCircuits%2Fgoliath-online/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FriedCircuits%2Fgoliath-online/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FriedCircuits%2Fgoliath-online/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FriedCircuits","download_url":"https://codeload.github.com/FriedCircuits/goliath-online/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FriedCircuits%2Fgoliath-online/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273257755,"owners_count":25073531,"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-09-02T02:00:09.530Z","response_time":77,"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":["ansible","developer-tools","devops","docker","kubernetes","ssh","terraform","ubuntu","zsh"],"created_at":"2024-11-05T20:23:14.904Z","updated_at":"2026-04-12T00:32:07.689Z","avatar_url":"https://github.com/FriedCircuits.png","language":"Shell","readme":"# Goliath On-line\n\nDocker container for all your DevOps needs. Goliath On-line!\n\nThis is a gaint docker container meant to be a portable DevOps environment you can take with you anywhere. Speed up your laptop setup or your onboarding process at your new job. They will be amazed!\n***\n\n## Features\n\n- Configurable at build time\n- Inject files at build time to home directory\n- Zsh Custom Prompt (spaceship|starship)\n- Docker CLI\n- SSH Server\n- Hashicorp tools\n- Gruntwork tools\n- Kubernetes CLI/Helm\n- Custom tmux/vim themes\n- Bashhub (Custom Server) via ENV\n\n***\n\n## Building\n\nThis image can be built as is out of the box, but there a few options you will want to configure.\n\n1. Copy `build.cfg.example` to `build.cfg` (Build script will do this for you if you want defaults)\n2. Edit `build.cfg`\n3. Adjust values for your setup. Some of the notable ones are explained below.\n    - `BUILD_USER` will be created and its home directory set as the working directory in the container.\n    - `GITHUB_TOKEN` set to avoid Github rate limiting\n    - `IMAGE_PUSH` will set if the image should be pushed after a successful build or not.\n    - `IMAGE_SERVICE` sets if you want to push to Docker Hub or AWS. Be sure to configure the appropriate values.\n4. Edit the playbook to configure what options you want enabled.\n\nMore info: **[Bashhub](#bashhub)**\n\n### Custom Home Files\n\nDuring the build process you can inject files to be part of the image by\nplacing them in `ansible/files/`.\nThese files and directories will be copied to the build users home\ndirectory. For example if you want your ssh keys copied, you can plop them in `.ssh` and they will be injected during build time.\n\n### Running the build\n\nOnce you are happy with your configuation run the follow.\n\n```shell\n./docker_build.sh\n```\n\n***\n\n## Use Cases\n\nThis container can be configured for different roles. Here are few examples to get started.\n\n### Server\n\n By enabling the SSH server feature you can run as a server for remote\n devops. For example, running on a remote docker server or kubernetes cluster with SSH exposed so you can ssh from your workstation.\n\n Be sure to enable `ssh_server: yes` in the ansible playbook `ubuntu-docker.yml`.\n\n### Local\n\nIf you want to run the container locally you can run it on demand or keep it running in the background and `docker exec -it` when needed. If SSH server is enabled you could SSH in locally to the container.\n\nWhen using the container locally you may want to mount your local enviroment so it can be used seamlessly.\n\nSome examples of mounting your local enviornment. Add the following to your `docker run` command.\n\n- `-v ~/.ssh:/home/$BUILD_USER/.ssh`\n- `-v ~/.zhistory:/home/$BUILD_USER/.zhistory`\n- `-v ${IMAGE_NAME}:/home/$BUILD_USER`\n- `-v //var/run/docker.sock:/var/run/docker.sock`\n- `-e SSH_AUTH_SOCK=${SSH_AUTH_SOCK} -v $SSH_AUTH_SOCK:${SSH_AUTH_SOCK}`\n\nYou could map your entire home directory to the containers user but it's not recommended.\n\n- `-v ~/:/home/$BUILD_USER`\n\n***\n\n## Running the Container\n\nEdit `docker_run.sh` for an example of mounting various home dir configs.\n\n```shell\n./docker_run.sh\n```\n\n***\n\n## Referances\n\n***\n\n## Bashhub\n\nBashhub allows you to sync your bash or zshell history to the cloud or your own private server. You can set the address of your private server at build time via `build.cfg` or run time via\nDocker Env.\n\n`-e BH_URL=https://supersecret-bashhub.homelab`\n\n**Note:** If already set at build time, the run time env won't override it. Either disable during build or remove from `~/.zshrc.custom` for the curren session and relogin.\n\nhttps://github.com/nicksherron/bashhub-server\nhttps://github.com/rcaloras/bashhub-client\n\n## Fonts\n\nhttps://github.com/tonsky/FiraCode/wiki/Installing\n\n## Ideas\n\n- Option to sync shell history to S3 on write.\n- Option to sync fasd db.\n- Autorun bashhub setup on first login via flag file.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriedcircuits%2Fgoliath-online","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffriedcircuits%2Fgoliath-online","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriedcircuits%2Fgoliath-online/lists"}