blog_os Docker & Self-Hosted Deployment

GitHub

HTML kernel & operating-system repository by @phil-opp. AI agent rules & system prompts with 18k stars.

17,773 stars HTML HTML 1 file ยท ~2,130 tokens #kernel#operating-system#rust#x86-64
1. Pull Image (DOCKERHUB) docker pull phil-opp/blog_os:latest
2. Docker Run (1-Click Launch) docker run -d --name blog_os --restart always phil-opp/blog_os:latest
3. Podman Run podman run -d --name blog_os --restart always phil-opp/blog_os:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/phil-opp/blog_os:latest
5. ORAS Pull (OCI Artifact) oras pull phil-opp/blog_os:latest
docker/Dockerfile
FROM rustlang/rust:nightly

ENV IMAGE_NAME=blog_os-docker

RUN apt-get update && \
    apt-get install -q -y --no-install-recommends \
    nasm \
    binutils \
    grub-common \
    xorriso \
    grub-pc-bin && \
    apt-get autoremove -q -y && \
    apt-get clean -q -y && \
    rm -rf /var/lib/apt/lists/* && \
    cargo install xargo && \
    rustup component add rust-src

ENV GOSU_VERSION 1.10

RUN set -ex; \
	\
	fetchDeps=' \
		ca-certificates \
		wget \
	'; \
	apt-get update; \
	apt-get install -y --no-install-recommends $fetchDeps; \
	rm -rf /var/lib/apt/lists/*; \
	\
	dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
	wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
	chmod +x /usr/local/bin/gosu; \
# verify that the binary works
	gosu nobody true; 

COPY entrypoint.sh /usr/local/bin/
COPY .bash_aliases /etc/skel/

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["/bin/bash"]