initial
This commit is contained in:
parent
6c87ad248c
commit
0d61f87aa8
24
utility/metrics/metrics.sh
Normal file
24
utility/metrics/metrics.sh
Normal file
@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
#i hope i can make this work
|
||||
# it runs and it works in offstage but not here...
|
||||
|
||||
#hmm this worked in the other account..
|
||||
|
||||
# Select an existing docker image tag
|
||||
VERSION=latest
|
||||
# Path to configured `settings.json`
|
||||
SETTINGS=/path/to/settings.json
|
||||
# Port used internally (use the same one than in `settings.json`)
|
||||
SERVICE_PORT=3000
|
||||
# Port to publish
|
||||
PUBLISHED_PORT=2002
|
||||
|
||||
docker run \
|
||||
-d \
|
||||
--rm \
|
||||
--name metrics \
|
||||
--entrypoint="" \
|
||||
-p=127.0.0.1:$PUBLISHED_PORT:$SERVICE_PORT \
|
||||
--volume=$SETTINGS:/metrics/settings.json \
|
||||
ghcr.io/lowlighter/metrics:$VERSION npm start
|
225
utility/metrics/settings.json
Normal file
225
utility/metrics/settings.json
Normal file
@ -0,0 +1,225 @@
|
||||
{
|
||||
"//": "Example of configuration for metrics web instance",
|
||||
"//": "====================================================================",
|
||||
|
||||
"token": "A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", "//": "GitHub Personal Token (required)",
|
||||
"modes": ["embed", "insights"], "//": "Web instance enabled modes",
|
||||
"restricted": [], "//": "Authorized users (empty to disable)",
|
||||
"maxusers": 0, "//": "Maximum users, (0 to disable)",
|
||||
"cached": 3600000, "//": "Cache time rendered metrics (0 to disable)",
|
||||
"ratelimiter": null, "//": "Rate limiter (see express-rate-limit documentation)",
|
||||
"port": 3000, "//": "Listening port",
|
||||
"optimize": true, "//": "SVG optimization",
|
||||
"debug": false, "//": "Debug logs",
|
||||
"debug.headless": false, "//": "Debug puppeteer process",
|
||||
"mocked": false, "//": "Use mocked data instead of live APIs (use 'force' to use mocked token even if real token are defined)",
|
||||
"repositories": 100, "//": "Number of repositories to use",
|
||||
"padding": ["0", "8 + 11%"], "//": "Image padding (default)",
|
||||
"outputs": ["svg", "png", "json"], "//": "Image output formats (empty to enable all)",
|
||||
"hosted": {
|
||||
"by": "ReachableCEO Dev Workstation", "//": "Web instance host (displayed in footer)",
|
||||
"link": "https://www.reachableceo.com", "//": "Web instance host link (displayed in footer)"
|
||||
},
|
||||
"oauth":{
|
||||
"id": null, "//": "GitHub OAUTH client id",
|
||||
"secret": null, "//": "GitHub OAUTH client secret",
|
||||
"url":"https://example.com", "//": "GitHub OAUTH callback url (must be the same as the web instance host)"
|
||||
},
|
||||
"api":{
|
||||
"rest": null, "//": "GitHub REST API custom endpoint",
|
||||
"graphql": null, "//": "GitHub GraphQL API custom endpoint"
|
||||
},
|
||||
"control":{
|
||||
"token": null, "//": "Control token (can be used by external services to perform actions on instance, such as stopping it for redeploys)"
|
||||
},
|
||||
"community": {
|
||||
"templates": [], "//": "Additional community templates to setup"
|
||||
},
|
||||
"templates": {
|
||||
"default": "classic", "//": "Default template",
|
||||
"enabled": [], "//": "Enabled templates (empty to enable all)"
|
||||
},
|
||||
"extras": {
|
||||
"default": false, "//": "Default extras state (advised to let 'false' unless in debug mode)",
|
||||
"features": false, "//": "Enable extra features (advised to let 'false' on web instances), see below for supported features",
|
||||
"//": "________________________________________________________________________",
|
||||
"//": "metrics.setup.community.templates | Allow community templates download",
|
||||
"//": "metrics.setup.community.presets | Allow community presets usage",
|
||||
"//": "metrics.api.github.overuse | Allow GitHub API intensive requests",
|
||||
"//": "metrics.api.* | Allow use of external API requests",
|
||||
"//": "metrics.cpu.overuse | Allow CPU intensive requests",
|
||||
"//": "metrics.run.tempdir | Allow access to temporary directory (I/O operations may be performed)",
|
||||
"//": "metrics.run.git | Allow to run git",
|
||||
"//": "metrics.run.licensed | Allow to run licensed",
|
||||
"//": "metrics.run.user.cmd | Allow to run ANY command by user (USE WITH CAUTION!)",
|
||||
"//": "metrics.run.puppeteer.scrapping | Allow to run puppeteer to scrape data",
|
||||
"//": "metrics.run.puppeteer.user.css | Allow to run CSS by user during puppeteer render",
|
||||
"//": "metrics.run.puppeteer.user.js | Allow to run JavaScript by user during puppeteer render",
|
||||
"//": "metrics.npm.optional.* | Allow use of specified dependency",
|
||||
"//": "________________________________________________________________________",
|
||||
"//": "Additional extra features when user is logged with GitHub",
|
||||
"logged": [
|
||||
"metrics.api.github.overuse"
|
||||
]
|
||||
},
|
||||
"plugins.default": false, "//": "Default plugin state (advised to let 'false' unless in debug mode)",
|
||||
"plugins": { "//": "Global plugin configuration",
|
||||
"isocalendar":{
|
||||
"enabled": false, "//": "Enable isocalendar plugin"
|
||||
},
|
||||
"languages":{
|
||||
"enabled": true, "//": "Enable languages plugin"
|
||||
},
|
||||
"stargazers":{
|
||||
"worldmap.token": null, "//": "Stargazers worldmap token",
|
||||
"enabled": false, "//": "Enable stargazers plugin"
|
||||
},
|
||||
"lines":{
|
||||
"enabled": true, "//": "Enable lines plugin"
|
||||
},
|
||||
"topics":{
|
||||
"enabled": true, "//": "Enable topics plugin"
|
||||
},
|
||||
"stars":{
|
||||
"enabled": true, "//": "Enable stars plugin"
|
||||
},
|
||||
"licenses":{
|
||||
"enabled": true, "//": "Enable licenses plugin"
|
||||
},
|
||||
"habits":{
|
||||
"enabled": true, "//": "Enable habits plugin"
|
||||
},
|
||||
"contributors":{
|
||||
"enabled": true, "//": "Enable contributors plugin"
|
||||
},
|
||||
"followup":{
|
||||
"enabled": true, "//": "Enable followup plugin"
|
||||
},
|
||||
"reactions":{
|
||||
"enabled": true, "//": "Enable reactions plugin"
|
||||
},
|
||||
"people":{
|
||||
"enabled": true, "//": "Enable people plugin"
|
||||
},
|
||||
"sponsorships":{
|
||||
"enabled": true, "//": "Enable sponsorships plugin"
|
||||
},
|
||||
"sponsors":{
|
||||
"enabled": true, "//": "Enable sponsors plugin"
|
||||
},
|
||||
"repositories":{
|
||||
"enabled": true, "//": "Enable repositories plugin"
|
||||
},
|
||||
"discussions":{
|
||||
"enabled": true, "//": "Enable discussions plugin"
|
||||
},
|
||||
"starlists":{
|
||||
"enabled": true, "//": "Enable starlists plugin"
|
||||
},
|
||||
"calendar":{
|
||||
"enabled": true, "//": "Enable calendar plugin"
|
||||
},
|
||||
"achievements":{
|
||||
"enabled": true, "//": "Enable achievements plugin"
|
||||
},
|
||||
"notable":{
|
||||
"enabled": true, "//": "Enable notable plugin"
|
||||
},
|
||||
"activity":{
|
||||
"enabled": true, "//": "Enable activity plugin"
|
||||
},
|
||||
"traffic":{
|
||||
"enabled": true, "//": "Enable traffic plugin"
|
||||
},
|
||||
"code":{
|
||||
"enabled": true, "//": "Enable code plugin"
|
||||
},
|
||||
"gists":{
|
||||
"enabled": true, "//": "Enable gists plugin"
|
||||
},
|
||||
"projects":{
|
||||
"enabled": true, "//": "Enable projects plugin"
|
||||
},
|
||||
"introduction":{
|
||||
"enabled": true, "//": "Enable introduction plugin"
|
||||
},
|
||||
"skyline":{
|
||||
"enabled": false, "//": "Enable skyline plugin"
|
||||
},
|
||||
"support":{
|
||||
"enabled": false, "//": "Enable support plugin"
|
||||
},
|
||||
"pagespeed":{
|
||||
"token": "PageSpeed token",
|
||||
"enabled": false, "//": "Enable pagespeed plugin"
|
||||
},
|
||||
"tweets":{
|
||||
"token": "Twitter API token",
|
||||
"enabled": false, "//": "Enable tweets plugin"
|
||||
},
|
||||
"stackoverflow":{
|
||||
"enabled": false, "//": "Enable stackoverflow plugin"
|
||||
},
|
||||
"anilist":{
|
||||
"enabled": false, "//": "Enable aniList plugin"
|
||||
},
|
||||
"music":{
|
||||
"token": "Music provider token",
|
||||
"enabled": false, "//": "Enable music plugin"
|
||||
},
|
||||
"posts":{
|
||||
"enabled": false, "//": "Enable posts plugin"
|
||||
},
|
||||
"rss":{
|
||||
"enabled": false, "//": "Enable rss plugin"
|
||||
},
|
||||
"wakatime":{
|
||||
"token": "664dd8b2-b73a-4f31-82ef-96ed424814d2",
|
||||
"enabled": true, "//": "Enable wakatime plugin"
|
||||
"url": "http://localhost:2001/api",
|
||||
"days": 7,
|
||||
"sections": "time, projects, projects-graphs",
|
||||
"limit": 4,
|
||||
},
|
||||
"leetcode":{
|
||||
"enabled": false, "//": "Enable leetcode plugin"
|
||||
},
|
||||
"steam":{
|
||||
"token": "Steam token",
|
||||
"enabled": false, "//": "Enable steam plugin"
|
||||
},
|
||||
"16personalities":{
|
||||
"enabled": false, "//": "Enable 16personalities plugin"
|
||||
},
|
||||
"chess":{
|
||||
"token": "Chess platform token",
|
||||
"enabled": false, "//": "Enable chess plugin"
|
||||
},
|
||||
"crypto":{
|
||||
"enabled": false, "//": "Enable crypto plugin"
|
||||
},
|
||||
"fortune":{
|
||||
"enabled": false, "//": "Enable fortune plugin"
|
||||
},
|
||||
"nightscout":{
|
||||
"enabled": false, "//": "Enable nightscout plugin"
|
||||
},
|
||||
"poopmap":{
|
||||
"token": "PoopMap API token",
|
||||
"enabled": false, "//": "Enable poopmap plugin"
|
||||
},
|
||||
"screenshot":{
|
||||
"enabled": false, "//": "Enable screenshot plugin"
|
||||
},
|
||||
"splatoon":{
|
||||
"token": "Splatnet token",
|
||||
"statink.token": null, "//": "stat.ink token",
|
||||
"enabled": false, "//": "Enable splatoon plugin"
|
||||
},
|
||||
"stock":{
|
||||
"token": "Yahoo Finance token",
|
||||
"enabled": false, "//": "Enable stock plugin"
|
||||
},
|
||||
"//": ""
|
||||
}
|
||||
}
|
8
utility/wakaapi/wakaapi.sh
Normal file
8
utility/wakaapi/wakaapi.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
docker run -d \
|
||||
-p 2001:3000 \
|
||||
-e "WAKAPI_PASSWORD_SALT=1234" \
|
||||
-v wakapi-data-tsys:/data \
|
||||
--name wakaapi-tsys \
|
||||
ghcr.io/muety/wakapi:latest
|
111
webapps/reactive-resume/docker-compose.yml
Normal file
111
webapps/reactive-resume/docker-compose.yml
Normal file
@ -0,0 +1,111 @@
|
||||
version: "3.8"
|
||||
|
||||
# In this Docker Compose example, it assumes that you maintain a reverse proxy externally (or chose not to).
|
||||
# The only two exposed ports here are from minio (:9000) and the app itself (:3000).
|
||||
# If these ports are changed, ensure that the env vars passed to the app are also changed accordingly.
|
||||
|
||||
services:
|
||||
# Database (Postgres)
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_DB: postgres
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
# Storage (for image uploads)
|
||||
minio:
|
||||
image: minio/minio
|
||||
restart: unless-stopped
|
||||
command: server /data
|
||||
ports:
|
||||
- "9000:9000"
|
||||
volumes:
|
||||
- minio_data:/data
|
||||
environment:
|
||||
MINIO_ROOT_USER: minioadmin
|
||||
MINIO_ROOT_PASSWORD: minioadmin
|
||||
|
||||
# Chrome Browser (for printing and previews)
|
||||
chrome:
|
||||
image: ghcr.io/browserless/chromium:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
TIMEOUT: 10000
|
||||
CONCURRENT: 10
|
||||
TOKEN: chrome_token
|
||||
EXIT_ON_HEALTH_FAILURE: true
|
||||
PRE_REQUEST_HEALTH_CHECK: true
|
||||
|
||||
app:
|
||||
image: amruthpillai/reactive-resume:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3000:3000"
|
||||
depends_on:
|
||||
- postgres
|
||||
- minio
|
||||
- chrome
|
||||
environment:
|
||||
# -- Environment Variables --
|
||||
PORT: 3000
|
||||
NODE_ENV: production
|
||||
|
||||
# -- URLs --
|
||||
PUBLIC_URL: http://localhost:3000
|
||||
STORAGE_URL: http://localhost:9000/default
|
||||
|
||||
# -- Printer (Chrome) --
|
||||
CHROME_TOKEN: chrome_token
|
||||
CHROME_URL: ws://chrome:3000
|
||||
|
||||
# -- Database (Postgres) --
|
||||
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/postgres
|
||||
|
||||
# -- Auth --
|
||||
ACCESS_TOKEN_SECRET: access_token_secret
|
||||
REFRESH_TOKEN_SECRET: refresh_token_secret
|
||||
|
||||
# -- Emails --
|
||||
MAIL_FROM: noreply@localhost
|
||||
# SMTP_URL: smtp://user:pass@smtp:587 # Optional
|
||||
|
||||
# -- Storage (Minio) --
|
||||
STORAGE_ENDPOINT: minio
|
||||
STORAGE_PORT: 9000
|
||||
STORAGE_REGION: us-east-1 # Optional
|
||||
STORAGE_BUCKET: default
|
||||
STORAGE_ACCESS_KEY: minioadmin
|
||||
STORAGE_SECRET_KEY: minioadmin
|
||||
STORAGE_USE_SSL: false
|
||||
STORAGE_SKIP_BUCKET_CHECK: false
|
||||
|
||||
# -- Crowdin (Optional) --
|
||||
# CROWDIN_PROJECT_ID:
|
||||
# CROWDIN_PERSONAL_TOKEN:
|
||||
|
||||
# -- Email (Optional) --
|
||||
# DISABLE_SIGNUPS: false
|
||||
# DISABLE_EMAIL_AUTH: false
|
||||
|
||||
# -- GitHub (Optional) --
|
||||
# GITHUB_CLIENT_ID: github_client_id
|
||||
# GITHUB_CLIENT_SECRET: github_client_secret
|
||||
# GITHUB_CALLBACK_URL: http://localhost:3000/api/auth/github/callback
|
||||
|
||||
# -- Google (Optional) --
|
||||
# GOOGLE_CLIENT_ID: google_client_id
|
||||
# GOOGLE_CLIENT_SECRET: google_client_secret
|
||||
# GOOGLE_CALLBACK_URL: http://localhost:3000/api/auth/google/callback
|
||||
|
||||
volumes:
|
||||
minio_data:
|
||||
postgres_data:
|
65
webapps/tube-archivist/docker-compose.yml
Normal file
65
webapps/tube-archivist/docker-compose.yml
Normal file
@ -0,0 +1,65 @@
|
||||
version: '3.5'
|
||||
|
||||
services:
|
||||
tubearchivist:
|
||||
container_name: tubearchivist
|
||||
restart: unless-stopped
|
||||
image: bbilly1/tubearchivist
|
||||
ports:
|
||||
- 8000:8000
|
||||
volumes:
|
||||
- media:/youtube
|
||||
- cache:/cache
|
||||
environment:
|
||||
- ES_URL=http://archivist-es:9200 # needs protocol e.g. http and port
|
||||
- REDIS_HOST=archivist-redis # don't add protocol
|
||||
- HOST_UID=1000
|
||||
- HOST_GID=1000
|
||||
- TA_HOST=tubearchivist.local # set your host name
|
||||
- TA_USERNAME=tubearchivist # your initial TA credentials
|
||||
- TA_PASSWORD=verysecret # your initial TA credentials
|
||||
- ELASTIC_PASSWORD=verysecret # set password for Elasticsearch
|
||||
- TZ=America/New_York # set your time zone
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
|
||||
interval: 2m
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
depends_on:
|
||||
- archivist-es
|
||||
- archivist-redis
|
||||
archivist-redis:
|
||||
image: redis/redis-stack-server
|
||||
container_name: archivist-redis
|
||||
restart: unless-stopped
|
||||
expose:
|
||||
- "6379"
|
||||
volumes:
|
||||
- redis:/data
|
||||
depends_on:
|
||||
- archivist-es
|
||||
archivist-es:
|
||||
image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.14.3
|
||||
container_name: archivist-es
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- "ELASTIC_PASSWORD=verysecret" # matching Elasticsearch password
|
||||
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
|
||||
- "xpack.security.enabled=true"
|
||||
- "discovery.type=single-node"
|
||||
- "path.repo=/usr/share/elasticsearch/data/snapshot"
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
volumes:
|
||||
- es:/usr/share/elasticsearch/data # check for permission error when using bind mount, see readme
|
||||
expose:
|
||||
- "9200"
|
||||
|
||||
volumes:
|
||||
media:
|
||||
cache:
|
||||
redis:
|
||||
es:
|
Loading…
Reference in New Issue
Block a user