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
12 changed files with 2 additions and 252 deletions
-1
View File
@@ -1 +0,0 @@
host.env
-34
View File
@@ -1,34 +0,0 @@
name: Push Docker
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: .
push: true
platforms: linux/amd64,linux/arm64
tags: |
${{ vars.DOCKERHUB_TARGET }}:develop
-35
View File
@@ -1,35 +0,0 @@
name: Push Docker
on:
push:
tags:
- '[0-9.]+-[0-9]+-[0-9]+'
# 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: .
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
+1 -1
View File
@@ -1,5 +1,5 @@
.vercel
host.env
.env
node_modules
*.lock
.idea/
-4
View File
@@ -1,4 +0,0 @@
readme-stats.example.com {
reverse_proxy readme_stats:9000
}
-13
View File
@@ -1,13 +0,0 @@
FROM node:lts-alpine
# setup folder within the docker container with this app's files
WORKDIR /app
COPY . .
# add express.js as dependency and download node modules
RUN npm install express.js
# start the app, on the supplied port
EXPOSE $port
CMD [ "node", "express.js" ]
-46
View File
@@ -1,46 +0,0 @@
networks:
public:
external: true
services:
readme-stats:
build: .
container_name: readme-stats
env_file:
- .env
expose:
- ${port}
healthcheck:
test: wget --no-verbose -O - --tries=1 http://localhost:$$port/?username=$$GH_UN | grep 'GitHub Stats' || exit 1
interval: 60m # hourly
retries: 3
start_interval: 1s
start_period: 10s
timeout: 5s
init: true
labels:
- "com.centurylinklabs.watchtower.enable=false" # built, disable watchtower
- homepage.group=Sites
- homepage.name=Github Readme Stats
- homepage.icon=github
- homepage.href=https://readme.digitaladapt.com
- kuma.__docker
logging:
driver: syslog
options:
tag: readme_stats
networks:
- public
restart: always
user: ${USER_ID}:${GROUP_ID}
volumes:
- /etc/localtime:/etc/localtime:ro # read-only
# allow watchtower to monitor for update to base image, since our container is built
readme_stats_monitor:
container_name: readme_stats_monitor
entrypoint: "/bin/true"
image: node:lts-alpine
restart: no
user: ${USER_ID}:${GROUP_ID}
-30
View File
@@ -1,30 +0,0 @@
services:
readme_stats:
build: .
container_name: readme_stats
restart: unless-stopped
env_file:
- .env
expose:
- $port
healthcheck:
test: wget --no-verbose -O - --tries=1 http://localhost:$$port/?username=$$GH_UN | grep 'GitHub Stats' || exit 1
interval: 60m # hourly
retries: 3
start_interval: 1s
start_period: 10s
timeout: 5s
init: true
caddy:
image: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
depends_on:
- readme_stats
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
-7
View File
@@ -1,7 +0,0 @@
# github token
PAT_1=<YOUR_GITHUB_TOKEN>
# github username
GH_UN=<YOUR_GITHUB_USERNAME>
# port to listen on
port=9000
+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();
});
});
-35
View File
@@ -1,35 +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.
**Steps to setup:**
* clone this repo into a folder.
* copy docker-compose.yml.example to docker-compose.yml.
* copy env.example to .env and update.
* copy Caddyfile.example to Caddyfile and update.
* and start with `docker compose up -d`.
docker-compose.yml.example has a very simple Caddy reverse proxy, for automatic https.
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
```
You might ask, why should I trust your docker image?
The answer is, you don't have to, there isn't an image,
just a few commands in the Dockerfile, which you can and should look at.