From 04ff09c5e0ee69713fe8c02790715f43e0036489 Mon Sep 17 00:00:00 2001 From: Nick Yeoman Date: Sun, 23 Nov 2025 12:10:03 -0800 Subject: [PATCH] Updated Heimdall --- README.md | 40 ------------------------------------- _docs/template-compose.md | 38 +++++++++++++++++++++++++++++++++++ _docs/template-readme.md | 39 ++++++++++++++++++++++++++++++++++++ cookbook.env | 4 ++-- heimdall/README.md | 22 +++++++++++--------- heimdall/docker-compose.yml | 10 +++++++--- heimdall/sample.env | 8 ++++---- 7 files changed, 103 insertions(+), 58 deletions(-) create mode 100644 _docs/template-compose.md create mode 100644 _docs/template-readme.md diff --git a/README.md b/README.md index a007827..e131806 100644 --- a/README.md +++ b/README.md @@ -29,46 +29,6 @@ The intended workflow is as follows: You may have to use multiple containers, such as Maria or postgres for db. - -### Docker Compose Template - -Adopting an order/template to the docker compose files as follows: - -``` -# [App Name] Docker Compose Template (e.g., CORXN) - -services: - [service-name]: - image: ${APPNAME_IMAGE_NAME:-user/name:latest} - restart: ${APPNAME_RESTART:-unless-stopped} - volumes: # Templated with VOL_PATH, CONFIG_PATH or LOG_PATH - - ${VOL_PATH:-./data}/appname/dir:/data - - ${CONFIG_PATH:-./config}/appname/dir:/config - - ${LOG_PATH:-./logs}/appname/dir:/var/logs - - /etc/localtime:/etc/localtime:ro - environment: # Grouped: Universal first, app-specific after - - TZ=${TZ:-UTC} - - [APP_VAR1]=${[APP_VAR1]:-default} - - [APP_VAR2]=${[APP_VAR2]:-default} - ports: # Can remove this for proxy - - "${APP_PORT:-9999}:9999" - networks: - - proxy - - internal - network_mode: "host" - depends_on: - - [db-service] # e.g., mariadb - healthcheck: # Optional: App-specific - test: ["CMD", "curl", "-f", "http://localhost:[port]"] - interval: 30s - timeout: 10s - retries: 3 - labels: # Optional - - "traefik.enable=false" - command: # Override entrypoint if needed - user: "1000:1000" # Non-root -``` - ### Decisions #### container_name diff --git a/_docs/template-compose.md b/_docs/template-compose.md new file mode 100644 index 0000000..7e20b84 --- /dev/null +++ b/_docs/template-compose.md @@ -0,0 +1,38 @@ +# Docker Compose Template + +Adopting an order/template to the docker compose files as follows: + +``` +# [App Name] Docker Compose Template (e.g., CORXN) + +services: + [service-name]: + image: ${APPNAME_IMAGE_NAME:-user/name:latest} + restart: ${APPNAME_RESTART:-unless-stopped} + volumes: # Templated with VOL_PATH, CONFIG_PATH or LOG_PATH + - ${VOL_PATH:-./data}/appname/dir:/data + - ${CONFIG_PATH:-./config}/appname/dir:/config + - ${LOG_PATH:-./logs}/appname/dir:/var/logs + - /etc/localtime:/etc/localtime:ro + environment: # Grouped: Universal first, app-specific after + - TZ=${TZ:-UTC} + - [APP_VAR1]=${[APP_VAR1]:-default} + - [APP_VAR2]=${[APP_VAR2]:-default} + ports: # Can remove this for proxy + - "${APP_PORT:-9999}:9999" + networks: + - proxy + - internal + network_mode: "host" + depends_on: + - [db-service] # e.g., mariadb + healthcheck: # Optional: App-specific + test: ["CMD", "curl", "-f", "http://localhost:[port]"] + interval: 30s + timeout: 10s + retries: 3 + labels: # Optional + - "traefik.enable=false" + command: # Override entrypoint if needed + user: "1000:1000" # Non-root +``` \ No newline at end of file diff --git a/_docs/template-readme.md b/_docs/template-readme.md new file mode 100644 index 0000000..c1369aa --- /dev/null +++ b/_docs/template-readme.md @@ -0,0 +1,39 @@ +# Project Name + +## Overview + +A short 1--3 sentence description of what this Docker Compose project +does. + +## Project Details + +- **Project Repository:** [Link](https://example.com) +- **Container Image:** [Docker Hub](https://dockerhub.com) +- **Compose Example:** [Compose](https://dockerhub.com) +- **Documentation:** [Docs](https://dockerhub.com) +- **Reverse Proxy Port:** `80` + +## Environment Variable Notes + +List any required or optional environment variables, where they come +from, and how they are used. + +Example: + + VAR_NAME – explanation of purpose + ANOTHER_VAR – where to get the value + +## Volume Notes + +Describe important volumes, what they store, and whether they need +manual creation or backups. + +Example: + + /data – persistent application storage + /config – configuration files + +## Additional Notes / Gotchas + +Add any special information someone should know before running the +project---quirks, caveats, network requirements, etc. diff --git a/cookbook.env b/cookbook.env index e34abe2..0211301 100644 --- a/cookbook.env +++ b/cookbook.env @@ -3,7 +3,7 @@ # Universal defaults (applies to all cookbooks) # Volumes base path (all mounts under here, e.g., ${VOL_PATH}/project_data) -VOL_PATH=./data +VOL_PATH=/var/lib/docker/volumes # Timezone for all containers TZ=America/Vancouver @@ -12,4 +12,4 @@ TZ=America/Vancouver COMPOSE_PROJECT_NAME=myProject # Instance identifier (for multi-run prefixes, e.g., DB_PASSWORD_${INSTANCE_NAME}) -INSTANCE_NAME=joomla-prod \ No newline at end of file +INSTANCE_NAME=project-prod \ No newline at end of file diff --git a/heimdall/README.md b/heimdall/README.md index f9e99da..1169760 100644 --- a/heimdall/README.md +++ b/heimdall/README.md @@ -1,15 +1,19 @@ -# heimdall - -Last Updated: Thu August 08, 2024 12:50:47 PDT +# Heimdall ## Overview -DockerHub: https://hub.docker.com/r/linuxserver/heimdall -Offical Website: https://heimdall.site/ -Proxy Port: 80 +Heimdall is a lightweight web-based dashboard for organizing and launching your self-hosted applications. -## notes +## Project Details -For https include: FORCE_HTTPS=true +- **Project Repository:** [Offical Website](https://heimdall.site/) +- **Container Image:** [Docker Hub](https://hub.docker.com/r/linuxserver/heimdall) +- **Reverse Proxy Port:** `80` -TODO: where is domain base path set? +## Environment Variable Notes + + FORCE_HTTPS=true - For https + +## Additional Notes / Gotchas + +Still working on the staging config, TODO: where is domain base path set? diff --git a/heimdall/docker-compose.yml b/heimdall/docker-compose.yml index abf8e9e..36a0125 100644 --- a/heimdall/docker-compose.yml +++ b/heimdall/docker-compose.yml @@ -1,10 +1,14 @@ services: heimdall: - image: ${HEIMDALL_IMAGE:-linuxserver/heimdall:latest} + image: ${HEIMDALL_IMAGE} restart: unless-stopped + volumes: + - ${VOL_PATH:-./data}/heimdall:/config environment: - PGID=${HEIMDALL_PGID:-1000} - PUID=${HEIMDALL_PUID:-1000} - TZ=${TZ:-America/Vancouver} - volumes: - - ${VOL_PATH:-./data}/heimdall:/config + ports: + - 8000:80 + networks: + - proxy diff --git a/heimdall/sample.env b/heimdall/sample.env index c6d2c68..986878d 100644 --- a/heimdall/sample.env +++ b/heimdall/sample.env @@ -1,8 +1,8 @@ -TZ=America/Vancouver -COOKBOOK=/git/docker-compose-cookbooks #HELP: cookbooks +# Heimdall Variables -# heimdall +# Inclue cookbook.env + +# Heimdall HEIMDALL_IMAGE=linuxserver/heimdall:latest HEIMDALL_PGID=1000 HEIMDALL_PUID=1000 -VOL_PATH=/var/lib/docker/volumes #HELP: volpath