diff --git a/_build/portainer_template_build.py b/_build/portainer_template_build.py index 84acba7..b21f6c3 100644 --- a/_build/portainer_template_build.py +++ b/_build/portainer_template_build.py @@ -42,11 +42,14 @@ def extract_overview(readme_path: Path, project_name: str) -> str: # --------------------------------------------------------- # Logo URL mapping with existence check # --------------------------------------------------------- -def find_logo_url(dir_path: Path) -> str: +def find_logo_url(dir_path: Path, nologo: bool = False) -> str: base_url = "https://i.4lt.ca/cookbooks/" name = dir_path.name logo_url = f"{base_url}{name}.png" + if nologo: + return f"{base_url}default.png" + try: resp = requests.head(logo_url, timeout=5) if resp.status_code == 200: @@ -56,6 +59,7 @@ def find_logo_url(dir_path: Path) -> str: return f"{base_url}default.png" + # --------------------------------------------------------- # Parse image from docker-compose.yml using sample.env defaults # --------------------------------------------------------- @@ -184,7 +188,8 @@ def parse_env_vars(dir_path: Path): if "=" in line: key, value = line.split("=", 1) key = key.strip() - value = value.strip().strip('"').strip("'") + # Remove inline comment after #, then strip quotes and whitespace + value = value.split("#", 1)[0].strip().strip('"').strip("'") if key: env_list.append({"name": key, "default": value}) @@ -200,7 +205,7 @@ def generate_template_object(dir_path: Path): # Extract info description = extract_overview(readme_file, name) - logo = find_logo_url(dir_path) + logo = find_logo_url(dir_path, nologo=False) # for dev/test env_vars = parse_env_vars(dir_path) image = parse_image(compose_file, env_vars) ports = parse_ports(compose_file) diff --git a/homepage/docker-compose.yml b/homepage/docker-compose.yml index 9dfd839..41c499f 100644 --- a/homepage/docker-compose.yml +++ b/homepage/docker-compose.yml @@ -3,5 +3,11 @@ services: image: ${HOMEPAGE_IMAGE:-ghcr.io/gethomepage/homepage:latest} restart: unless-stopped volumes: - - ${VOL_CONFIG_PATH:-./config}/homepage:/app/config # Make sure your local config directory exists - - /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations + - homepage-config:/app/config + - /var/run/docker.sock:/var/run/docker.sock # Optional, for Docker integrations + environment: + - TZ=${TZ:-America/Vancouver} # optional, if your app needs a timezone + +volumes: + homepage-config: + name: homepage-config diff --git a/homepage/sample.env b/homepage/sample.env index e966fc2..a980d1d 100644 --- a/homepage/sample.env +++ b/homepage/sample.env @@ -1,6 +1,3 @@ -# Global -COOKBOOK=/git/docker-compose-cookbooks #HELP: cookbooks - # Homepage HOMEPAGE_IMAGE=ghcr.io/gethomepage/homepage:latest VOL_CONFIG_PATH=./config diff --git a/templates.json b/templates.json index 58e69af..80087a7 100644 --- a/templates.json +++ b/templates.json @@ -78,16 +78,6 @@ "stackfile_plain": false }, "env": [ - { - "name": "VOL_PATH", - "label": "VOL_PATH", - "default": "/docker/vol/wallabag-data #HELP: volpath" - }, - { - "name": "COOKBOOK", - "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" - }, { "name": "WALLABAG_TZ", "label": "WALLABAG_TZ", @@ -176,7 +166,7 @@ "Auto" ], "platform": "linux", - "logo": "https://i.4lt.ca/cookbooks/default.png", + "logo": "https://i.4lt.ca/cookbooks/thunderbird.png", "image": "jlesage/thunderbird:latest", "repository": { "url": "https://github.com/nickyeoman/docker-compose-cookbooks", @@ -781,7 +771,7 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "NOCODB_IMAGE", @@ -978,7 +968,7 @@ ], "platform": "linux", "logo": "https://i.4lt.ca/cookbooks/default.png", - "image": "n8nio/n8n:latest # or 1.70.2", + "image": "n8nio/n8n:latest", "repository": { "url": "https://github.com/nickyeoman/docker-compose-cookbooks", "stackfile": "n8n/docker-compose.yml", @@ -998,7 +988,7 @@ { "name": "N8N_IMAGE", "label": "N8N_IMAGE", - "default": "n8nio/n8n:latest # or 1.70.2" + "default": "n8nio/n8n:latest" }, { "name": "N8N_PORT", @@ -1114,12 +1104,12 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "./data/ #HELP: volpath" + "default": "./data/" }, { "name": "TZ", @@ -1241,7 +1231,7 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "REDIS_IMAGE", @@ -1262,7 +1252,7 @@ ], "platform": "linux", "logo": "https://i.4lt.ca/cookbooks/default.png", - "image": "duplicati/duplicati:latest #2.1.0.5", + "image": "duplicati/duplicati:latest", "repository": { "url": "https://github.com/nickyeoman/docker-compose-cookbooks", "stackfile": "duplicati/docker-compose.yml", @@ -1282,7 +1272,7 @@ { "name": "DUPLICATI_IMAGE", "label": "DUPLICATI_IMAGE", - "default": "duplicati/duplicati:latest #2.1.0.5" + "default": "duplicati/duplicati:latest" }, { "name": "DUPLICATI_KEY", @@ -1337,12 +1327,12 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/home/user/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/home/user/git/docker-compose-cookbooks" }, { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "/project-dir/project-name/data #HELP: volpath" + "default": "/project-dir/project-name/data" }, { "name": "QBT_IMAGE", @@ -1352,7 +1342,7 @@ { "name": "QBT_PASS", "label": "QBT_PASS", - "default": "01234567890 #HELP: gen32" + "default": "01234567890" } ], "ports": [ @@ -1401,12 +1391,12 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "./data #HELP: volpath" + "default": "./data" }, { "name": "MONICA_IMAGE", @@ -1598,12 +1588,12 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "./data #HELP: volpath" + "default": "./data" }, { "name": "TZ", @@ -1618,7 +1608,7 @@ { "name": "CODE-SERVER_PASSWORD", "label": "CODE-SERVER_PASSWORD", - "default": "RanDoMChangeMe #HELP: gen32" + "default": "RanDoMChangeMe" }, { "name": "CODE-SERVER_DOMAIN", @@ -1683,17 +1673,17 @@ { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "/docker/vol/handbrake-data #HELP: volpath" + "default": "/docker/vol/handbrake-data" }, { "name": "VOL_CONFIG_PATH", "label": "VOL_CONFIG_PATH", - "default": "/docker/vol #HELP: configpath" + "default": "/docker/vol" }, { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/home/user/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/home/user/git/docker-compose-cookbooks" }, { "name": "HANDBRAKE_IMAGE", @@ -1703,7 +1693,7 @@ { "name": "AUTOMATED_CONVERSION", "label": "AUTOMATED_CONVERSION", - "default": "1 # 0 for no" + "default": "1" }, { "name": "AUTOMATED_CONVERSION_FORMAT", @@ -1713,12 +1703,12 @@ { "name": "AUTOMATED_CONVERSION_KEEP_SOURCE", "label": "AUTOMATED_CONVERSION_KEEP_SOURCE", - "default": "1 # 0 for remove" + "default": "1" }, { "name": "AUTOMATED_CONVERSION_USE_TRASH", "label": "AUTOMATED_CONVERSION_USE_TRASH", - "default": "0 # 1 for yes. Required KEEP_SOURCE" + "default": "0" }, { "name": "AUTOMATED_CONVERSION_OVERWRITE_OUTPUT", @@ -1728,7 +1718,7 @@ { "name": "AUTOMATED_CONVERSION_NO_GUI_PROGRESS", "label": "AUTOMATED_CONVERSION_NO_GUI_PROGRESS", - "default": "0 # 0 is show" + "default": "0" }, { "name": "AUTOMATED_CONVERSION_MAX_WATCH_FOLDERS", @@ -1871,12 +1861,12 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "./data/ #HELP: volpath" + "default": "./data/" }, { "name": "PAISA_IMAGE", @@ -1996,7 +1986,7 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "UPTIMEKUMA_IMAGE", @@ -2072,7 +2062,7 @@ { "name": "NGINX_SERVER_SCHEME", "label": "NGINX_SERVER_SCHEME", - "default": "$scheme # Or force 'http'/'https" + "default": "$scheme" } ], "ports": [], @@ -2100,11 +2090,6 @@ "stackfile_plain": false }, "env": [ - { - "name": "COOKBOOK", - "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" - }, { "name": "HOMEPAGE_IMAGE", "label": "HOMEPAGE_IMAGE", @@ -2148,7 +2133,7 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "TZ", @@ -2158,7 +2143,7 @@ { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "./data #HELP: volpath" + "default": "./data" }, { "name": "PIWIGO_IMAGE", @@ -2198,7 +2183,7 @@ ], "platform": "linux", "logo": "https://i.4lt.ca/cookbooks/default.png", - "image": "gtstef/filebrowser:latest #0.8.7-beta", + "image": "gtstef/filebrowser:latest", "repository": { "url": "https://github.com/nickyeoman/docker-compose-cookbooks", "stackfile": "filebrowser/docker-compose.yml", @@ -2223,7 +2208,7 @@ { "name": "FILEBROWSER_IMAGE", "label": "FILEBROWSER_IMAGE", - "default": "gtstef/filebrowser:latest #0.8.7-beta" + "default": "gtstef/filebrowser:latest" }, { "name": "FILEBROWSER_CONFIG", @@ -2272,12 +2257,12 @@ { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "/docker/vol/portainer-data #HELP: volpath" + "default": "/docker/vol/portainer-data" }, { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "FIREFLY_IMAGE", @@ -2323,7 +2308,7 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "JELLYFIN_IMAGE", @@ -2431,12 +2416,12 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "./data/ #HELP: volpath" + "default": "./data/" }, { "name": "MINIO_IMAGE", @@ -2497,17 +2482,17 @@ { "name": "PRODDIR", "label": "PRODDIR", - "default": "/var/www/stashdomain-com/ #HELP: project_path" + "default": "/var/www/stashdomain-com/" }, { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/home/user/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/home/user/git/docker-compose-cookbooks" }, { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "/project-dir/project-name/data #HELP: volpath" + "default": "/project-dir/project-name/data" }, { "name": "VAULT_DOMAIN_NAME", @@ -2522,17 +2507,17 @@ { "name": "WEBSOCKET_ENABLED", "label": "WEBSOCKET_ENABLED", - "default": "true # Enable WebSocket notifications" + "default": "true" }, { "name": "SIGNUPS_ALLOWED", "label": "SIGNUPS_ALLOWED", - "default": "false # Disable new user signups" + "default": "false" }, { "name": "VAULT_ADMIN_TOKEN", "label": "VAULT_ADMIN_TOKEN", - "default": "01234567890123456790123456790123456789012345678 #HELP: gen32" + "default": "01234567890123456790123456790123456789012345678" }, { "name": "SMTP_HOST", @@ -2680,12 +2665,12 @@ { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "/docker/vol/portainer-data #HELP: volpath" + "default": "/docker/vol/portainer-data" }, { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/home/user/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/home/user/git/docker-compose-cookbooks" }, { "name": "PROXY_IMAGE", @@ -2882,12 +2867,12 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "./data #HELP: volpath" + "default": "./data" }, { "name": "GITEA_IMAGE", @@ -2990,7 +2975,7 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "VOL_PATH", @@ -3522,7 +3507,7 @@ ], "platform": "linux", "logo": "https://i.4lt.ca/cookbooks/default.png", - "image": "stashapp/stash:latest # https://hub.docker.com/r/stashapp/stash/tags", + "image": "stashapp/stash:latest", "repository": { "url": "https://github.com/nickyeoman/docker-compose-cookbooks", "stackfile": "stashapp/docker-compose.yml", @@ -3532,7 +3517,7 @@ { "name": "STASHAPP_IMAGE", "label": "STASHAPP_IMAGE", - "default": "stashapp/stash:latest # https://hub.docker.com/r/stashapp/stash/tags" + "default": "stashapp/stash:latest" }, { "name": "STASHAPP_STASH_CACHE", @@ -3608,7 +3593,7 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "VOL_PATH", @@ -3736,12 +3721,12 @@ { "name": "COOKBOOK", "label": "COOKBOOK", - "default": "/git/docker-compose-cookbooks #HELP: cookbooks" + "default": "/git/docker-compose-cookbooks" }, { "name": "VOL_PATH", "label": "VOL_PATH", - "default": "./data #HELP: volpath" + "default": "./data" }, { "name": "NEXTCLOUD_IMAGE", diff --git a/wallabag/docker-compose.yml b/wallabag/docker-compose.yml index 8120914..e2ff361 100644 --- a/wallabag/docker-compose.yml +++ b/wallabag/docker-compose.yml @@ -12,13 +12,16 @@ services: - SYMFONY__ENV__DATABASE_CHARSET=${WALLABAG_DB_CHARSET:-utf8mb4} - SYMFONY__ENV__DATABASE_TABLE_PREFIX=${WALLABAG_DB_PREFIX:-wallabag_} - SYMFONY__ENV__MAILER_DSN=${WALLABAG_MAILER_DSN:-smtp://127.0.0.1} - - SYMFONY__ENV__FROM_EMAIL=${WALLABAG_FROM_WEMAIL:-wallabag@example.com} + - SYMFONY__ENV__FROM_EMAIL=${WALLABAG_FROM_EMAIL:-wallabag@example.com} - SYMFONY__ENV__DOMAIN_NAME=${WALLABAG_DOMAIN:-https://your-wallabag-instance.wallabag.org} - SYMFONY__ENV__SERVER_NAME=${WALLABAG_SERVER:-Your wallabag instance} - TZ=${WALLABAG_TZ:-America/Vancouver} healthcheck: - test: ["CMD", "wget" ,"--no-verbose", "--tries=1", "--spider", "http://localhost/api/info"] + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost/api/info"] interval: 1m timeout: 3s volumes: - - "${VOL_PATH:-/tmp}/wallabag:/var/www/wallabag/web/assets/images" + - wallabag-data:/var/www/wallabag/web/assets/images + +volumes: + wallabag-data: diff --git a/wallabag/sample.env b/wallabag/sample.env index b179856..54ab32c 100644 --- a/wallabag/sample.env +++ b/wallabag/sample.env @@ -1,7 +1,4 @@ - # Global -VOL_PATH=/docker/vol/wallabag-data #HELP: volpath -COOKBOOK=/git/docker-compose-cookbooks #HELP: cookbooks WALLABAG_TZ=America/Vancouver # Wallabag