78 lines
1.9 KiB
Markdown
78 lines
1.9 KiB
Markdown
# PanelHosting
|
|
|
|
Панель управления хостингом (аналог FastPanel) на Go + Docker + PostgreSQL.
|
|
|
|
Биллинг и оплата — в планах. Сейчас реализована база данных и инфраструктура для панели.
|
|
|
|
## Стек
|
|
|
|
- **Go 1.23** — backend
|
|
- **PostgreSQL 16** — хранение данных
|
|
- **Docker Compose** — локальная разработка
|
|
- **golang-migrate** — миграции схемы
|
|
|
|
## Быстрый старт
|
|
|
|
### 1. Переменные окружения
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
### 2. Запуск PostgreSQL
|
|
|
|
```bash
|
|
docker compose up -d postgres
|
|
```
|
|
|
|
### 3. Миграции
|
|
|
|
Через Docker:
|
|
|
|
```bash
|
|
docker compose --profile migrate run --rm migrate
|
|
```
|
|
|
|
Или локально:
|
|
|
|
```bash
|
|
export DATABASE_URL=postgres://panel:panel_secret@localhost:5432/panel?sslmode=disable
|
|
go run ./cmd/migrate
|
|
```
|
|
|
|
### 4. Проверка подключения
|
|
|
|
```bash
|
|
go run ./cmd/panel
|
|
```
|
|
|
|
## Структура проекта
|
|
|
|
```
|
|
cmd/
|
|
migrate/ — CLI для применения миграций
|
|
panel/ — точка входа панели (API в разработке)
|
|
internal/
|
|
config/ — конфигурация из env
|
|
database/ — пул соединений и миграции
|
|
models/ — Go-модели
|
|
migrations/ — SQL-схема
|
|
```
|
|
|
|
## Схема БД
|
|
|
|
| Раздел | Таблицы |
|
|
|--------|---------|
|
|
| Auth | `users`, `sessions`, `api_keys` |
|
|
| Серверы | `servers`, `server_access` |
|
|
| Сайты | `sites`, `domains` |
|
|
| Сервисы | `databases`, `database_users`, `ftp_accounts`, `ssl_certificates` |
|
|
| Почта | `mail_domains`, `mail_accounts` |
|
|
| DNS | `dns_zones`, `dns_records` |
|
|
| Операции | `cron_jobs`, `backups`, `jobs` |
|
|
| Аудит | `audit_logs` |
|
|
|
|
## Лицензия
|
|
|
|
Proprietary
|