2022-01-22 20:17:36 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
2022-02-27 19:46:48 +00:00
|
|
|
if [[ $EUID -ne 0 ]]; then
|
|
|
|
echo Run as root!
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2022-01-22 20:17:36 +00:00
|
|
|
if [ ! -e ./.env ]; then
|
|
|
|
read -p 'Domain that will serve the mirror: ' domain
|
|
|
|
echo "DOMAIN_NAME=$domain" > ./.env
|
2022-02-27 19:46:48 +00:00
|
|
|
read -p "Use cloudflare tunnels y/N " -n 1 -r
|
|
|
|
echo
|
|
|
|
if [[ $REPLY =~ ^[Yy]$ ]]
|
|
|
|
then
|
|
|
|
USE_TUNNELS=true
|
|
|
|
echo "USE_TUNNELS=true" >> ./.env
|
|
|
|
echo "SSL_FILE=/dev/null" >> ./.env
|
|
|
|
else
|
|
|
|
read -p 'Your email address: ' email
|
|
|
|
echo "EMAIL=$email" >> ./.env
|
|
|
|
fi
|
2022-01-22 20:17:36 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
source .env
|
|
|
|
|
2022-02-27 19:46:48 +00:00
|
|
|
if [ "$USE_TUNNELS" != "true" ]; then
|
|
|
|
if [ ! -e ./data/letsencrypt/etc/renewal/chaotic.conf ]; then
|
2022-07-23 02:54:50 +00:00
|
|
|
docker run -p 80:80 -p 443:443 --rm -v "$PWD/data/letsencrypt/etc:/etc/letsencrypt" -v "$PWD/data/letsencrypt/var:/var/lib/letsencrypt" certbot/certbot:${LETSENCRYPT_TAG:-latest} certonly --standalone --non-interactive --agree-tos --cert-name chaotic -n -m "$EMAIL" -d "$DOMAIN_NAME"
|
2022-02-27 19:46:48 +00:00
|
|
|
fi
|
|
|
|
elif [ ! -e "./data/cloudflared/home/.cloudflared/cert.pem" ]; then
|
|
|
|
docker-compose -f docker-compose-tunnels.yml run --rm cloudflared login
|
2022-07-11 18:08:38 +00:00
|
|
|
docker-compose -f docker-compose-tunnels.yml run --rm cloudflared --origincert /root/.cloudflared/cert.pem tunnel create $DOMAIN_NAME
|
|
|
|
docker-compose -f docker-compose-tunnels.yml run --rm cloudflared --origincert /root/.cloudflared/cert.pem tunnel route dns $DOMAIN_NAME $DOMAIN_NAME
|
2022-01-22 20:17:36 +00:00
|
|
|
fi
|
|
|
|
|
2022-04-19 18:23:26 +00:00
|
|
|
if [ ! -e ./http-root/chaotic-aur ]; then
|
|
|
|
# Convert legacy
|
|
|
|
if [ -d ./repo ]; then
|
|
|
|
./stop
|
|
|
|
mkdir ./http-root
|
|
|
|
mv ./repo ./http-root/chaotic-aur
|
|
|
|
else
|
|
|
|
mkdir -p ./http-root/chaotic-aur/.stfolder
|
|
|
|
chown -R 1000:1000 ./http-root/chaotic-aur/
|
|
|
|
fi
|
2022-01-22 20:17:36 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -e ./data/syncthing/config.xml ]; then
|
|
|
|
mkdir -p ./data/syncthing
|
|
|
|
cp ./preset/syncthing-config.xml ./data/syncthing/config.xml
|
|
|
|
chown -R 1000:1000 ./data/syncthing
|
|
|
|
fi
|
|
|
|
|
2022-02-27 19:46:48 +00:00
|
|
|
if [ "$USE_TUNNELS" != "true" ]; then
|
2022-07-23 18:41:50 +00:00
|
|
|
docker-compose -f docker-compose.yml up ${COMPOSEFLAGS-"-d"}
|
2022-02-27 19:46:48 +00:00
|
|
|
else
|
2022-07-23 18:41:50 +00:00
|
|
|
docker-compose -f docker-compose-tunnels.yml up ${COMPOSEFLAGS-"-d"}
|
2022-02-27 19:46:48 +00:00
|
|
|
fi
|