pascaliske / infrastructure Goto Github PK
View Code? Open in Web Editor NEWFlux based GitOps repository for my home lab infrastructure.
Home Page: https://k8s.pascaliske.dev
License: MIT License
Flux based GitOps repository for my home lab infrastructure.
Home Page: https://k8s.pascaliske.dev
License: MIT License
prom/node-exporter
budry/cadvisor-arm
ekofr/pihole-exporter
jessestuart/unifi_exporter
golift/unifi-poller
SeaLife/fritzbox_exporter
(see Prometheus und die Fritzbox)shrunbr/speedtest-exporter-arm
Other links:
minio
with minio-console
velero
using vmware-tanzu/velero
fsfreeze
is available in all deployments with PVC'sminio
as backup storage providerBackupStorageLocation
manifestsSchedule
manifestsblocky
using k8s-at-home/blocky
cloudflared
blocky
and cloudflared
with two replicasdozzle.iske.cloud
(see https://github.com/amir20/dozzle#changing-base-url)prometheus.iske.cloud
grafana.iske.cloud
unifi.iske.cloud
(see https://blog.ktz.me/traefik-v2-and-unifi-controller-in-docker/)pihole.iske.cloud
(see https://www.reddit.com/r/pihole/comments/fy8zmu/pihole_traefik_dnsovertls/)homeassistant.iske.cloud
(see https://community.home-assistant.io/t/home-assistant-in-docker-hosts-mode-with-traefik-2-and-lets-encrypt-working-sample/190476/7?u=pascaliske)portainer.iske.cloud
expose
for improved securitydefault
network into separate networks (proxy
, monitoring
, ...) for improved securityhttps
endpoint and SSL certificates for reverse proxy mkcert
README.md
filemealie
using k8s-at-home/mealie
IngressRoute
: mealie.{{ domain }}
fail2ban
needed after the cluster migration?traefik
inside k3s
?This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
ansible/requirements.yml
cluster/base/flux-system/gotk-components.yaml
fluxcd/flux2 v2.3.0
cluster/base/flux-system/gotk-sync.yaml
cluster/core/cert-manager/helm-release.yaml
cert-manager v1.15.2
cluster/core/cloudnative-pg/helm-release.yaml
cloudnative-pg 0.21.6
cluster/core/crowdsec/helm-release.yaml
crowdsec 0.11.0
cluster/core/kured/helm-release.yaml
kured 5.5.0
cluster/core/node-problem-detector/helm-release.yaml
node-problem-detector 2.3.13
cluster/core/traefik-errors/helm-release.yaml
traefik-errors 4.0.0
cluster/core/traefik/helm-release.yaml
traefik 30.0.2
cluster/core/trivy-operator/helm-release.yaml
trivy-operator 0.24.1
cluster/core/velero/helm-release.yaml
velero 7.1.4
cluster/crds/kube-prometheus-stack/source.yaml
kube-prometheus-stack-source kube-prometheus-stack-61.8.0
cluster/crds/traefik/source.yaml
traefik-source v30.0.2
cluster/crds/trivy-operator/source.yaml
trivy-operator-source v0.22.0
cluster/crds/velero/source.yaml
velero-source velero-7.1.4
cluster/services/authelia/helm-release.yaml
authelia 0.9.3
cluster/services/blocky/helm-release.yaml
blocky 10.5.2
cluster/services/clickhouse/helm-release.yaml
clickhouse 0.3.1
cluster/services/cloudflared/helm-release.yaml
cloudflared 2.0.4
cluster/services/code-server/helm-release.yaml
code-server 2.0.0
cluster/services/descheduler/helm-release.yaml
descheduler 0.30.1
cluster/services/dyndns/helm-release.yaml
cloudflare-dyndns 0.1.2
cluster/services/gitlab/helm-release.yaml
gitlab 3.1.1
cluster/services/gitlab/runner/helm-release.yaml
gitlab-runner 0.67.1
cluster/services/hammond/helm-release.yaml
hammond 1.0.0
cluster/services/home-assistant/helm-release.yaml
home-assistant 13.4.2
cluster/services/homer/helm-release.yaml
homer 2.1.1
cluster/services/linkding/helm-release.yaml
linkding 2.0.0
cluster/services/monitoring/cloudflare-exporter/helm-release.yaml
cloudflare-exporter 0.2.1
cluster/services/monitoring/fritzbox-exporter/helm-release.yaml
fritzbox-exporter 2.0.3
cluster/services/monitoring/kube-prometheus-stack/helm-release.yaml
kube-prometheus-stack 61.8.0
cluster/services/monitoring/loki/helm-release.yaml
loki 6.10.0
cluster/services/monitoring/plausible-exporter/helm-release.yaml
plausible-exporter 0.0.2
cluster/services/monitoring/redis-exporter/helm-release.yaml
prometheus-redis-exporter 6.5.0
cluster/services/monitoring/speedtest-exporter/helm-release.yaml
speedtest-exporter 5.4.2
cluster/services/monitoring/unifi-poller/helm-release.yaml
unifi-poller 11.1.2
cluster/services/monitoring/vector/helm-release.yaml
vector 0.35.0
cluster/services/paperless/helm-release.yaml
paperless 5.1.1
cluster/services/plausible/helm-release.yaml
plausible 1.1.0
cluster/services/redis/helm-release.yaml
redis 1.4.0
cluster/services/snapdrop/helm-release.yaml
snapdrop 2.0.0
cluster/services/unbound/helm-release.yaml
unbound 1.0.3
cluster/services/unifi/helm-release.yaml
unifi 5.1.2
cluster/services/uptime-kuma/helm-release.yaml
uptime-kuma 2.0.0
cluster/services/vaultwarden/helm-release.yaml
vaultwarden 5.3.2
cluster/services/vikunja/helm-release.yaml
vikunja 5.0.0
.github/workflows/ansible.yml
actions/checkout v4
ansible/ansible-lint v24.6.0
.github/workflows/docs.yml
actions/checkout v4
arduino/setup-task v1
actions/cache v4
.github/workflows/labels.yml
actions/checkout v4
crazy-max/ghaction-github-labeler v5
.github/workflows/terraform.yml
actions/checkout v4
arduino/setup-task v1
hashicorp/setup-terraform v3
terraform-linters/setup-tflint v4
actions/checkout v4
tfsec/tfsec-sarif-action v0.1.4
github/codeql-action v3.26.0
actions/checkout v4
arduino/setup-task v1
hashicorp/setup-terraform v3
actions/github-script v7
cluster/base/flux-system/gotk-components.yaml
ghcr.io/fluxcd/source-controller v1.3.0
ghcr.io/fluxcd/kustomize-controller v1.3.0
ghcr.io/fluxcd/helm-controller v1.0.1
ghcr.io/fluxcd/notification-controller v1.3.0
cluster/core/crowdsec/helm-release.yaml
ghcr.io/crowdsecurity/crowdsec v1.6.2
metabase/metabase v0.50.19
cluster/core/kured/helm-release.yaml
ghcr.io/kubereboot/kured 1.16.0
cluster/core/node-problem-detector/helm-release.yaml
registry.k8s.io/node-problem-detector/node-problem-detector v0.8.19
cluster/core/system-upgrade/plans/master.yaml
cluster/core/system-upgrade/plans/worker.yaml
cluster/core/traefik-errors/helm-release.yaml
ghcr.io/pascaliske/traefik-errors 1.2.0
cluster/core/traefik/helm-release.yaml
traefik v3.1.2
cluster/core/velero/helm-release.yaml
velero/velero v1.14.0
cluster/services/authelia/helm-release.yaml
ghcr.io/authelia/authelia 4.38.10
cluster/services/blocky/helm-release.yaml
ghcr.io/0xerr0r/blocky v0.24
cluster/services/clickhouse/helm-release.yaml
clickhouse/clickhouse-server 24.7.3.42-alpine
cluster/services/cloudflared/helm-release.yaml
ghcr.io/crazy-max/cloudflared 2024.6.1
cluster/services/code-server/helm-release.yaml
ghcr.io/coder/code-server 4.91.1
cluster/services/descheduler/helm-release.yaml
registry.k8s.io/descheduler/descheduler v0.30.1
cluster/services/dyndns/helm-release.yaml
ghcr.io/pascaliske/cloudflare-dyndns 0.1.1
cluster/services/gitlab/helm-release.yaml
gitlab/gitlab-ce 17.2.2-ce.0
cluster/services/hammond/helm-release.yaml
ghcr.io/alfhou/hammond v0.0.24
cluster/services/home-assistant/helm-release.yaml
ghcr.io/home-assistant/home-assistant 2024.8.1
cluster/services/homer/helm-release.yaml
ghcr.io/bastienwirtz/homer v24.05.1
cluster/services/linkding/helm-release.yaml
sissbruecker/linkding 1.31.0
cluster/services/monitoring/cloudflare-exporter/helm-release.yaml
ghcr.io/lablabs/cloudflare_exporter 0.0.16
cluster/services/monitoring/fritzbox-exporter/helm-release.yaml
sealife/fritzbox-exporter 1.0
cluster/services/monitoring/loki/helm-release.yaml
grafana/loki 3.1.1
cluster/services/monitoring/plausible-exporter/helm-release.yaml
ghcr.io/riesinger/plausible-exporter 1.1.0
cluster/services/monitoring/redis-exporter/helm-release.yaml
oliver006/redis_exporter v1.62.0
cluster/services/monitoring/speedtest-exporter/helm-release.yaml
ghcr.io/miguelndecarvalho/speedtest-exporter v3.5.4
cluster/services/monitoring/unifi-poller/helm-release.yaml
ghcr.io/unpoller/unpoller v2.11.2
cluster/services/monitoring/vector/helm-release.yaml
timberio/vector 0.40.0-alpine
cluster/services/paperless/helm-release.yaml
ghcr.io/paperless-ngx/paperless-ngx 2.11.4
cluster/services/plausible/helm-release.yaml
plausible/analytics v2.0.0
ghcr.io/maxmind/geoipupdate v7.0.1
cluster/services/redis/helm-release.yaml
redis 7.4.0-alpine
cluster/services/snapdrop/helm-release.yaml
cluster/services/unbound/helm-release.yaml
ghcr.io/pascaliske/unbound 0.1.0
cluster/services/unifi/helm-release.yaml
ghcr.io/jacobalberty/unifi-docker v8.3.32
cluster/services/uptime-kuma/helm-release.yaml
louislam/uptime-kuma 1.23.13
cluster/services/vaultwarden/helm-release.yaml
ghcr.io/dani-garcia/vaultwarden 1.32.0-alpine
cluster/services/vikunja/helm-release.yaml
vikunja/vikunja 0.24.2
cluster/base/charts.yaml
cluster/base/config.yaml
cluster/base/core.yaml
cluster/base/crds.yaml
cluster/base/flux-system/gotk-components.yaml
ghcr.io/fluxcd/source-controller v1.3.0
ghcr.io/fluxcd/kustomize-controller v1.3.0
ghcr.io/fluxcd/helm-controller v1.0.1
ghcr.io/fluxcd/notification-controller v1.3.0
cluster/base/flux-system/gotk-patches.yaml
cluster/base/flux-system/gotk-sync.yaml
cluster/base/flux-system/kustomization.yaml
cluster/base/services.yaml
cluster/charts/aqua.yaml
cluster/charts/authelia.yaml
cluster/charts/cloudflare-exporter.yaml
cluster/charts/cloudnative-pg-charts.yaml
cluster/charts/crowdsec.yaml
cluster/charts/deliveryhero.yaml
cluster/charts/descheduler.yaml
cluster/charts/gitlab.yaml
cluster/charts/grafana.yaml
cluster/charts/jetstack.yaml
cluster/charts/k8s-at-home.yaml
cluster/charts/kured.yaml
cluster/charts/kustomization.yaml
cluster/charts/pascaliske.yaml
cluster/charts/prometheus-community.yaml
cluster/charts/traefik.yaml
cluster/charts/vector.yaml
cluster/charts/vmware-tanzu.yaml
cluster/config/kustomization.yaml
cluster/core/cert-manager/dashboard/kustomization.yaml
cluster/core/cert-manager/helm-release.yaml
cluster/core/cert-manager/issuers/kustomization.yaml
cluster/core/cert-manager/kustomization.yaml
cluster/core/cloudnative-pg/dashboard/kustomization.yaml
cluster/core/cloudnative-pg/helm-release.yaml
cluster/core/cloudnative-pg/kustomization.yaml
cluster/core/crowdsec/helm-release.yaml
cluster/core/crowdsec/kustomization.yaml
cluster/core/flux-system/dashboards/kustomization.yaml
cluster/core/flux-system/kustomization.yaml
cluster/core/flux-system/notifications/discord/alert.yaml
cluster/core/flux-system/notifications/discord/kustomization.yaml
cluster/core/flux-system/notifications/discord/provider.yaml
cluster/core/flux-system/notifications/github/alert.yaml
cluster/core/flux-system/notifications/github/kustomization.yaml
cluster/core/flux-system/notifications/github/provider.yaml
cluster/core/flux-system/notifications/grafana/alert.yaml
cluster/core/flux-system/notifications/grafana/kustomization.yaml
cluster/core/flux-system/notifications/grafana/provider.yaml
cluster/core/flux-system/notifications/kustomization.yaml
cluster/core/kured/helm-release.yaml
cluster/core/kured/kustomization.yaml
cluster/core/kustomization.yaml
cluster/core/node-problem-detector/helm-release.yaml
cluster/core/node-problem-detector/kustomization.yaml
cluster/core/system-upgrade/controller/kustomization.yaml
cluster/core/system-upgrade/kustomization.yaml
cluster/core/system-upgrade/plans/kustomization.yaml
cluster/core/system-upgrade/plans/master.yaml
cluster/core/system-upgrade/plans/worker.yaml
cluster/core/traefik-errors/helm-release.yaml
cluster/core/traefik-errors/kustomization.yaml
cluster/core/traefik/dashboard/kustomization.yaml
cluster/core/traefik/helm-release.yaml
cluster/core/traefik/kustomization.yaml
cluster/core/traefik/middlewares/kustomization.yaml
cluster/core/trivy-operator/helm-release.yaml
cluster/core/trivy-operator/kustomization.yaml
cluster/core/velero/helm-release.yaml
cluster/core/velero/kustomization.yaml
cluster/crds/cert-manager/kustomization.yaml
cluster/crds/kube-prometheus-stack/crds.yaml
cluster/crds/kube-prometheus-stack/kustomization.yaml
cluster/crds/kube-prometheus-stack/source.yaml
cluster/crds/kustomization.yaml
cluster/crds/system-upgrade/kustomization.yaml
cluster/crds/traefik/crds.yaml
cluster/crds/traefik/kustomization.yaml
cluster/crds/traefik/source.yaml
cluster/crds/trivy-operator/crds.yaml
cluster/crds/trivy-operator/kustomization.yaml
cluster/crds/trivy-operator/source.yaml
cluster/crds/velero/crds.yaml
cluster/crds/velero/kustomization.yaml
cluster/crds/velero/source.yaml
cluster/services/authelia/config/kustomization.yaml
cluster/services/authelia/helm-release.yaml
cluster/services/authelia/kustomization.yaml
cluster/services/authelia/middlewares/kustomization.yaml
cluster/services/blocky/dashboard/kustomization.yaml
cluster/services/blocky/helm-release.yaml
cluster/services/blocky/kustomization.yaml
cluster/services/clickhouse/helm-release.yaml
cluster/services/clickhouse/kustomization.yaml
cluster/services/cloudflared/helm-release.yaml
cluster/services/cloudflared/kustomization.yaml
cluster/services/code-server/helm-release.yaml
cluster/services/code-server/kustomization.yaml
cluster/services/descheduler/helm-release.yaml
cluster/services/descheduler/kustomization.yaml
cluster/services/dyndns/helm-release.yaml
cluster/services/dyndns/kustomization.yaml
cluster/services/gitlab/config/kustomization.yaml
cluster/services/gitlab/helm-release.yaml
cluster/services/gitlab/kustomization.yaml
cluster/services/gitlab/runner/helm-release.yaml
cluster/services/gitlab/runner/kustomization.yaml
cluster/services/hammond/helm-release.yaml
cluster/services/hammond/kustomization.yaml
cluster/services/home-assistant/dashboard/kustomization.yaml
cluster/services/home-assistant/helm-release.yaml
cluster/services/home-assistant/kustomization.yaml
cluster/services/homer/helm-release.yaml
cluster/services/homer/kustomization.yaml
cluster/services/kustomization.yaml
cluster/services/linkding/database/kustomization.yaml
cluster/services/linkding/helm-release.yaml
cluster/services/linkding/kustomization.yaml
cluster/services/monitoring/cloudflare-exporter/dashboard/kustomization.yaml
cluster/services/monitoring/cloudflare-exporter/helm-release.yaml
cluster/services/monitoring/cloudflare-exporter/kustomization.yaml
cluster/services/monitoring/fritzbox-exporter/helm-release.yaml
cluster/services/monitoring/fritzbox-exporter/kustomization.yaml
cluster/services/monitoring/kube-prometheus-stack/dashboard/kustomization.yaml
cluster/services/monitoring/kube-prometheus-stack/helm-release.yaml
cluster/services/monitoring/kube-prometheus-stack/kustomization.yaml
cluster/services/monitoring/kustomization.yaml
cluster/services/monitoring/loki/datasource/kustomization.yaml
cluster/services/monitoring/loki/helm-release.yaml
cluster/services/monitoring/loki/kustomization.yaml
cluster/services/monitoring/magicmirror/dashboard/kustomization.yaml
cluster/services/monitoring/magicmirror/kustomization.yaml
cluster/services/monitoring/minio/dashboard/kustomization.yaml
cluster/services/monitoring/minio/kustomization.yaml
cluster/services/monitoring/plausible-exporter/dashboard/kustomization.yaml
cluster/services/monitoring/plausible-exporter/helm-release.yaml
cluster/services/monitoring/plausible-exporter/kustomization.yaml
cluster/services/monitoring/redis-exporter/dashboard/kustomization.yaml
cluster/services/monitoring/redis-exporter/helm-release.yaml
cluster/services/monitoring/redis-exporter/kustomization.yaml
cluster/services/monitoring/speedtest-exporter/dashboard/kustomization.yaml
cluster/services/monitoring/speedtest-exporter/helm-release.yaml
cluster/services/monitoring/speedtest-exporter/kustomization.yaml
cluster/services/monitoring/unifi-poller/dashboard/kustomization.yaml
cluster/services/monitoring/unifi-poller/helm-release.yaml
cluster/services/monitoring/unifi-poller/kustomization.yaml
cluster/services/monitoring/vector/dashboard/kustomization.yaml
cluster/services/monitoring/vector/helm-release.yaml
cluster/services/monitoring/vector/kustomization.yaml
cluster/services/paperless/helm-release.yaml
cluster/services/paperless/kustomization.yaml
cluster/services/plausible/database/kustomization.yaml
cluster/services/plausible/helm-release.yaml
cluster/services/plausible/kustomization.yaml
cluster/services/redis/helm-release.yaml
cluster/services/redis/kustomization.yaml
cluster/services/snapdrop/helm-release.yaml
cluster/services/snapdrop/kustomization.yaml
cluster/services/unbound/helm-release.yaml
cluster/services/unbound/kustomization.yaml
cluster/services/unifi/helm-release.yaml
cluster/services/unifi/kustomization.yaml
cluster/services/unifi/middlewares/kustomization.yaml
cluster/services/uptime-kuma/dashboard/kustomization.yaml
cluster/services/uptime-kuma/helm-release.yaml
cluster/services/uptime-kuma/kustomization.yaml
cluster/services/vaultwarden/database/kustomization.yaml
cluster/services/vaultwarden/helm-release.yaml
cluster/services/vaultwarden/kustomization.yaml
cluster/services/vikunja/database/kustomization.yaml
cluster/services/vikunja/helm-release.yaml
cluster/services/vikunja/kustomization.yaml
cluster/core/system-upgrade/controller/kustomization.yaml
rancher/system-upgrade-controller v0.13.4
rancher/system-upgrade-controller v0.13.4
package.json
@commitlint/cli ^19.0.0
@commitlint/config-conventional ^19.0.0
husky ^9.0.0
yarn 1.22.22
docs/requirements.txt
material-plausible-plugin ==0.2.0
cluster/crds/cert-manager/kustomization.yaml
cluster/crds/kube-prometheus-stack/source.yaml
kube-prometheus-stack 61.8.0
cluster/crds/system-upgrade/kustomization.yaml
rancher/system-upgrade-controller v0.13.4
cluster/crds/velero/source.yaml
velero 7.1.4
ansible/roles/k3s/defaults/main.yml
k3s-io/k3s v1.30.3+k3s1
cluster/core/system-upgrade/plans/master.yaml
k3s-io/k3s v1.30.3+k3s1
cluster/core/system-upgrade/plans/worker.yaml
k3s-io/k3s v1.30.3+k3s1
cluster/services/blocky/config.yml
cluster/services/homer/config.yml
terraform/main.tf
cloudflare 4.39.0
hashicorp/terraform >= 1.3.3
terraform/providers.tf
terraform/.terraform-version
hashicorp/terraform 1.9.4
For better security the Docker socket access should be managed by a proxy.
Watchtower is not compatible with Kubernetes. Possible replacement is keel
(keel/keel
).
But their docker image is not ARM compatible by now: keel-hq/keel#619
vault.{{ domain }}
)config
, data
(files from autobackup)config
, data
(https://docs.pi-hole.net/core/pihole-command/#teleport)data
(propably db?)data
(docker volumes)data
(docker volumes)data
(docker volumes)data
archives
docs.{{ domain }}
)paperless-ng
consumerIngressRoute
for sub path serving via /admin
– authenticated by AutheliaSee here for more information: https://shlink.io/documentation/shlink-web-client/
See their docs for more information.
shlink
using k8s-at-home/shlink
IngressRoute
: go.{{ domain }}
Links:
Follow up on #12
See Awesome Prometheus Alerts for some example rules.
See here: badges/shields#8671
flux-system
kured
traefik
cert-manager
velero
authelia
blocky
cloudflared
code-server
dyndns
gitlab
home-assistant
homer
linkding
monitoring
paperless
redis
shlink
snapdrop
traefik
unifi
uptime-kuma
vaultwarden
two_factor
bypass
ed for nowtwo_factor
two_factor
two_factor
, forwardedbypass
ed for nowtwo_factor
, internal auth neededtwo_factor
, forwarded[email protected]
cert-manager
using cert-manager/cert-manager
ClusterIssuer
for a DNS01 challenge via DigitalOceanCertificate
s for all servicesIngressRoute
s with their respective Certificate
suptime-kuma
using pascaliske/uptime-kuma
IngressRoute
: status.{{ domain }}
dozzle
portainer
→ portainer/portainer
docker-proxy
traefik
→ traefik/traefik
traefik-errors
→ pascaliske/traefik-errors
authelia
→ authelia/authelia
prometheus
→ pascaliske/prometheus
alertmanager
→ prometheus-community/alertmanager
grafana
→ grafana/grafana
loki
→ grafana/loki
promtail
→ grafana/promtail
node-exporter
→ prometheus-community/prometheus-node-exporter
cadvisor
→ ckotzbauer/cadvisor
unifi-exporter
→ k8s-at-home/unifi-poller
pihole-exporter
→ wyrihaximusnet/pi-hole-exporter
fritzbox-exporter
→ pascaliske/fritzbox-exporter
speedtest-exporter
→ k8s-at-home/speedtest-exporter
homer
→ k8s-at-home/homer
unifi
→ k8s-at-home/unifi
pihole
→ mojo2600/pihole
cloudflared
→ pascaliske/cloudflared
home-assistant
→ k8s-at-home/home-assistant
vaultwarden
→ k8s-at-home/vaultwarden
dyndns
→ k8s-at-home/digitalocean-dyndns
apt
infrastructure/roles/common/vars/main.yml
Lines 3 to 8 in 69224e3
TODO
comment in 69224e3 when #14 was merged. cc @pascaliske.docs.{{ domain }}
)There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.
Location: renovate.json
Error type: Invalid JSON (parsing failed)
Message: Syntax error near // Gi
Perfect fit would be a combination of:
system-upgrade-controller
& k3s-upgrade
kube-state-metrics
→ prometheus-community/kube-state-metrics
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.