Compare commits

..

5 Commits

9 changed files with 40 additions and 11 deletions

9
.dockerignore Normal file
View File

@@ -0,0 +1,9 @@
.git
.gitignore
**/.env
**/.env.*
**/node_modules
**/dist
**/__pycache__
temp
*.log

View File

@@ -1,5 +1,23 @@
# Changelog
## [Frontend 0.9.3] - 2026-08-20
### Fixed
- Aligned sidebar versions and copyright as separate footer lines and updated the copyright period.
## [Backend 0.6.8] - 2026-08-20
### Fixed
- Docker build context now excludes environment files and other local secret-bearing artifacts.
## [Backend 0.6.7] - 2026-08-20
### Changed
- Docker Compose now injects backend configuration from the untracked `backend/.env`; secrets are no longer hard-coded or copied into the image.
## [Backend 0.6.6] - 2026-08-19
### Fixed

View File

@@ -31,7 +31,6 @@ COPY --from=build /app/backend/dist ./dist
COPY --from=build /app/backend/package.json ./package.json
COPY --from=build /app/node_modules ./node_modules
COPY --from=build /app/backend/node_modules/ ./node_modules/
COPY backend/.env .env
EXPOSE 3000
CMD ["node","dist/app.js"]

View File

@@ -21,6 +21,8 @@ createdb family_budget
npm run dev -w backend
```
Для Docker Compose production-переменные передаются из `backend/.env`. Файл не хранится в Git и не копируется в Docker image; перед запуском создайте его из `.env.example` и заполните секреты.
Сервер стартует на `http://localhost:3000` (или на порту из `PORT`).
## Скрипты

View File

@@ -1,6 +1,6 @@
{
"name": "@family-budget/backend",
"version": "0.6.6",
"version": "0.6.8",
"private": true,
"scripts": {
"dev": "tsx watch src/app.ts",

View File

@@ -7,13 +7,8 @@ services:
context: .
dockerfile: Dockerfile.backend
container_name: family-budget-backend
environment:
# Имя контейнера/сервиса PostgreSQL — postgres или postgres_budget
- DB_HOST=postgres_budget
- DB_PORT=5432
- DB_NAME=family_budget
- DB_USER=budget_user
- DB_PASSWORD=difficult_Paaaaaasword
env_file:
- ./backend/.env
ports:
- "3000:3000"
restart: unless-stopped

View File

@@ -1,6 +1,6 @@
{
"name": "@family-budget/frontend",
"version": "0.9.2",
"version": "0.9.3",
"private": true,
"type": "module",
"scripts": {

View File

@@ -104,7 +104,7 @@ export function Layout({ children }: { children: ReactNode }) {
<span className="sidebar__version">
FE {__FE_VERSION__} · BE {beVersion ?? '…'}
</span>
<span className="sidebar__copyright">© 2025 Семейный бюджет</span>
<span className="sidebar__copyright">© 20252026 Семейный бюджет</span>
</div>
</div>
</aside>

View File

@@ -242,6 +242,12 @@ button {
gap: 10px;
}
.sidebar__meta {
flex-direction: column;
align-items: flex-start;
gap: 4px;
}
.sidebar__user {
min-width: 0;
overflow: hidden;