ukrycie_zaznaczonych #1

Merged
gru merged 8 commits from ukrycie_zaznaczonych into master 2025-07-12 23:39:35 +02:00
11 changed files with 442 additions and 119 deletions
Showing only changes of commit 58e0929a4c - Show all commits

View File

@@ -17,4 +17,7 @@ UPLOAD_FOLDER=uploads
AUTHORIZED_COOKIE_VALUE=twoj_wlasny_hash
# czas zycia cookie
AUTH_COOKIE_MAX_AGE=86400
AUTH_COOKIE_MAX_AGE=86400
# dla compose
HEALTHCHECK_TOKEN=alamapsaikota123

10
app.py
View File

@@ -35,6 +35,7 @@ UPLOAD_FOLDER = app.config.get('UPLOAD_FOLDER', 'uploads')
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'webp'}
AUTHORIZED_COOKIE_VALUE = app.config.get('AUTHORIZED_COOKIE_VALUE', '80d31cdfe63539c9')
AUTH_COOKIE_MAX_AGE = app.config.get('AUTH_COOKIE_MAX_AGE', 86400)
HEALTHCHECK_TOKEN = app.config.get('HEALTHCHECK_TOKEN', 'alamapsaikota1234')
os.makedirs(UPLOAD_FOLDER, exist_ok=True)
@@ -1201,6 +1202,15 @@ def demote_user(user_id):
flash(f'Użytkownik {user.username} został zdegradowany.', 'success')
return redirect(url_for('list_users'))
@app.route('/healthcheck')
def healthcheck():
header_token = request.headers.get("X-Internal-Check")
correct_token = current_app.config.get("HEALTHCHECK_TOKEN")
if header_token != correct_token:
abort(403)
return 'OK', 200
# =========================================================================================
# SOCKET.IO
# =========================================================================================

View File

@@ -9,4 +9,5 @@ class Config:
DEFAULT_ADMIN_PASSWORD = os.environ.get('DEFAULT_ADMIN_PASSWORD', 'admin123')
UPLOAD_FOLDER = os.environ.get('UPLOAD_FOLDER', 'uploads')
AUTHORIZED_COOKIE_VALUE = os.environ.get('AUTHORIZED_COOKIE_VALUE', 'cookievalue')
AUTH_COOKIE_MAX_AGE = int(os.environ.get('AUTH_COOKIE_MAX_AGE', 86400))
AUTH_COOKIE_MAX_AGE = int(os.environ.get('AUTH_COOKIE_MAX_AGE', 86400))
HEALTHCHECK_TOKEN = os.environ.get('HEALTHCHECK_TOKEN', 'alamapsaikota1234')

View File

@@ -4,6 +4,12 @@ services:
container_name: live-lista-zakupow
ports:
- "${APP_PORT:-8000}:8000"
healthcheck:
test: ["CMD", "curl", "-f", "-H", "X-Internal-Check: ${HEALTHCHECK_TOKEN}", "http://localhost:8000/healthcheck"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
environment:
- FLASK_APP=app.py
- FLASK_ENV=production
@@ -14,5 +20,6 @@ services:
- UPLOAD_FOLDER=${UPLOAD_FOLDER}
- AUTHORIZED_COOKIE_VALUE=${AUTHORIZED_COOKIE_VALUE}
- AUTH_COOKIE_MAX_AGE=${AUTH_COOKIE_MAX_AGE}
- HEALTHCHECK_TOKEN=${HEALTHCHECK_TOKEN}
volumes:
- .:/app