setup.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #!/bin/sh
  2. # Set variables
  3. export CHATONS_ROOT_DIR=/srv
  4. export CHATONS_DOMAIN=oxyta.net
  5. export CHATONS_MAIL=services@$CHATONS_DOMAIN
  6. export CHATONS_MYSQL_PASSWORD=$(openssl rand -base64 32)
  7. export CHATONS_MYSQL_ROOT_PASSWORD=$(openssl rand -base64 32)
  8. if [ ! -d "$CHATONS_ROOT_DIR" ]; then
  9. echo "error: $CHATONS_ROOT_DIR must exist and be a regular folder" >&2
  10. exit 1
  11. fi
  12. # Export common environment variables
  13. echo "CHATONS_ROOT_DIR=$CHATONS_ROOT_DIR" > .env
  14. echo "CHATONS_DOMAIN=$CHATONS_DOMAIN" >> .env
  15. echo "CHATONS_MAIL=$CHATONS_MAIL" >> .env
  16. # Export specific environment configuration
  17. mkdir -p cloud pad
  18. echo "MYSQL_PASSWORD=$CHATONS_MYSQL_PASSWORD" > cloud/.env
  19. echo "MYSQL_ROOT_PASSWORD=$CHATONS_MYSQL_ROOT_PASSWORD" >> cloud/.env
  20. echo "MYSQL_ROOT_PASSWORD=$CHATONS_MYSQL_ROOT_PASSWORD" > pad/.env
  21. echo "ETHERPAD_DB_PASSWORD=$CHATONS_MYSQL_ROOT_PASSWORD" >> pad/.env
  22. # Configure traefik
  23. mkdir -p "$CHATONS_ROOT_DIR/traefik"
  24. touch "$CHATONS_ROOT_DIR/traefik/acme.json"
  25. chmod 600 "$CHATONS_ROOT_DIR/traefik/acme.json"
  26. sed "s/###DOMAIN###/$CHATONS_DOMAIN/" traefik/traefik.toml > "$CHATONS_ROOT_DIR/traefik/traefik.toml"