forked from ScoDoc/ScoDoc
controle de la config, doc, exemple .env
This commit is contained in:
parent
98ce5de732
commit
698e5b7e22
20
.env-exemple
Normal file
20
.env-exemple
Normal file
@ -0,0 +1,20 @@
|
||||
# Fichier à configurer et renommer en .env
|
||||
# (dans /opt/scodoc)
|
||||
# Il doit appartenir à (ou être lisible par) "scodoc"
|
||||
|
||||
|
||||
FLASK_APP=scodoc.py
|
||||
FLASK_ENV=production # ou "development" si vous développez
|
||||
|
||||
# Envois de mails: décommenter et adapter
|
||||
# MAIL_SERVER=localhost
|
||||
# MAIL_PORT=25
|
||||
|
||||
SCODOC_ADMIN_MAIL="emmanuel@viennet.net"
|
||||
|
||||
# Remplacer cette chaine
|
||||
# Vous pouvez utiliser
|
||||
# python3 -c "import uuid; print(uuid.uuid4().hex)"
|
||||
# pour en créer une de ce genre, aléatoire
|
||||
SECRET_KEY="53ffeff44a3940dea4964d628af33dd9"
|
||||
|
13
README.md
13
README.md
@ -33,7 +33,7 @@ d'autres pas: merci de signaler les erreurs.
|
||||
- nettoyage du code, finalisation tests et intégration.
|
||||
|
||||
|
||||
## Installation (sur Debian 11 / python3.9.2)
|
||||
## Installation (sur Debian 11 / python 3.9.2)
|
||||
|
||||
On peut installer à partir de zéro, ou sur une machine ayant déjà un ScoDoc 7
|
||||
et migrer les données.
|
||||
@ -110,15 +110,20 @@ qui est lu automatiquement au démarrage:
|
||||
# .env for ScoDoc _development_
|
||||
|
||||
FLASK_APP=scodoc.py
|
||||
FLASK_ENV=development
|
||||
FLASK_ENV=development # ou production
|
||||
|
||||
MAIL_SERVER=votre.serveur.de.mail.net # ou vide si pas de mail
|
||||
MAIL_PORT=25
|
||||
|
||||
SCODOC_ADMIN_MAIL="adresse.admin@toto.fr" # important: le mail de admin
|
||||
SECRET_KEY="CGGAJAKlh6789JJK?KNAb=" # une chaine aléatoire
|
||||
# comment out to use CDN:
|
||||
BOOTSTRAP_SERVE_LOCAL=1
|
||||
|
||||
Le fichier `/opt/scodoc/.env-exemple`est donné à titre... d'exemple. Vous pouvez faire:
|
||||
|
||||
# en tant qu'utilisateur scodoc
|
||||
cd /opt/scodoc/
|
||||
cp .env-exemple .env
|
||||
nano .env # édition
|
||||
|
||||
### Initialisation de la base utilisateur par Flask
|
||||
|
||||
|
12
config.py
12
config.py
@ -1,6 +1,7 @@
|
||||
# -*- coding: UTF-8 -*
|
||||
|
||||
import os
|
||||
import uuid
|
||||
from dotenv import load_dotenv
|
||||
|
||||
BASEDIR = os.path.abspath(os.path.dirname(__file__))
|
||||
@ -10,7 +11,7 @@ load_dotenv(os.path.join(BASEDIR, ".env"))
|
||||
class Config:
|
||||
"""General configuration. Mostly loaded from environment via .env"""
|
||||
|
||||
SECRET_KEY = os.environ.get("SECRET_KEY") or "un-grand-secret-introuvable"
|
||||
SECRET_KEY = os.environ.get("SECRET_KEY") or "90e01e75831e4176a3c70d29564b425f"
|
||||
SQLALCHEMY_DATABASE_URI = (
|
||||
os.environ.get("USERS_DATABASE_URI")
|
||||
or "postgresql://scodoc@localhost:5432/SCO8USERS"
|
||||
@ -63,3 +64,12 @@ class TestConfig(DevConfig):
|
||||
)
|
||||
SERVER_NAME = "test.gr"
|
||||
DEPT_TEST = "TEST_" # nom du département, ne pas l'utiliser pour un "vrai"
|
||||
|
||||
|
||||
mode = os.environ.get("FLASK_ENV", "production")
|
||||
if mode == "production":
|
||||
RunningConfig = ProdConfig
|
||||
elif mode == "development":
|
||||
RunningConfig = DevConfig
|
||||
elif mode == "test":
|
||||
RunningConfig = TestConfig
|
||||
|
@ -27,9 +27,9 @@ from app.models import ScoPreference
|
||||
from app.views import notes, scolar, absences
|
||||
import tools
|
||||
|
||||
from config import DevConfig
|
||||
from config import RunningConfig
|
||||
|
||||
app = create_app(DevConfig)
|
||||
app = create_app(RunningConfig)
|
||||
cli.register(app)
|
||||
|
||||
|
||||
|
@ -1,26 +0,0 @@
|
||||
# ScoDoc7 service
|
||||
# Zope based
|
||||
# Depends on {{postgresql}} (replaced by installation script by
|
||||
# postgresql@11-main.service on Debian 10
|
||||
# postgresql on Debian <= 9
|
||||
# => is restarted when {{postgresql}} restarts
|
||||
#
|
||||
[Unit]
|
||||
Description=ScoDoc 7 service
|
||||
After=network.target {{postgresql}}
|
||||
Requires={{postgresql}}
|
||||
PartOf={{postgresql}}
|
||||
StartLimitIntervalSec=0
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/opt/scodoc/var/Z2.pid
|
||||
Restart=always
|
||||
RestartSec=1
|
||||
User=root
|
||||
ExecStart=/opt/scodoc/bin/zopectl start
|
||||
ExecStop=/opt/scodoc/bin/zopectl stop
|
||||
ExecReload=/opt/scodoc/bin/zopectl restart
|
||||
|
||||
[Install]
|
||||
WantedBy={{postgresql}}
|
22
tools/etc/scodoc9.service
Normal file
22
tools/etc/scodoc9.service
Normal file
@ -0,0 +1,22 @@
|
||||
# ScoDoc 9 systemd service
|
||||
# Flask based
|
||||
# a priori on ne dépend plus de postgresql ? XXX
|
||||
# inspiré par https://blog.miguelgrinberg.com/post/running-a-flask-application-as-a-service-with-systemd
|
||||
[Unit]
|
||||
Description=ScoDoc 9 service
|
||||
After=network.target
|
||||
#Requires={{postgresql}}
|
||||
#PartOf={{postgresql}}
|
||||
#StartLimitIntervalSec=0
|
||||
|
||||
[Service]
|
||||
User=scodoc
|
||||
Group=scodoc
|
||||
WorkingDirectory=/opt/scodoc
|
||||
ExecStart=/opt/scodoc/venv/bin/gunicorn -b localhost:8000 -w 4 scodoc:app
|
||||
Restart=always
|
||||
# Environment=FLASK_CONFIG=production
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in New Issue
Block a user