Go to file
Dan Ballard 62366427fb markdown fix 2015-12-25 20:10:59 -08:00
categories gofmt, delete works 2015-09-13 14:57:22 -07:00
config add to transmet button 2015-05-13 23:12:39 -07:00
css a lot of ui cleaning up, extending csrf time, adding csrf logging errors to screen 2015-12-25 09:07:03 -08:00
db deployment tweaks 2015-05-16 13:04:46 -07:00
fonts fonts, routing setup 2015-04-29 08:25:48 -07:00
js finish csrf and gorilla mux port work 2015-11-19 20:00:33 -08:00
news add paging to db call 2015-12-25 09:31:23 -08:00
templates fix username color 2015-12-25 10:26:53 -08:00
user gofmt, delete works 2015-09-13 14:57:22 -07:00
.gitignore fix add to transmet link 2015-11-22 09:55:27 -08:00
LICENSE Initial commit 2015-04-26 19:46:44 -07:00
README.md markdown fix 2015-12-25 20:10:59 -08:00
favicon.ico favicon 2015-05-21 22:59:28 -07:00
gen-csrf.sh use urandom 2015-11-20 10:09:35 -08:00
main.go disable csrf until SSL 2015-12-25 13:21:59 -08:00
route_handlers.go a lot of ui cleaning up, extending csrf time, adding csrf logging errors to screen 2015-12-25 09:07:03 -08:00
templates.go implement CSRF per docs - doesnt work. css,js files 404 and get csrf invalid errors on form submit 2015-11-03 08:16:59 -08:00
transmet.conf bad sleep upstart hack so that postgres has a chance to start before transmet 2015-10-31 10:32:50 -07:00

README.md

transmet thrree eyed smiley face

Quick fast personal link store that exports to a HTML template for quick posting to a blog

Usecase: storing interesting news articles you come across during a week with at the moment notes/commentary and then exporting in a currated organized format for immediate blog posting at your convience

Note

As this is a personal project, some of the niceities like user managment are left to be done in SQL. I needed a tool to store links and export to html so that's what I've focused on.

Install

go get github.com/dballard/transmet

DB setup

sudo apt-get install postgres postgresql-contrib

Setup postgres to handle a local connection for transmet in pg_hba.conf either: host transmet transmet 127.0.0.1/32 md5 or a more liberal: host all all 127.0.0.1/32 md5 and do the same for host all all ::1/128 md5 ipv6

create ssl certs and put them somewhere

enable SSL in postgresql.conf

ssl = true
ssl_cert_file = 'WHER_YOU_PUT/server.crt'
ssl_key_file = 'WHERE_YOU_PUT/server.key'   

Create postgress DB and user

sh
sudo -u postgres --or-- sudo su - postgres
createuser -S -P -E transmet
createdb --owner transmet --encoding utf8 transmet
psql
\c transmet
CREATE EXTENSION pgcrypto;

put DB details in:

  • db/dbconf.yml (copied from db/dbconf.EXAMPLE)

  • config/prod.json (copied from config/local.json)

    go get bitbucket.org/liamstask/goose/cmd/goose

    goose up

Run

Assumed GOPATH=/opt/go

edit transmet.conf to point to correct location

sudo cp transmet.conf /etc/init
./gen-csrf.sh
sudo service transmet start

Setup environment

Adding a user

INSERT INTO users (username, password) VALUES('USERNAME', crypt('PASSWORD', gen_salt('bf')));