From d62f949652d4ba4deae294e2d51e24cc2a0651e4 Mon Sep 17 00:00:00 2001 From: kelinfoxy <67766943+kelinfoxy@users.noreply.github.com> Date: Wed, 18 Mar 2026 23:17:29 -0400 Subject: [PATCH] create missing folders --- docker-templates/formio/.env | 2 +- docker-templates/n8n/.env | 48 +++++++++++++ docker-templates/n8n/docker-compose.yml | 71 ++++++++++++++++++++ docker-templates/template/.env | 47 +++++++++++++ docker-templates/template/docker-compose.yml | 39 +++++++++++ 5 files changed, 206 insertions(+), 1 deletion(-) create mode 100644 docker-templates/n8n/.env create mode 100644 docker-templates/n8n/docker-compose.yml create mode 100644 docker-templates/template/.env create mode 100644 docker-templates/template/docker-compose.yml diff --git a/docker-templates/formio/.env b/docker-templates/formio/.env index 0e655c1..c82c386 100644 --- a/docker-templates/formio/.env +++ b/docker-templates/formio/.env @@ -4,7 +4,7 @@ SERVER_NAME= SERVER_IP= SUBDOMAIN= SERVICE_NAME=formio -ICON_URL=https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/${SERVICE_NAME}.svg +ICON_URL=https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/microsoft-forms-2016.svg # Include Server Name in Proxy URL? Choose one. diff --git a/docker-templates/n8n/.env b/docker-templates/n8n/.env new file mode 100644 index 0000000..63687a2 --- /dev/null +++ b/docker-templates/n8n/.env @@ -0,0 +1,48 @@ +# ####################################################### +# Templating variables, not used by compose file directly +SERVER_NAME= +SERVER_IP= +SUBDOMAIN= +SERVICE_NAME=n8n +ICON_URL=https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/${SERVICE_NAME}.svg + +# Include Server Name in Proxy URL? Choose one. + +# PROXY_URL=${SERVICE_NAME}.${SERVER_NAME}.${SUBDOMAIN}.duckdns.org +PROXY_URL=${SERVICE_NAME}.${SUBDOMAIN}.duckdns.org + + +# ############################################################################# +# Compose file variables + +TZ=America/New_York +PUID=1000 +PGID=1000 + +CONTAINER_NAME=${SERVICE_NAME} +INTERNAL_PORT=5678 +EXTERNAL_PORT=5678 +LOCAL_URL=http://${SERVER_IP}:${EXTERNAL_PORT} + +N8N_PASSWORD= + +# ############################################################# +# Container Labels + +# DO NOT enclose label values in single quotes +# If the value needs to include single quotes use backticks instead + +# For example HOST_LABEL=traefik.http.routers.${SERVICE_NAME}.rule=Host(`${PROXY_URL}`) +# Notice the use of backticks instead of single quotes around ${PROXY_URL} + +TRAEFIK_ENABLE_LABEL=traefik.enable=true +HOST_LABEL=traefik.http.routers.${SERVICE_NAME}.rule=Host(`${PROXY_URL}`) +ICON_LABEL=com.getarcaneapp.arcane.icon=${ICON_URL} +LOADBALANCER_LABEL=traefik.http.services.${SERVICE_NAME}.loadbalancer.server.port=${INTERNAL_PORT} + +TRAEFIK_NETWORK_LABEL=traefik.docker.network=traefik-network +ENTRYPOINT_LABEL=traefik.http.routers.${SERVICE_NAME}.entrypoints=websecure +CERT_LABEL=traefik.http.routers.${SERVICE_NAME}.tls.certresolver=letsencrypt + +AUTHELIA_LABEL=traefik.http.routers.${SERVICE_NAME}.middlewares=authelia@docker +WATCHTOWER_ENABLE_LABEL=com.centurylinklabs.watchtower.enable=true diff --git a/docker-templates/n8n/docker-compose.yml b/docker-templates/n8n/docker-compose.yml new file mode 100644 index 0000000..1d0c95b --- /dev/null +++ b/docker-templates/n8n/docker-compose.yml @@ -0,0 +1,71 @@ +services: + n8n: + container_name: n8n + image: n8nio/n8n:2.9.2 + restart: unless-stopped + networks: + - homelab-network + - traefik-network + ports: + - ${EXTERNAL_PORT}:${INTERNAL_PORT} + links: + - db-n8n + volumes: + - ./data:/home/node/.n8n + environment: + - DB_TYPE=postgresdb + - DB_POSTGRESDB_DATABASE=n8n + - DB_POSTGRESDB_HOST=db-n8n + - DB_POSTGRESDB_PORT=5432 + - DB_POSTGRESDB_USER=n8n + - DB_POSTGRESDB_PASSWORD=${N8N_PASSWORD} + - N8N_SECURE_COOKIE=false + depends_on: + db-n8n: + condition: service_healthy + labels: + - com.getarcaneapp.arcane.icon=https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/n8n.svg + - ${HOST_LABEL} + - ${LOADBALANCER_LABEL} + - ${WATCHTOWER_ENABLE_LABEL} + - ${TRAEFIK_ENABLE_LABEL} + - ${TRAEFIK_NETWORK_LABEL} + - ${ENTRYPOINT_LABEL} + - ${CERT_LABEL} + - ${AUTHELIA_LABEL} + + db-n8n: + container_name: db-n8n + image: postgres:14.2 + restart: unless-stopped + networks: + - homelab-network + volumes: + - ./pgdata:/var/lib/postgresql/data + - ./init-db/init-data.sh:/docker-entrypoint-initdb.d/init-data.sh + environment: + - POSTGRES_PASSWORD=${N8N_PASSWORD} + - POSTGRES_USER=n8n + - POSTGRES_DB=n8n + healthcheck: + test: ["CMD-SHELL", "pg_isready -h localhost -U n8n -d n8n"] + interval: 5s + timeout: 5s + retries: 10 + +networks: + homelab-network: + external: true + traefik-network: + external: true + +x-dockge: + urls: + - https://${PROXY_URL} + - ${LOCAL_URL} + +x-arcane: + icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/n8n.svg + urls: + - https://${PROXY_URL} + - ${LOCAL_URL} diff --git a/docker-templates/template/.env b/docker-templates/template/.env new file mode 100644 index 0000000..3e0b0b3 --- /dev/null +++ b/docker-templates/template/.env @@ -0,0 +1,47 @@ +# ####################################################### +# Templating variables, not used by compose file directly +SERVER_NAME= +SERVER_IP= +SUBDOMAIN= +SERVICE_NAME= +ICON_URL=https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/${SERVICE_NAME}.svg + +# Include Server Name in Proxy URL? Choose one. + +# PROXY_URL=${SERVICE_NAME}.${SERVER_NAME}.${SUBDOMAIN}.duckdns.org +PROXY_URL=${SERVICE_NAME}.${SUBDOMAIN}.duckdns.org + + +# ############################################################################# +# Compose file variables + +TZ=America/New_York +PUID=1000 +PGID=1000 + +CONTAINER_NAME=${SERVICE_NAME} +INTERNAL_PORT=8081 +EXTERNAL_PORT=8099 +LOCAL_URL=http://${SERVER_IP}:${EXTERNAL_PORT} + + +# ############################################################# +# Container Labels + +# DO NOT enclose label values in single quotes +# If the value needs to include single quotes use backticks instead + +# For example HOST_LABEL=traefik.http.routers.${SERVICE_NAME}.rule=Host(`${PROXY_URL}`) +# Notice the use of backticks instead of single quotes around ${PROXY_URL} + +TRAEFIK_ENABLE_LABEL=traefik.enable=true +HOST_LABEL=traefik.http.routers.${SERVICE_NAME}.rule=Host(`${PROXY_URL}`) +ICON_LABEL=com.getarcaneapp.arcane.icon=${ICON_URL} +LOADBALANCER_LABEL=traefik.http.services.${SERVICE_NAME}.loadbalancer.server.port=${INTERNAL_PORT} + +TRAEFIK_NETWORK_LABEL=traefik.docker.network=traefik-network +ENTRYPOINT_LABEL=traefik.http.routers.${SERVICE_NAME}.entrypoints=websecure +CERT_LABEL=traefik.http.routers.${SERVICE_NAME}.tls.certresolver=letsencrypt + +AUTHELIA_LABEL=traefik.http.routers.${SERVICE_NAME}.middlewares=authelia@docker +WATCHTOWER_ENABLE_LABEL=com.centurylinklabs.watchtower.enable=true diff --git a/docker-templates/template/docker-compose.yml b/docker-templates/template/docker-compose.yml new file mode 100644 index 0000000..9a80355 --- /dev/null +++ b/docker-templates/template/docker-compose.yml @@ -0,0 +1,39 @@ + + + + + + + + + + + - ${EXTERNAL_PORT}:${INTERNAL_PORT} + + labels: + - ${ICON_LABEL} + - ${HOST_LABEL} + - ${LOADBALANCER_LABEL} + - ${WATCHTOWER_ENABLE_LABEL} + - ${TRAEFIK_ENABLE_LABEL} + - ${TRAEFIK_NETWORK_LABEL} + - ${ENTRYPOINT_LABEL} + - ${CERT_LABEL} + - ${AUTHELIA_LABEL} + +networks: + homelab-network: + external: true + traefik-network: + external: true + +x-dockge: + urls: + - https://${PROXY_URL} + - ${LOCAL_URL} + +x-arcane: + icon: ${ICON_URL} + urls: + - https://${PROXY_URL} + - ${LOCAL_URL}