update: cross-platform run script
This commit is contained in:
12
README.md
12
README.md
@@ -10,7 +10,9 @@
|
||||
|
||||
## 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
|
||||
|
||||
@@ -33,7 +35,7 @@ V případě nutnosti upravte hodnoty dle svých nastavení
|
||||
> **Poznámka:**
|
||||
>
|
||||
> 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
|
||||
|
||||
@@ -72,7 +74,7 @@ Import-Certificate -FilePath "traefik/certs/rootCA.pem" -CertStoreLocation Cert:
|
||||
## Přístup ke službám
|
||||
|
||||
| Služba | URL |
|
||||
|--------|-----------------------------------|
|
||||
|:------------------|:----------------------------------|
|
||||
| Traefik Dashboard | https://traefik.dev.linuxak.com |
|
||||
| Portainer | https://portainer.dev.linuxak.com |
|
||||
|
||||
@@ -87,10 +89,6 @@ Stack/
|
||||
└── 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
|
||||
|
||||
Do vašeho `docker-compose.yml` přidejte Traefik labels:
|
||||
|
||||
31
run
31
run
@@ -1,9 +1,19 @@
|
||||
#!/bin/zsh
|
||||
#!/bin/bash
|
||||
|
||||
# Load parameters
|
||||
ACTION=$1
|
||||
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
|
||||
if [[ ! -f $ENV_FILE ]]; then
|
||||
echo "Error: $ENV_FILE file not found!"
|
||||
@@ -19,28 +29,33 @@ source $ENV_FILE
|
||||
|
||||
case "$ACTION" in
|
||||
"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
|
||||
if [[ "${FORCE_HTTPS_REDIRECT}" == "true" ]]; then
|
||||
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
|
||||
MSG="Starting without HTTPS redirect..."
|
||||
docker compose up -d
|
||||
${DOCKER_COMPOSE} up -d
|
||||
fi
|
||||
|
||||
echo "\n${MSG}"
|
||||
echo ""
|
||||
echo "${MSG}"
|
||||
sleep 2
|
||||
echo "\nAvailable services:"
|
||||
echo ""
|
||||
echo "Available services:"
|
||||
echo "Traefik: https://traefik.${DEV_URL}"
|
||||
echo "Portainer: https://portainer.${DEV_URL}"
|
||||
;;
|
||||
"restart")
|
||||
docker compose restart
|
||||
${DOCKER_COMPOSE} restart
|
||||
;;
|
||||
"down")
|
||||
docker compose down
|
||||
${DOCKER_COMPOSE} down
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 [up|restart|down]"
|
||||
|
||||
Reference in New Issue
Block a user