forked from mirrored/github-readme-stats
Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53a6cda0b5 | ||
|
|
e254e07d33 |
@@ -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
|
|
||||||
|
|
||||||
@@ -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 }}
|
|
||||||
|
|
||||||
@@ -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,3 +0,0 @@
|
|||||||
[Caddyfile]
|
|
||||||
indent_style = tab
|
|
||||||
|
|
||||||
@@ -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}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -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" ]
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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
@@ -18,14 +18,6 @@ router.get("/gist", gistCard);
|
|||||||
app.use("/api", router);
|
app.use("/api", router);
|
||||||
|
|
||||||
const port = process.env.PORT || process.env.port || 9000;
|
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}`);
|
console.log(`Server running on port ${port}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
/* stop gracefully when requested */
|
|
||||||
process.on("SIGTERM", () => {
|
|
||||||
console.log("stopping, received SIGTERM signal");
|
|
||||||
server.close(() => {
|
|
||||||
process.exit();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|||||||
Reference in New Issue
Block a user