{"id":19178049,"url":"https://github.com/cmdruid/workbench-example","last_synced_at":"2025-09-01T16:38:42.232Z","repository":{"id":226180387,"uuid":"767978708","full_name":"cmdruid/workbench-example","owner":"cmdruid","description":"Demonstrates a bare-bones docker workbench, running a database, webserver, and bitcoin node.","archived":false,"fork":false,"pushed_at":"2024-03-06T08:53:02.000Z","size":7851,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-04T02:51:40.216Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/cmdruid.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":"2024-03-06T08:49:07.000Z","updated_at":"2024-03-06T20:32:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"86daa94f-9d71-454e-88ee-586fdc7dc42e","html_url":"https://github.com/cmdruid/workbench-example","commit_stats":null,"previous_names":["cmdruid/workbench-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdruid%2Fworkbench-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdruid%2Fworkbench-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdruid%2Fworkbench-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdruid%2Fworkbench-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cmdruid","download_url":"https://codeload.github.com/cmdruid/workbench-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240254917,"owners_count":19772510,"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":[],"created_at":"2024-11-09T10:36:31.113Z","updated_at":"2025-02-23T01:21:15.121Z","avatar_url":"https://github.com/cmdruid.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Workbench Example Template\n\nDemonstrates a bare-bones docker workbench, running a database, webserver, and bitcoin node.\n\n## How to Use\n\nRun the install script (for the web demo):\n\n`npm run ct:install`\n\nRun the start script (to start the container):\n\n`npm run ct:start`\n\nRun the login script (to get an interactive shell):\n\n`npm run ct:login`\n\nTo exit, type `exit` into the shell.\n\n## Live Demo\n\nWhen you start the container, it will print out a local IP address for you to use to connect.\n\nCheck out the example `getinfo` endpoint by opening this link in your browser (assuming your IP is 172.21.0.2):\n\n`http://172.21.0.2:3300/getinfo`\n\nYou should see some JSON data about the bitcoin node running inside the container. Pretty neat!\n\n## Container Filesystem\n\nThis section describes the file-system of the container and workbench.\n\n**img**: Root of the filesystem. All files in this path are copied to the root ('/') of the container at boot.\n\nThis filesystem is static. Changes made outside the container will require a restart of the container. Changes made inside the container will not persist.\n\n**img/bin**: All binaries that you want to pre-package with your container should go in here.\n\n**img/config**: Keep track of all your config files here.\n\n**img/scripts**: These are the startup scripts that initialize your container.\n\n**img/entrypoint.sh**: The entrypoint script that starts your container after it has been built. Mainly loops through the contents of `img/scripts`.\n\n**profile**: This script is called by the `/root/.bashrc` script on login. Useful for setting up your working environment when using a shell.\n\n**src**: This is where your source code should exist. Files in this path are mounted to the `/root/src` path inside the container.\n\nThis file-system is \"hot\" and mounted as read+write. Any changes made to files outside the container are reflected immediately.\n\n\u003e Note: Files created inside the container will have improper permissions set (to the container user), so you may have to use `chmod` on some occasions to switch permissions back to the host machine.\n\n\u003e There's are better ways to handle permissions when creating files on a mounted volume inside the container, but they are not implemented here in the demo.\n\n**Dockerfile**: The main dockerfile that prepares your container environment. This file should install and configure your desired packages and libraries, and setup your environment variables.\n\n**start.sh**: A light wrapper around the docker API. Used to clear existing containers, then spawn a new container.\n\n## Example Scripts\n\nI have included some example scripts in the `package.json` for launching the container in a node environment.\n\n## Questions / Issues\n\nFeel free to submit an issue if you have a question, or run into a bug. :-)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmdruid%2Fworkbench-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcmdruid%2Fworkbench-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmdruid%2Fworkbench-example/lists"}