https://github.com/euventura/harmonista
https://github.com/euventura/harmonista
blog cms golang
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/euventura/harmonista
- Owner: euventura
- Created: 2025-11-02T17:25:13.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-12-29T16:17:13.000Z (6 months ago)
- Last Synced: 2026-01-01T20:43:53.553Z (6 months ago)
- Topics: blog, cms, golang
- Language: Go
- Homepage: https://harmonista.org
- Size: 172 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# harmonista
Uma rede de publicação de texto minimalista para quem gosta de ler e escrever. Sem analytics, sem trackers, sem cookies. Apenas texto, conteúdo e silêncio.
[harmonista.org](https://harmonista.org)
## Filosofia
- Sem distrações, sem coleta de dados
- Respeito à privacidade
## Como rodar
Pré‑requisitos: Go 1.22+ (para compilar) ou binário já construído.
### Configuração Inicial
1. Copie o arquivo de exemplo de configuração:
```bash
cp .env.example .env
```
2. Edite o arquivo `.env` com suas configurações:
```bash
nano .env # ou use seu editor preferido
```
### Modo Desenvolvimento (HTTP apenas)
Configure o `.env` para desenvolvimento:
```env
database=sqlite
sqlite_db=database.db
SESSION_SECRET=LONG_LONG_SECRET
DOMAIN=http://localhost
# Deixe SSL_CERT_PATH e SSL_KEY_PATH vazios ou comentados
```
Execute o servidor:
```bash
# Compilar e rodar
go build -o harmonista .
./harmonista
# Ou rodar diretamente sem compilar
go run main.go
```
Por padrão, o servidor inicia na porta 80 em modo HTTP (desenvolvimento).
### Modo Produção (HTTPS com Certbot)
O sistema suporta HTTPS automático com certificados do Let's Encrypt via Certbot.
#### 1. Instalar o Certbot
```bash
# Ubuntu/Debian
sudo apt update
sudo apt install certbot
# Fedora/RHEL
sudo dnf install certbot
# Arch Linux
sudo pacman -S certbot
```
#### 2. Gerar certificados SSL
```bash
# Certifique-se de que nada está rodando nas portas 80 e 443
sudo certbot certonly --standalone -d seudominio.com -d www.seudominio.com
```
Os certificados serão gerados em:
- Certificado: `/etc/letsencrypt/live/seudominio.com/fullchain.pem`
- Chave privada: `/etc/letsencrypt/live/seudominio.com/privkey.pem`
#### 3. Configurar arquivo .env
Edite o arquivo `.env` com as configurações de produção:
```env
database=sqlite
sqlite_db=database.db
SESSION_SECRET=LONG_LONG_SECRET
DOMAIN=https://seudominio.com
SSL_CERT_PATH=/etc/letsencrypt/live/seudominio.com/fullchain.pem
SSL_KEY_PATH=/etc/letsencrypt/live/seudominio.com/privkey.pem
```
## Estrutura (resumo)
- `admin/` — painel administrativo (views e handlers)
- `blog/` — frontend público (views e handlers)
- `database/` — migrações e SQL
- `models/` — definições de tabelas e modelos
- `public/` — assets estáticos (CSS)
- `main.go` — ponto de entrada da aplicação
## Licença
Este projeto é licenciado sob a WTFPL (Do What the F— You Want To Public License).
Mais detalhes: http://www.wtfpl.net/