{"id":17269803,"url":"https://github.com/titpetric/undock","last_synced_at":"2026-04-28T11:36:04.910Z","repository":{"id":142931196,"uuid":"105870078","full_name":"titpetric/undock","owner":"titpetric","description":"Install a server with your Dockerfile","archived":false,"fork":false,"pushed_at":"2018-01-04T16:44:08.000Z","size":813,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T11:47:08.876Z","etag":null,"topics":["docker","installer","server","unwrap","vps"],"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/titpetric.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-10-05T09:11:26.000Z","updated_at":"2021-02-24T12:50:30.000Z","dependencies_parsed_at":"2023-06-03T23:30:52.434Z","dependency_job_id":null,"html_url":"https://github.com/titpetric/undock","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/titpetric/undock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titpetric%2Fundock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titpetric%2Fundock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titpetric%2Fundock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titpetric%2Fundock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/titpetric","download_url":"https://codeload.github.com/titpetric/undock/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titpetric%2Fundock/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32379617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T11:25:28.583Z","status":"ssl_error","status_checked_at":"2026-04-28T11:25:05.435Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["docker","installer","server","unwrap","vps"],"created_at":"2024-10-15T08:17:39.515Z","updated_at":"2026-04-28T11:36:04.902Z","avatar_url":"https://github.com/titpetric.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# undock\n\nInstall servers by using a Dockerfile\n\n\n\n## Requirements\n\nYou will need `rsync` installed and in your path.\n\nThe Dockerfile which you want to use as the installation script on your\nserver should be based on the same OS base image which you have installed.\n\nFor example:\n\n- OK: `FROM debian:stretch` for a Debian Stretch install,\n- POSSIBLY OK: `FROM debian:jessie` for a Debian Stretch install,\n- FAILURE: `FROM golang:1.8` or other custom images,\n- FAILURE: `FROM alpine:latest` on a Debian Stretch install\n\nSo, there's not a lot of mixing and matching that's enabled here. Basically\nwhat the project does is executes all the `RUN` commands that are listed\nin the Dockerfile, as if you were building a Docker image but instead runs\nthem on a supposedly clean install of your OS.\n\n## Caveats\n\nAside from the requirements, there are several parts of the Dockerfile which\nare just not supported, at all:\n\n- `FROM` (parent images and multi-stage builds),\n- `ENTRYPOINT` and `CMD`\n- `EXPOSE`\n- `HEALTHCHECK`\n\nand pretty much anything except `RUN`. If you think that some additional\ncoverage can be made (ie, converting a `HEALTHCHECK` into a cron job), I\nwill be fielding PR's to improve functionality.\n\n\n## Usage\n\nNavigate yourself to a folder which contains a `Dockerfile`.\n\n~~~\n# undock \u003e undock.sh\n~~~\n\nThe command will generate a bash script for you, which you can run with\n`bash undock.sh` in order to run the relevant commands.\n\n## Example output\n\n~~~\n#!/bin/bash\n# FROM debian:jessie -- not implemented (from)\n# ARG DEBIAN_FRONTEND=noninteractive -- not implemented (arg)\n# RUN apt-get -qq update \u0026\u0026 apt-get -qq -y install krb5-user dnsutils curl wget\napt-get -qq update \u0026\u0026 apt-get -qq -y install krb5-user dnsutils curl wget\n# ARG GITVERSION=development -- not implemented (arg)\n# ENV GITVERSION ${GITVERSION} -- not implemented (env)\n# COPY conf/krb5.conf /etc/krb5.conf\nrsync -ia [dockerfile path]conf/krb5.conf /etc/krb5.conf\n# ADD conf/run.sh /run.sh\ncp [dockerfile path]conf/run.sh /run.sh\n# RUN chmod +x /run.sh ; sync; sleep 1\nchmod +x /run.sh ; sync; sleep 1\n# WORKDIR /app -- not implemented (workdir)\n# ENTRYPOINT [\"/run.sh\"] -- not implemented (entrypoint)\n~~~\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftitpetric%2Fundock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftitpetric%2Fundock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftitpetric%2Fundock/lists"}