Compare commits

..
Author SHA1 Message Date
Rick Staa 53a6cda0b5 docs: improve action section 2025-12-27 18:33:44 +00:00
e254e07d33 docs: add github action as recommended usage method
Add new github action as recommended usage method now that we are no
longer sponsored by vercel and the hosted endpoint is not available
anymore.

Co-authored-by: Ulysses Zhan <UlyssesZhan@gmail.com>
Co-authored-by: Zohan Subhash <zohan.subhash@gmail.com>
Co-authored-by: Alexandr <qwerty541zxc@gmail.com>
2025-12-27 10:23:25 +01:00
9 changed files with 1 additions and 224 deletions
-36
View File
@@ -1,36 +0,0 @@
name: Push Develop
on:
push:
branches:
- 'main'
- 'develop'
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build image
uses: docker/build-push-action@v5
with:
context: .
file: docker/Dockerfile
# for this project, we keep docker in its own folder, to keep it isolated from upstream
push: true
platforms: linux/amd64,linux/arm64
tags: |
${{ vars.DOCKERHUB_TARGET }}:develop
-37
View File
@@ -1,37 +0,0 @@
name: Push Docker
on:
push:
tags:
- '*-*-*'
# for this project, we do "YYYY-MM-DD" for version numbers, due to unversioned upstream
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build image
uses: docker/build-push-action@v5
with:
context: .
file: docker/Dockerfile
# for this project, we keep docker in its own folder, to keep it isolated from upstream
push: true
platforms: linux/amd64,linux/arm64
tags: |
${{ vars.DOCKERHUB_TARGET }}:latest
${{ vars.DOCKERHUB_TARGET }}:${{ github.ref_name }}
-37
View File
@@ -1,37 +0,0 @@
name: Sync GitHub
on:
push:
branches:
- '**'
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure Git
run: |
git config --global user.name "Andrew Sync"
git config --global user.email "sync@digitaladapt.com"
- name: Add GitHub Remote
env:
SYNC_TOKEN: ${{ secrets.SYNC_GITHUB_TOKEN }}
SYNC_TARGET: ${{ vars.SYNC_GITHUB_TARGET }}
run: |
git remote add github "https://digitaladapt:${SYNC_TOKEN}@github.com/$SYNC_TARGET"
- name: Push Current Branch
run: |
git push github HEAD:${GITHUB_REF_NAME}
- name: Push Tags
run: |
git push github --tags
-3
View File
@@ -1,3 +0,0 @@
[Caddyfile]
indent_style = tab
-6
View File
@@ -1,6 +0,0 @@
readme-stats.example.com {
## optional, force all requests to return your github stats
#uri query username ${github_username:anuraghazra}
reverse_proxy readme_stats:${port:9000}
}
-36
View File
@@ -1,36 +0,0 @@
FROM node:lts-alpine
# environment variables
ENV port=9000
ENV github_username=anuraghazra
# setup folder within the docker container with this app's files
WORKDIR /app
COPY ./api /app/api
COPY ./scripts /app/scripts
COPY ./src /app/src
COPY ./themes /app/themes
COPY ./express.js /app/express.js
COPY ./package.json /app/package.json
COPY ./package-lock.json /app/package-lock.json
# prepare script uses a dev-dependency, so remove it,
# move express from dev-dependency to regular dependency
# then finally install all non-dev dependencies
RUN npm pkg delete scripts.prepare \
&& npm pkg set dependencies.express="$(node -p "require('./package.json').devDependencies.express")" \
&& npm pkg delete devDependencies.express \
&& npm ci --omit=dev
# healthcheck
HEALTHCHECK --interval=60m \
--retries=3 \
--start-interval=1s \
--start-period=10s \
--timeout=5s \
CMD wget --no-verbose -O - --tries=1 "http://127.0.0.1:$port/api/?username=$github_username" | grep 'GitHub Stats' || exit 1
# start the app, on the supplied port
EXPOSE $port
CMD [ "node", "express.js" ]
-28
View File
@@ -1,28 +0,0 @@
services:
readme_stats:
container_name: readme_stats
env_file:
- .env
expose:
- $port
init: true
image: digitaladapt/github-readme-stats:latest
restart: unless-stopped
caddy:
## optional, make caddy wait until the service is ready
#depends_on:
# readme_stats:
# condition: service_healthy
## optional, make variables in .env file available to use in your Caddyfile
#env_file:
# - .env
image: caddy:lates
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
-32
View File
@@ -1,32 +0,0 @@
Get dynamically generated GitHub stats on your READMEs, with the ease of docker!
Fork of [https://github.com/anuraghazra/github-readme-stats](https://github.com/anuraghazra/github-readme-stats), gently wrapped in docker.
Now as an image on Docker Hub.
**Steps to setup:**
* add the readme_stats service to your existing docker-compose.yml.
* configure your .env to have `PAT_1=<YOUR_GITHUB_TOKEN>`.
* optionally configure `port`, and `github_username`
* update your existing Caddyfile.
* and start with `docker compose up -d`.
docker-compose.yml.example, Caddyfile.example, and env.example have a very simple working example using Caddy reverse proxy.
Files have example in their name, so that when you update, your local settings won't be overridden.
```
git clone https://code.digitaladapt.com/andrew/github-readme-stats.git
cd github-readme-stats
cp docker-compose.yml.example docker-compose.yml
cp env.example .env
vim .env
# add your github token
cp Caddyfile.example Caddyfile
vim Caddyfile
# configure your domain
docker compose up -d
```
+1 -9
View File
@@ -18,14 +18,6 @@ router.get("/gist", gistCard);
app.use("/api", router);
const port = process.env.PORT || process.env.port || 9000;
const server = app.listen(port, "0.0.0.0", () => {
app.listen(port, "0.0.0.0", () => {
console.log(`Server running on port ${port}`);
});
/* stop gracefully when requested */
process.on("SIGTERM", () => {
console.log("stopping, received SIGTERM signal");
server.close(() => {
process.exit();
});
});