{"id":29532186,"url":"https://github.com/payback159/cockpit-docker","last_synced_at":"2026-02-06T14:32:25.623Z","repository":{"id":322330997,"uuid":"1075708528","full_name":"Payback159/cockpit-docker","owner":"Payback159","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-03T23:12:11.000Z","size":49,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-03T23:23:22.882Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Payback159.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-13T22:01:41.000Z","updated_at":"2025-11-03T23:09:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Payback159/cockpit-docker","commit_stats":null,"previous_names":["payback159/cockpit-docker"],"tags_count":null,"template":false,"template_full_name":"cockpit-project/starter-kit","purl":"pkg:github/Payback159/cockpit-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Payback159%2Fcockpit-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Payback159%2Fcockpit-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Payback159%2Fcockpit-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Payback159%2Fcockpit-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Payback159","download_url":"https://codeload.github.com/Payback159/cockpit-docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Payback159%2Fcockpit-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29164862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T12:44:37.655Z","status":"ssl_error","status_checked_at":"2026-02-06T12:44:13.991Z","response_time":59,"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":[],"created_at":"2025-07-16T23:07:23.433Z","updated_at":"2026-02-06T14:32:25.613Z","avatar_url":"https://github.com/Payback159.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cockpit Docker\n\nA [Cockpit](https://cockpit-project.org/) module for managing Docker and Docker Compose.\n\nThis project provides a modern web interface for managing Docker containers and Docker Compose projects through Cockpit.\n\n# Development dependencies\n\nOn Debian/Ubuntu:\n\n    sudo apt install gettext nodejs npm make\n\nOn Fedora:\n\n    sudo dnf install gettext nodejs npm make\n\n\n# Getting and building the source\n\nThese commands check out the source and build it into the `dist/` directory:\n\n```\ngit clone https://github.com/Payback159/cockpit-docker.git\ncd cockpit-docker\nmake\n```\n\n# Installing\n\n`make install` compiles and installs the package in `/usr/local/share/cockpit/`. The\nconvenience targets `srpm` and `rpm` build the source and binary rpms,\nrespectively. Both of these make use of the `dist` target, which is used\nto generate the distribution tarball. In `production` mode, source files are\nautomatically minified and compressed. Set `NODE_ENV=production` if you want to\nduplicate this behavior.\n\nFor development, you usually want to run your module straight out of the git\ntree. To do that, run `make devel-install`, which links your checkout to the\nlocation were cockpit-bridge looks for packages. If you prefer to do\nthis manually:\n\n```\nmkdir -p ~/.local/share/cockpit\nln -s `pwd`/dist ~/.local/share/cockpit/cockpit-docker\n```\n\nAfter changing the code and running `make` again, reload the Cockpit page in\nyour browser.\n\nYou can also use\n[watch mode](https://esbuild.github.io/api/#watch) to\nautomatically update the bundle on every code change with\n\n    ./build.js -w\n\nor\n\n    make watch\n\nWhen developing against a virtual machine, watch mode can also automatically upload\nthe code changes by setting the `RSYNC` environment variable to\nthe remote hostname.\n\n    RSYNC=c make watch\n\nWhen developing against a remote host as a normal user, `RSYNC_DEVEL` can be\nset to upload code changes to `~/.local/share/cockpit/` instead of\n`/usr/local`.\n\n    RSYNC_DEVEL=example.com make watch\n\nTo \"uninstall\" the locally installed version, run `make devel-uninstall`, or\nremove manually the symlink:\n\n    rm ~/.local/share/cockpit/cockpit-docker\n\n# Running eslint\n\nCockpit Docker uses [ESLint](https://eslint.org/) to automatically check\nJavaScript/TypeScript code style in `.js[x]` and `.ts[x]` files.\n\neslint is executed as part of `test/static-code`, aka. `make codecheck`.\n\nFor developer convenience, the ESLint can be started explicitly by:\n\n    npm run eslint\n\nViolations of some rules can be fixed automatically by:\n\n    npm run eslint:fix\n\nRules configuration can be found in the `.eslintrc.json` file.\n\n## Running stylelint\n\nCockpit uses [Stylelint](https://stylelint.io/) to automatically check CSS code\nstyle in `.css` and `scss` files.\n\nstyleint is executed as part of `test/static-code`, aka. `make codecheck`.\n\nFor developer convenience, the Stylelint can be started explicitly by:\n\n    npm run stylelint\n\nViolations of some rules can be fixed automatically by:\n\n    npm run stylelint:fix\n\nRules configuration can be found in the `.stylelintrc.json` file.\n\n# Running tests locally\n\nRun `make check` to build an RPM, install it into a standard Cockpit test VM\n(centos-9-stream by default), and run the test/check-application integration test on\nit. This uses Cockpit's Chrome DevTools Protocol based browser tests, through a\nPython API abstraction. Note that this API is not guaranteed to be stable, so\nif you run into failures and don't want to adjust tests, consider checking out\nCockpit's test/common from a tag instead of main (see the `test/common`\ntarget in `Makefile`).\n\nAfter the test VM is prepared, you can manually run the test without rebuilding\nthe VM, possibly with extra options for tracing and halting on test failures\n(for interactive debugging):\n\n    TEST_OS=centos-9-stream test/check-application -tvs\n\nIt is possible to setup the test environment without running the tests:\n\n    TEST_OS=centos-9-stream make prepare-check\n\nYou can also run the test against a different Cockpit image, for example:\n\n    TEST_OS=fedora-40 make check\n\n# Running tests in CI\n\nThese tests can be run in [Cirrus CI](https://cirrus-ci.org/), on their free\n[Linux Containers](https://cirrus-ci.org/guide/linux/) environment which\nexplicitly supports `/dev/kvm`. Please see [Quick\nStart](https://cirrus-ci.org/guide/quick-start/) how to set up Cirrus CI for\nyour project after forking from starter-kit.\n\nThe included [.cirrus.yml](./.cirrus.yml) runs the integration tests for two\noperating systems (Fedora and CentOS 8). Note that if/once your project grows\nbigger, or gets frequent changes, you may need to move to a paid account, or\ndifferent infrastructure with more capacity.\n\nTests also run in [Packit](https://packit.dev/) for all currently supported\nFedora releases; see the [packit.yaml](./packit.yaml) control file. You need to\n[enable Packit-as-a-service](https://packit.dev/docs/packit-service/) in your GitHub project to use this.\nTo run the tests in the exact same way for upstream pull requests and for\n[Fedora package update gating](https://docs.fedoraproject.org/en-US/ci/), the\ntests are wrapped in the [FMF metadata format](https://github.com/teemtee/fmf)\nfor using with the [tmt test management tool](https://docs.fedoraproject.org/en-US/ci/tmt/).\nNote that Packit tests can *not* run their own virtual machine images, thus\nthey only run [@nondestructive tests](https://github.com/cockpit-project/cockpit/blob/main/test/common/testlib.py).\n\n# Customizing\n\nAfter cloning the Starter Kit you should rename the files, package names, and\nlabels to your own project's name. Use these commands to find out what to\nchange:\n\n    find -iname '*starter*'\n    git grep -i starter\n\n# Automated release\n\nOnce your cloned project is ready for a release, you should consider automating\nthat. The intention is that the only manual step for releasing a project is to create\na signed tag for the version number, which includes a summary of the noteworthy\nchanges:\n\n```\n123\n\n- this new feature\n- fix bug #123\n```\n\nPushing the release tag triggers the [release.yml](.github/workflows/release.yml.disabled)\n[GitHub action](https://github.com/features/actions) workflow. This creates the\nofficial release tarball and publishes as upstream release to GitHub. The\nworkflow is disabled by default -- to use it, edit the file as per the comment\nat the top, and rename it to just `*.yml`.\n\nThe Fedora and COPR releases are done with [Packit](https://packit.dev/),\nsee the [packit.yaml](./packit.yaml) control file.\n\n# Automated maintenance\n\nIt is important to keep your [NPM modules](./package.json) up to date, to keep\nup with security updates and bug fixes. This happens with\n[dependabot](https://github.com/dependabot),\nsee [configuration file](.github/dependabot.yml).\n\n# Further reading\n\n * The [Starter Kit announcement](https://cockpit-project.org/blog/cockpit-starter-kit.html)\n   blog post explains the rationale for this project.\n * [Cockpit Deployment and Developer documentation](https://cockpit-project.org/guide/latest/)\n * [Make your project easily discoverable](https://cockpit-project.org/blog/making-a-cockpit-application.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpayback159%2Fcockpit-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpayback159%2Fcockpit-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpayback159%2Fcockpit-docker/lists"}