1
0
Fork 0
mirror of https://github.com/EDeev/web-dev.git synced 2026-10-08 04:59:37 +03:00

Compare commits

..

No commits in common. "b1c8a8e1ee624c3606aec1e2697cacaaf4f36294" and "9a23fc52e0ac7c6b59db1b842b22ed048f26c668" have entirely different histories.

6 changed files with 2 additions and 85 deletions

View file

@ -1,8 +0,0 @@
.git
.github
docs
*.md
labs
hws
**/__pycache__
ex/db/*.db

View file

@ -1,35 +0,0 @@
name: Docker
on:
push:
tags: ["v*"]
workflow_dispatch:
jobs:
image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/edeev/web-dev
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=raw,value=latest
- uses: docker/build-push-action@v6
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

View file

@ -1,13 +0,0 @@
# Экзаменационное приложение курса (ex/, сайт ex-web): Flask + SQLite за gunicorn
FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1
WORKDIR /app
COPY ex/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt gunicorn
COPY ex/ .
# копия скриптов базы — том /app/db при первом запуске пустой
RUN cp -r db /opt/db-seed
COPY docker/entrypoint.sh /entrypoint.sh
EXPOSE 8000
VOLUME ["/app/db", "/app/app/static/uploads"]
ENTRYPOINT ["sh", "/entrypoint.sh"]

View file

@ -3,7 +3,6 @@
[Русский](README.md) · **English** [Русский](README.md) · **English**
[![CI](https://github.com/EDeev/web-dev/actions/workflows/ci.yml/badge.svg)](https://github.com/EDeev/web-dev/actions/workflows/ci.yml) [![CI](https://github.com/EDeev/web-dev/actions/workflows/ci.yml/badge.svg)](https://github.com/EDeev/web-dev/actions/workflows/ci.yml)
[![Release](https://img.shields.io/github/v/release/EDeev/web-dev)](https://github.com/EDeev/web-dev/releases)
Labs, homework and the exam project for the "Web Development" course at Moscow Polytechnic University: Labs, homework and the exam project for the "Web Development" course at Moscow Polytechnic University:
six Flask apps, 37 Python exercises with tests, and an online library. six Flask apps, 37 Python exercises with tests, and an online library.
@ -40,15 +39,6 @@ python run.py
`SECRET_KEY` and `FLASK_DEBUG` come from environment variables. Homework tests: `SECRET_KEY` and `FLASK_DEBUG` come from environment variables. Homework tests:
`cd hws/hw-1 && pytest test.py`. `cd hws/hw-1 && pytest test.py`.
**Docker:** the exam app `ex/` as a prebuilt image:
```bash
docker run -d -p 8000:8000 -e SECRET_KEY=change-me -v webdev-db:/app/db -v webdev-uploads:/app/app/static/uploads ghcr.io/edeev/web-dev
docker logs <container> # on first start: logins and passwords of the test users
```
(same as `git.deev.su/edeev/web-dev`), then open http://localhost:8000.
## License ## License
Coursework (Web Development, Moscow Polytechnic University, 2025/26). The code is open for study; there Coursework (Web Development, Moscow Polytechnic University, 2025/26). The code is open for study; there

View file

@ -3,7 +3,6 @@
**Русский** · [English](README.en.md) **Русский** · [English](README.en.md)
[![CI](https://github.com/EDeev/web-dev/actions/workflows/ci.yml/badge.svg)](https://github.com/EDeev/web-dev/actions/workflows/ci.yml) [![CI](https://github.com/EDeev/web-dev/actions/workflows/ci.yml/badge.svg)](https://github.com/EDeev/web-dev/actions/workflows/ci.yml)
[![Release](https://img.shields.io/github/v/release/EDeev/web-dev)](https://github.com/EDeev/web-dev/releases)
Лабораторные, домашние задания и экзаменационный проект по курсу «Веб-разработка» в Московском Лабораторные, домашние задания и экзаменационный проект по курсу «Веб-разработка» в Московском
Политехе: шесть Flask-приложений, 37 задач на Python с тестами и электронная библиотека. Политехе: шесть Flask-приложений, 37 задач на Python с тестами и электронная библиотека.
@ -40,15 +39,6 @@ python run.py
`SECRET_KEY` и `FLASK_DEBUG` задаются переменными окружения. Тесты домашних заданий: `SECRET_KEY` и `FLASK_DEBUG` задаются переменными окружения. Тесты домашних заданий:
`cd hws/hw-1 && pytest test.py`. `cd hws/hw-1 && pytest test.py`.
**Docker:** экзаменационное приложение `ex/` — готовый образ:
```bash
docker run -d -p 8000:8000 -e SECRET_KEY=смените-меня -v webdev-db:/app/db -v webdev-uploads:/app/app/static/uploads ghcr.io/edeev/web-dev
docker logs <контейнер> # при первом запуске — логины и пароли тестовых пользователей
```
(то же — `git.deev.su/edeev/web-dev`), сайт на http://localhost:8000.
## Лицензия ## Лицензия
Учебный проект (Веб-разработка, Московский Политех, 2025/26). Код открыт для изучения, отдельной Учебный проект (Веб-разработка, Московский Политех, 2025/26). Код открыт для изучения, отдельной

View file

@ -1,7 +0,0 @@
#!/bin/sh
# Первый запуск: база с ролями и тестовыми пользователями (пароли — из SEED_*_PASSWORD или случайные, в лог)
set -e
cp -n /opt/db-seed/* /app/db/ 2>/dev/null || true
[ -f /app/db/library.db ] || python db/db_seed.py
mkdir -p /app/app/static/uploads
exec gunicorn --workers 2 --bind 0.0.0.0:8000 app:app