update: cross-platform run script
This commit is contained in:
16
README.md
16
README.md
@@ -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
31
run
@@ -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]"
|
||||||
|
|||||||
Reference in New Issue
Block a user