Skip to content

Commit

Permalink
chore: Add Dockerfile and GitHub Actions workflow for building and re…
Browse files Browse the repository at this point in the history
…leasing fastfetch image
  • Loading branch information
dragonfire1119 committed May 21, 2024
1 parent a66716d commit f2dc968
Show file tree
Hide file tree
Showing 6 changed files with 148 additions and 0 deletions.
47 changes: 47 additions & 0 deletions .github/workflows/build_and_release_for_fastfetch.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: "Build and release for fastfetch"

on:
push:
branches:
- main
paths:
- "fastfetch/**"

jobs:
create:
name: "Creates the newest release by version"
runs-on: "ubuntu-latest"

steps:
- name: Checkout project
uses: actions/[email protected]

# New step to read the VERSION file and set the version as an output
- name: Get the version
id: get_version
run: echo "fastfetch_version=$(cat fastfetch/VERSION)" >> $GITHUB_ENV

- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all

- name: Set up Docker Build
uses: docker/setup-buildx-action@v3

- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v3
with:
push: true
platforms: linux/amd64,linux/arm64
context: ./fastfetch
file: ./fastfetch/Dockerfile
tags: |
bigbeartechworld/big-bear-fastfetch:latest
bigbeartechworld/big-bear-fastfetch:${{ env.fastfetch_version }}
33 changes: 33 additions & 0 deletions fastfetch/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
FROM ubuntu:22.04

# Install required packages and add the PPA for fastfetch
RUN apt-get update && \
apt-get install -y software-properties-common && \
add-apt-repository ppa:zhangsongcui3371/fastfetch && \
apt-get update && \
apt-get install -y \
procps \
curl \
iproute2 \
git \
golang-go \
vim \
fastfetch \
&& apt-get clean

# Clone, build, and install gotty
RUN git clone https://github.com/sorenisanerd/gotty.git /tmp/gotty && \
cd /tmp/gotty && \
go build && \
mv gotty /usr/local/bin/ && \
cd / && \
rm -rf /tmp/gotty

# Set the terminal to support UTF-8
ENV LANG C.UTF-8

# Expose the port gotty will run on
EXPOSE 7681

# Start gotty and run ncdu with the specified path
CMD ["gotty", "-p", "7681", "-w", "fastfetch"]
36 changes: 36 additions & 0 deletions fastfetch/Dockerfile.ttyd
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
FROM debian:latest

# Install required packages and add the PPA for fastfetch
RUN apt-get update && \
apt-get install -y software-properties-common && \
add-apt-repository ppa:zhangsongcui3371/fastfetch && \
apt-get update && \
apt-get install -y \
procps \
curl \
iproute2 \
git \
golang-go \
vim \
fastfetch \
&& apt-get clean

# Clone, build, and install ttyd
RUN git clone https://github.com/tsl0922/ttyd.git /tmp/ttyd && \
cd /tmp/ttyd && \
mkdir build && \
cd build && \
cmake .. && \
make && \
make install && \
cd / && \
rm -rf /tmp/ttyd

# Set the terminal to support UTF-8
ENV LANG C.UTF-8

# Expose the port ttyd will run on
EXPOSE 7681

# Start ttyd and run btop
CMD ["ttyd", "-p", "7681", "-W", "fastfetch"]
7 changes: 7 additions & 0 deletions fastfetch/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Instructions to build and run the Docker image

# Build docker image with:

```
docker build . -t big-bear-fastfetch
```
1 change: 1 addition & 0 deletions fastfetch/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.0.1
24 changes: 24 additions & 0 deletions fastfetch/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
version: "3.8" # Specify the version of the Docker Compose file format

services:
# Define the service named 'big-bear-fastfetch'
big-bear-fastfetch:
# Build the Docker image using the Dockerfile in the current directory
build: .
# Name the container 'big-bear-fastfetch' for easier identification
container_name: big-bear-fastfetch
# Run the container in privileged mode to allow access to system metrics
privileged: true
# Mount necessary volumes for accessing system information
volumes:
# Mount the host's /proc directory to the container's /proc directory
- /proc:/proc
# Mount the host's /sys directory to the container's /sys directory
- /sys:/sys
# Mount the host's /dev directory to the container's /dev directory
- /dev:/dev
# Mount the host's /etc/localtime file to the container's /etc/localtime file (read-only)
- /etc/localtime:/etc/localtime:ro
# Map port 7681 on the host to port 7681 on the container
ports:
- "7681:7681"

0 comments on commit f2dc968

Please sign in to comment.