Personal blog (Golang, Fiber)

Dima af2ea89095 Refactoring hace 3 meses
build 1f76b90ab7 Refactoring hace 3 meses
cmd af2ea89095 Refactoring hace 3 meses
init af2ea89095 Refactoring hace 3 meses
internal af2ea89095 Refactoring hace 3 meses
migrations a4f9e0fdf5 Update migrations hace 1 año
web 013e124261 Add logout hace 1 año
.gitignore cfd6f0f4f1 Update services hace 1 año
Makefile a6e9a6b909 Rebuild app hace 1 año
docker-compose.yml 664d562557 Update docker and makefile hace 1 año
go.mod af2ea89095 Refactoring hace 3 meses
go.sum af2ea89095 Refactoring hace 3 meses
readme.md af2ea89095 Refactoring hace 3 meses

readme.md

Формат файла конфигурации приложения

config/.env

# APP
APP_PORT=8080
APP_CORS_ALLOW_ORIGIN=*
APP_CORS_ALLOW_METHODS=GET,POST,PUT,DELETE

# DB
DB_DRIVER=postgres
DB_HOST=localhost
DB_PORT=1111
DB_NAME=db
DB_USER=user
DB_PASSWORD=pass
DB_SSL_MODE=disable
DB_MAX_OPEN_CONNS=0
DB_MAX_IDLE_CONNS=0
DB_MAX_OPEN_CONN_LIFETIME=0s
DB_MAX_IDLE_CONN_LIFETIME=0s

# Cache
CACHE_DEFAULT_EXPIRATION=24h
CACHE_CLEANUP_INTERVAL=1h

# SMTP
SMTP_HOST=smtp.ru
SMTP_PORT=2525
SMTP_USER=example@user.ru
SMTP_PASSWORD=pass

# JWT
JWT_SECRET_KEY=test_secret
JWT_COOKIE=cookie
JWT_LIFETIME=1h

# Basic auth
BASIC_AUTH_USER=user
BASIC_AUTH_PASSWORD=pass

# Static
STATIC_VERSION=1

# Logger
LOGGER_STDOUT_ENABLED=true
LOGGER_STDOUT_LEVEL=info
LOGGER_STDOUT_ADD_SOURCE=false
LOGGER_EMAIL_ENABLED=true
LOGGER_EMAIL_LEVEL=error
LOGGER_EMAIL_ADD_SOURCE=true
LOGGER_EMAIL=info@dmitriygnatenko.ru
LOGGER_EMAIL_SUBJECT=Error from dmitriygnatenko.ru

Команды

  • make run (запуск приложения)
  • make test (запуск тестов)
  • make test-cover (статистика по покрытию тестами)
  • make lint (запуск линтера)
  • make migration-status (статус миграций)
  • make migration-up (применение миграций)
  • make migration-down (откат миграций)
  • make docker-build (сборка контейнеров)
  • make docker-up (запуск контейнеров)
  • make docker-down (остановка контейнеров)
  • make install-deps (установка зависимостей)
  • make app-build (компиляция приложения)

Метрики (защищены Basic auth)

/metrics