entrypoint.sh 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/usr/bin/env bash
  2. # TODO: Données de postgreSQL dans un volume
  3. # TODO: Mettre des variable d'environn pour la config
  4. # TODO: Supporter le changement des variables d'environnement ? (actuellement utilisé pour générer le .ini)
  5. # TODO: Fichiers de config link ls -s dans un dossier pour VOLUME
  6. # TODO: README QQCH pour les ports ? 80, 3060 et 5333
  7. # TODO: generate cookie secrent (if not yet done)
  8. # Start PostgreSQL
  9. service postgresql start
  10. # Init database if needed
  11. if ! [ "$( su - postgres -s /bin/bash -c "psql -tAc \"SELECT 1 FROM pg_database WHERE datname='tracim'\"" )" = '1' ]; then
  12. su - postgres -s /bin/bash -c "psql -c \"CREATE DATABASE tracim;\""
  13. su - postgres -s /bin/bash -c "psql -c \"CREATE USER tracim WITH PASSWORD 'tracim';\""
  14. su - postgres -s /bin/bash -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE tracim TO tracim;\""
  15. fi
  16. # Create config.ini file if no exist
  17. if [ ! -f /etc/tracim/config.ini ]; then
  18. cp /tracim/tracim/development.ini.base /etc/tracim/config.ini
  19. fi
  20. ln -s /etc/tracim/config.ini /tracim/tracim/config.ini
  21. # Create wsgidav.conf file if no exist
  22. if [ ! -f /etc/tracim/wsgidav.conf ]; then
  23. cp /tracim/tracim/wsgidav.conf.sample /etc/tracim/wsgidav.conf
  24. fi
  25. ln -s /etc/tracim/wsgidav.conf /tracim/tracim/wsgidav.conf
  26. # Create uwsgi file if no exist
  27. if [ ! -f /etc/tracim/uwsgi.ini ]; then
  28. cp /tracim/tracim/uwsgi.ini /etc/tracim/uwsgi.ini
  29. fi
  30. # Update config with ENV
  31. # TODO Manage other ENV vars
  32. sed -i "s/\(sqlalchemy.url *= *\).*/\1postgresql:\/\/tracim:tracim@127.0.0.1:5432\/tracim?client_encoding=utf8/" /etc/tracim/config.ini
  33. # Start with uwsgi
  34. uwsgi --http-socket 0.0.0.0:80 /etc/tracim/uwsgi.ini