mirror of
https://github.com/rodneyosodo/homelab.git
synced 2026-06-23 04:10:19 +00:00
Compare commits
6 Commits
f0b38a27e6
...
b5b27781d4
| Author | SHA1 | Date | |
|---|---|---|---|
| b5b27781d4 | |||
| f5051c6028 | |||
| d0ff9e8e96 | |||
| aa20d01e73 | |||
| 3d84387f6d | |||
| 5711632cac |
@@ -44,7 +44,7 @@ jobs:
|
||||
run: |
|
||||
cd docker-compose
|
||||
cp default.env .env
|
||||
docker compose pull
|
||||
make validate
|
||||
|
||||
terraform:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -31,6 +31,24 @@ generate: ## Generate a compose file for new service
|
||||
@echo "" >> $(MAIN_COMPOSE)
|
||||
@echo "Docker-compose file for $(service) generated"
|
||||
|
||||
validate: ## Validate that all images in docker compose config exist in registry
|
||||
@IMAGES=$$(docker compose config --images); \
|
||||
FAILED=0; \
|
||||
for IMG in $$IMAGES; do \
|
||||
echo "Checking if image exists in registry: $$IMG"; \
|
||||
if docker manifest inspect "$$IMG" >/dev/null 2>&1; then \
|
||||
echo "✅ Valid: $$IMG exists in the registry."; \
|
||||
else \
|
||||
echo "❌ Invalid: $$IMG could not be found or accessed."; \
|
||||
FAILED=1; \
|
||||
fi; \
|
||||
done; \
|
||||
if [ $$FAILED -ne 0 ]; then \
|
||||
echo "Error: One or more Docker Compose images are invalid in the registry."; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
echo "All images are valid. Proceeding with CI pipeline."
|
||||
|
||||
help: ## Show this help message
|
||||
@which awk > /dev/null || (echo "awk not found. Please install it from https://www.gnu.org/software/gawk/manual/gawk.html" && exit 1)
|
||||
@echo ""
|
||||
|
||||
@@ -23,7 +23,7 @@ services:
|
||||
|
||||
atuin-db:
|
||||
container_name: atuin-db
|
||||
image: postgres:16.1
|
||||
image: docker.io/postgres:16.1
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
cloudflared:
|
||||
container_name: cloudflared
|
||||
image: cloudflare/cloudflared:2026.3.0
|
||||
image: docker.io/cloudflare/cloudflared:2026.5.2
|
||||
restart: unless-stopped
|
||||
command: tunnel --metrics 0.0.0.0:4090 --no-autoupdate run --token ${CLOUDFLARE_TOKEN}
|
||||
networks:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
dawarich-app:
|
||||
container_name: dawarich-app
|
||||
image: freikin/dawarich:1.7.7
|
||||
image: docker.io/freikin/dawarich:1.7.11
|
||||
volumes:
|
||||
- ~/docker-volumes/dawarich/public:/var/app/public
|
||||
- ~/docker-volumes/dawarich/watched:/var/app/tmp/imports/watched
|
||||
@@ -13,7 +13,7 @@ services:
|
||||
- no-new-privileges:true
|
||||
ports:
|
||||
- 5000:5000
|
||||
- 9394:9394 # Prometheus exporter, uncomment if needed
|
||||
- 9394:9394
|
||||
stdin_open: true
|
||||
tty: true
|
||||
entrypoint: web-entrypoint.sh
|
||||
@@ -32,9 +32,11 @@ services:
|
||||
- TIME_ZONE=Africa/Nairobi
|
||||
- DISTANCE_UNIT=km
|
||||
- APPLICATION_PROTOCOL=http
|
||||
- PROMETHEUS_EXPORTER_ENABLED=false
|
||||
- PROMETHEUS_EXPORTER_ENABLED=true
|
||||
- PROMETHEUS_EXPORTER_HOST=0.0.0.0
|
||||
- PROMETHEUS_EXPORTER_PORT=9394
|
||||
- METRICS_USERNAME=${DAWARICH_METRICS_USERNAME}
|
||||
- METRICS_PASSWORD=${DAWARICH_METRICS_PASSWORD}
|
||||
- SECRET_KEY_BASE=${DAWARICH_SECRET_KEY_BASE}
|
||||
- RAILS_LOG_TO_STDOUT="true"
|
||||
- SELF_HOSTED=true
|
||||
@@ -70,7 +72,7 @@ services:
|
||||
|
||||
dawarich-sidekiq:
|
||||
container_name: dawarich-sidekiq
|
||||
image: freikin/dawarich:1.7.7
|
||||
image: docker.io/freikin/dawarich:1.7.11
|
||||
volumes:
|
||||
- ~/docker-volumes/dawarich/public:/var/app/public
|
||||
- ~/docker-volumes/dawarich/watched:/var/app/tmp/imports/watched
|
||||
@@ -95,9 +97,11 @@ services:
|
||||
- APPLICATION_HOSTS=${DAWARICH_APPLICATION_HOSTS}
|
||||
- BACKGROUND_PROCESSING_CONCURRENCY=10
|
||||
- APPLICATION_PROTOCOL=http
|
||||
- PROMETHEUS_EXPORTER_ENABLED=false
|
||||
- PROMETHEUS_EXPORTER_HOST=dawarich-app
|
||||
- PROMETHEUS_EXPORTER_ENABLED=true
|
||||
- PROMETHEUS_EXPORTER_HOST=dawarich-sidekiq
|
||||
- PROMETHEUS_EXPORTER_PORT=9394
|
||||
- METRICS_USERNAME=${DAWARICH_METRICS_USERNAME}
|
||||
- METRICS_PASSWORD=${DAWARICH_METRICS_PASSWORD}
|
||||
- SECRET_KEY_BASE=${DAWARICH_SECRET_KEY_BASE}
|
||||
- RAILS_LOG_TO_STDOUT="true"
|
||||
- SELF_HOSTED=true
|
||||
@@ -127,7 +131,7 @@ services:
|
||||
|
||||
dawarich-db:
|
||||
container_name: dawarich-db
|
||||
image: postgis/postgis:17-3.5-alpine
|
||||
image: docker.io/postgis/postgis:17-3.5-alpine
|
||||
restart: always
|
||||
networks:
|
||||
- homelab-network
|
||||
@@ -153,7 +157,7 @@ services:
|
||||
|
||||
dawarich-redis:
|
||||
container_name: dawarich-redis
|
||||
image: redis:7.4-alpine
|
||||
image: docker.io/redis:7.4-alpine
|
||||
restart: always
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -104,6 +104,8 @@ KARAKEEP_MEILI_MASTER_KEY=""
|
||||
## DAWARICH
|
||||
DAWARICH_APPLICATION_HOSTS="localhost,::1,127.0.0.1"
|
||||
DAWARICH_SECRET_KEY_BASE=""
|
||||
DAWARICH_METRICS_USERNAME=""
|
||||
DAWARICH_METRICS_PASSWORD=""
|
||||
|
||||
### DAWARICH POSTGRES
|
||||
DAWARICH_POSTGRES_USER=""
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
docuseal:
|
||||
container_name: docuseal
|
||||
image: docuseal/docuseal:2.5.3
|
||||
image: docker.io/docuseal/docuseal:3.0.2
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
@@ -18,7 +18,7 @@ services:
|
||||
|
||||
docuseal-db:
|
||||
container_name: docuseal-db
|
||||
image: postgres:16.1
|
||||
image: docker.io/postgres:16.1
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
dozzle:
|
||||
container_name: dozzle
|
||||
image: amir20/dozzle:v10.5.3
|
||||
image: docker.io/amir20/dozzle:v10.6.3
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
gitea:
|
||||
container_name: gitea
|
||||
image: gitea/gitea:1.26.1
|
||||
image: docker.io/gitea/gitea:1.26.2
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
@@ -39,7 +39,7 @@ services:
|
||||
|
||||
gitea-db:
|
||||
container_name: gitea-db
|
||||
image: postgres:16.1
|
||||
image: docker.io/postgres:16.1
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
@@ -63,7 +63,7 @@ services:
|
||||
|
||||
gitea-runner:
|
||||
container_name: gitea-runner
|
||||
image: gitea/runner:1.0.3
|
||||
image: docker.io/gitea/runner:1.0.7
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -24,7 +24,7 @@ services:
|
||||
|
||||
hedgedoc-db:
|
||||
container_name: hedgedoc-db
|
||||
image: postgres:16.1
|
||||
image: docker.io/postgres:16.1
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
heimdall:
|
||||
container_name: heimdall
|
||||
image: linuxserver/heimdall:2.7.6
|
||||
image: docker.io/linuxserver/heimdall:2.7.6
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -69,7 +69,7 @@ services:
|
||||
|
||||
immich-redis:
|
||||
container_name: immich-redis
|
||||
image: redis:7.2.5
|
||||
image: docker.io/redis:7.2.5
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -44,7 +44,7 @@ services:
|
||||
|
||||
karakeep-meilisearch:
|
||||
container_name: karakeep-meilisearch
|
||||
image: getmeili/meilisearch:v1.43.0
|
||||
image: docker.io/getmeili/meilisearch:v1.43.0
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
kener:
|
||||
container_name: kener
|
||||
image: rajnandan1/kener:v4.0.23
|
||||
image: docker.io/rajnandan1/kener:v4.0.23
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
@@ -29,7 +29,7 @@ services:
|
||||
|
||||
kener-db:
|
||||
container_name: kener-db
|
||||
image: postgres:16.1
|
||||
image: docker.io/postgres:16.1
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
@@ -53,7 +53,7 @@ services:
|
||||
|
||||
kener-redis:
|
||||
container_name: kener-redis
|
||||
image: redis:8-alpine
|
||||
image: docker.io/redis:8-alpine
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
mealie:
|
||||
container_name: mealie
|
||||
image: hkotel/mealie:v3.16.0
|
||||
image: docker.io/hkotel/mealie:v3.19.2
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
ntp:
|
||||
container_name: ntp
|
||||
image: cturra/ntp:latest
|
||||
image: docker.io/cturra/ntp:latest
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
ollama:
|
||||
container_name: ollama
|
||||
image: ollama/ollama:0.24.0
|
||||
image: docker.io/ollama/ollama:0.24.0
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -35,7 +35,7 @@ services:
|
||||
|
||||
paperless-db:
|
||||
container_name: paperless-db
|
||||
image: postgres:18
|
||||
image: docker.io/postgres:18
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
@@ -59,7 +59,7 @@ services:
|
||||
|
||||
paperless-redis:
|
||||
container_name: paperless-redis
|
||||
image: redis:8
|
||||
image: docker.io/redis:8
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
@@ -73,7 +73,7 @@ services:
|
||||
|
||||
gotenberg:
|
||||
container_name: gotenberg
|
||||
image: docker.io/gotenberg/gotenberg:8.27
|
||||
image: docker.io/gotenberg/gotenberg:8.33
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
@@ -95,7 +95,7 @@ services:
|
||||
|
||||
paperless-ai:
|
||||
container_name: paperless-ai
|
||||
image: clusterzx/paperless-ai:latest
|
||||
image: docker.io/clusterzx/paperless-ai:latest
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
@@ -123,7 +123,7 @@ services:
|
||||
|
||||
paperless-gpt:
|
||||
container_name: paperless-gpt
|
||||
image: icereed/paperless-gpt:v0.25.1
|
||||
image: docker.io/icereed/paperless-gpt:v0.25.1
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
pihole:
|
||||
container_name: pihole
|
||||
image: pihole/pihole:2026.05.0
|
||||
image: docker.io/pihole/pihole:2026.05.0
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
homelab-network:
|
||||
@@ -28,7 +28,7 @@ services:
|
||||
|
||||
unbound:
|
||||
container_name: unbound
|
||||
image: mvance/unbound:1.22.0
|
||||
image: docker.io/mvance/unbound:1.22.0
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
homelab-network:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
portainer:
|
||||
container_name: portainer
|
||||
image: portainer/portainer-ce:2.41.1
|
||||
image: docker.io/portainer/portainer-ce:2.42.0
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
prometheus:
|
||||
container_name: prometheus
|
||||
image: prom/prometheus:v3.11.3
|
||||
image: docker.io/prom/prometheus:v3.12.0
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -21,3 +21,4 @@ scrape_configs:
|
||||
static_configs:
|
||||
- targets:
|
||||
- dawarich-app:9394
|
||||
- dawarich-sidekiq:9394
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
rustfs:
|
||||
container_name: rustfs
|
||||
image: rustfs/rustfs:latest
|
||||
image: docker.io/rustfs/rustfs:latest
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
speedtest-tracker:
|
||||
container_name: speedtest-tracker
|
||||
image: linuxserver/speedtest-tracker:1.14.1
|
||||
image: docker.io/linuxserver/speedtest-tracker:1.14.3
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
@@ -33,7 +33,7 @@ services:
|
||||
|
||||
speedtest-tracker-db:
|
||||
container_name: speedtest-tracker-db
|
||||
image: postgres:16.1
|
||||
image: docker.io/postgres:16.1
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
swagger-editor:
|
||||
container_name: swagger-editor
|
||||
image: swaggerapi/swagger-editor:v5.4.1
|
||||
image: docker.io/swaggerapi/swagger-editor:v5.5.2
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
vaultwarden:
|
||||
container_name: vaultwarden
|
||||
image: vaultwarden/server:1.36.0
|
||||
image: docker.io/vaultwarden/server:1.36.0
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
|
||||
Reference in New Issue
Block a user