setup.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/bin/sh
  2. ## You can (should) customize those variables
  3. # the docker-compose project name
  4. export CHATONS_COMPOSE_PROJECT=oxyta
  5. # the host directory for the containers' volumes
  6. export CHATONS_ROOT_DIR=/srv
  7. # the domain name for all services
  8. export CHATONS_DOMAIN=oxyta.net
  9. # the email to which services will send important email
  10. export CHATONS_MAIL=services@$CHATONS_DOMAIN
  11. ## Thos does not need customization
  12. export CHATONS_MYSQL_PASSWORD=$(openssl rand -base64 32)
  13. export CHATONS_MYSQL_ROOT_PASSWORD=$(openssl rand -base64 32)
  14. if [ ! -d "$CHATONS_ROOT_DIR" ]; then
  15. echo "error: $CHATONS_ROOT_DIR must exist and be a regular folder" >&2
  16. exit 1
  17. fi
  18. # Export common environment variables
  19. echo "COMPOSE_PROJECT_NAME=$CHATONS_COMPOSE_PROJECT" > .env
  20. echo "CHATONS_ROOT_DIR=$CHATONS_ROOT_DIR" >> .env
  21. echo "CHATONS_DOMAIN=$CHATONS_DOMAIN" >> .env
  22. echo "CHATONS_MAIL=$CHATONS_MAIL" >> .env
  23. # Export specific environment configuration
  24. mkdir -p cloud pad
  25. echo "MYSQL_PASSWORD=$CHATONS_MYSQL_PASSWORD" > cloud/.env
  26. echo "MYSQL_ROOT_PASSWORD=$CHATONS_MYSQL_ROOT_PASSWORD" >> cloud/.env
  27. echo "MYSQL_ROOT_PASSWORD=$CHATONS_MYSQL_ROOT_PASSWORD" > pad/.env
  28. echo "ETHERPAD_DB_PASSWORD=$CHATONS_MYSQL_ROOT_PASSWORD" >> pad/.env
  29. # Configure traefik
  30. mkdir -p "$CHATONS_ROOT_DIR/traefik"
  31. touch "$CHATONS_ROOT_DIR/traefik/acme.json"
  32. chmod 600 "$CHATONS_ROOT_DIR/traefik/acme.json"
  33. sed "s/###DOMAIN###/$CHATONS_DOMAIN/" traefik/traefik.toml > "$CHATONS_ROOT_DIR/traefik/traefik.toml"