1
0

update: cross-platform run script

This commit is contained in:
2026-03-02 02:26:24 +01:00
parent 9ad21e6f34
commit 0112694b76
2 changed files with 30 additions and 17 deletions

View File

@@ -10,7 +10,9 @@
## Portainer ## Portainer
- Webové rozhraní pro správu kontejnerů - Webové rozhraní pro správu kontejnerů, obrazů, sítí i volumů
- Podpora Docker, Compose, Swarm i Kubernetes
- Persistentní úložiště dat (složka `portainer`)
## Požadavky ## Požadavky
@@ -33,7 +35,7 @@ V případě nutnosti upravte hodnoty dle svých nastavení
> **Poznámka:** > **Poznámka:**
> >
> Přednastavenou doménu `dev.linuxak.com` můžete ponechat. Je plně funkční a směřuje > Přednastavenou doménu `dev.linuxak.com` můžete ponechat. Je plně funkční a směřuje
> na IP adresu `127.0.0.1` tedy na váš lokální počítač. > na IP adresu `127.0.0.1` tedy na váš lokální počítač. Můžete ponechat i přednastavený název externí sítě.
### 2. Import CA do systému ### 2. Import CA do systému
@@ -71,10 +73,10 @@ Import-Certificate -FilePath "traefik/certs/rootCA.pem" -CertStoreLocation Cert:
## Přístup ke službám ## Přístup ke službám
| Služba | URL | | Služba | URL |
|--------|-----------------------------------| |:------------------|:----------------------------------|
| Traefik Dashboard | https://traefik.dev.linuxak.com | | Traefik Dashboard | https://traefik.dev.linuxak.com |
| Portainer | https://portainer.dev.linuxak.com | | Portainer | https://portainer.dev.linuxak.com |
## Struktura ## Struktura
@@ -87,10 +89,6 @@ Stack/
└── portainer/ # Portainer data └── portainer/ # Portainer data
``` ```
## Persistence
Složka `portainer` je persistentním úložištěm pro službu Portainer a všechna data této služby zůstanou uložená i po vypnutí stacku, dokud je ručně nesmažete.
## Připojení vaší služby do Traefiku ## Připojení vaší služby do Traefiku
Do vašeho `docker-compose.yml` přidejte Traefik labels: Do vašeho `docker-compose.yml` přidejte Traefik labels:

31
run
View File

@@ -1,9 +1,19 @@
#!/bin/zsh #!/bin/bash
# Load parameters # Load parameters
ACTION=$1 ACTION=$1
ENV_FILE=".env" ENV_FILE=".env"
# Detect docker compose command (cross-platform compatibility)
if command -v docker-compose >/dev/null 2>&1; then
DOCKER_COMPOSE="docker-compose"
elif command -v docker >/dev/null 2>&1 && docker compose version >/dev/null 2>&1; then
DOCKER_COMPOSE="docker compose"
else
echo "Error: Neither docker-compose nor docker compose found!"
exit 1
fi
# Check if .env file exists # Check if .env file exists
if [[ ! -f $ENV_FILE ]]; then if [[ ! -f $ENV_FILE ]]; then
echo "Error: $ENV_FILE file not found!" echo "Error: $ENV_FILE file not found!"
@@ -19,28 +29,33 @@ source $ENV_FILE
case "$ACTION" in case "$ACTION" in
"up") "up")
docker network create $EXTERNAL_NETWORK > /dev/null 2>&1 || true # Create network if it doesn't exist (cross-platform)
if ! docker network ls | grep -q "${EXTERNAL_NETWORK}"; then
docker network create "${EXTERNAL_NETWORK}" >/dev/null 2>&1 || true
fi
# Check HTTPS redirect setting # Check HTTPS redirect setting
if [[ "${FORCE_HTTPS_REDIRECT}" == "true" ]]; then if [[ "${FORCE_HTTPS_REDIRECT}" == "true" ]]; then
MSG="Starting with HTTPS redirect enabled..." MSG="Starting with HTTPS redirect enabled..."
docker compose -f docker-compose.yml -f docker-compose.https-redirect.yml up -d ${DOCKER_COMPOSE} -f docker-compose.yml -f docker-compose.https-redirect.yml up -d
else else
MSG="Starting without HTTPS redirect..." MSG="Starting without HTTPS redirect..."
docker compose up -d ${DOCKER_COMPOSE} up -d
fi fi
echo "\n${MSG}" echo ""
echo "${MSG}"
sleep 2 sleep 2
echo "\nAvailable services:" echo ""
echo "Available services:"
echo "Traefik: https://traefik.${DEV_URL}" echo "Traefik: https://traefik.${DEV_URL}"
echo "Portainer: https://portainer.${DEV_URL}" echo "Portainer: https://portainer.${DEV_URL}"
;; ;;
"restart") "restart")
docker compose restart ${DOCKER_COMPOSE} restart
;; ;;
"down") "down")
docker compose down ${DOCKER_COMPOSE} down
;; ;;
*) *)
echo "Usage: $0 [up|restart|down]" echo "Usage: $0 [up|restart|down]"