Personal blog (Golang, Fiber)

Dima 64ac7828bc Merge remote-tracking branch 'origin/feature/mariadb' into feature/mariadb 3 日 前
build 02a92017e3 Refactoring 2 ヶ月 前
cmd 541ff11f8c Update app 3 日 前
init 02a92017e3 Refactoring 2 ヶ月 前
internal c5490baffa Update app 3 日 前
migrations 0752f5a2fc Update migrations 3 日 前
web 013e124261 Add logout 1 年間 前
.gitignore cfd6f0f4f1 Update services 1 年間 前
Makefile 98c8ac3f3f Update fiber app 3 日 前
docker-compose.yml c5336704b5 Update local Docker 3 日 前
go.mod 541ff11f8c Update app 3 日 前
go.sum 541ff11f8c Update app 3 日 前
readme.md 541ff11f8c Update app 3 日 前

readme.md

Config example

.env

# APP
APP_PORT=8080

# CORS
CORS_ALLOW_ORIGIN=*
CORS_ALLOW_METHODS=GET,POST,PUT,DELETE

# DB
DB_DRIVER=mysql
DB_HOST=localhost
DB_PORT=1111
DB_NAME=db
DB_USER=user
DB_PASSWORD=pass
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

# Rate limiter
LOGIN_RATE_LIMITER_MAX_REQUESTS=10
LOGIN_RATE_LIMITER_EXPIRATION=30s	

# 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_RECIPIENT=info@dmitriygnatenko.ru
LOGGER_EMAIL_SUBJECT=Error from dmitriygnatenko.ru

Commands

  • make run (run application)
  • make test (run tests)
  • make test-cover (test coverage statistics)
  • make lint (run linter)
  • make migration-status (migrations status)
  • make migration-up (apply migrations)
  • make migration-down (rollback migrations)
  • make docker-build (build and run Docker containers)
  • make docker-up (run Docker containers)
  • make docker-down (stop Docker containers)
  • make install-deps (dependencies installation)
  • make app-build (compile application)

Metrics (protected by Basic auth)

/metrics