snipt/README.md

2.5 KiB

Snipt

Running locally

  • Clone the repo.
  • cd snippets
  • python3 -m venv ~/.virtualenvs/snippets
  • source ~/.virtualenvs/snippets/bin/activate
  • pip install -r requirements.txt
  • brew install postgresql
  • brew services start postgresql
  • createuser snippets
  • createdb snippets --owner=snippets
  • cp settings_local.py-template settings_local.py // modify if necessary
  • curl -X PUT "localhost:9200/haystack?pretty"
  • python manage.py update_index // optional if you have a local DB dump with snippets
  • make run

Deploying on Dokku

  • dokku apps:create snippets
  • dokku postgres:create snippets
  • dokku postgres:link snippets snippets
  • scp snipt.dump nsergeant@server.nicksergeant.com:/home/nsergeant
  • dokku postgres:connect snippets < snipt.dump
  • dokku domains:add snippets snippets.siftie.com
  • dokku storage:mount snippets /var/lib/dokku/data/storage/snippets-whoosh:/app/snippets-whoosh
  • dokku config:set DOKKU_LETSENCRYPT_EMAIL=team@siftie.com SECRET_KEY=<some-secret-key> USE_SSL=true WHOOSH_PATH=/app/snippets-whoosh/whoosh_index
  • git remote add dokku dokku@server.nicksergeant.com:snippets
  • git push dokku

Automatic deploy to Heroku

You can click the button below to automatically deploy Snipt to Heroku.

Deploy

Manual deploy to Heroku

  • Clone the repo.
  • heroku create
  • heroku addons:add heroku-postgresql:hobby-dev
  • heroku addons:add searchbox
  • heroku config:add SECRET_KEY=<some-secret-key>
  • git push heroku
  • heroku run python manage.py migrate
  • heroku run python manage.py createsuperuser
  • Visit yourapp.herokuapp.com and login with the user you just created.

Updating your Heroku instance after an automatic deploy

  • git clone https://github.com/nicksergeant/snipt
  • cd snipt
  • git checkout heroku
  • heroku git:remote -a <your-instance-name>
  • git push heroku heroku:master

Options

If you want email support (for password resets, server errors, etc):

  • heroku addons:create postmark:10k
  • heroku run addons:open postmark -> use an email you control and confirm it
  • heroku config:add POSTMARK_EMAIL=<email_from_above>

If you want to disable user-facing signup:

  • heroku config:set DISABLE_SIGNUP=true

If you want to enable Django's DEBUG mode:

  • heroku config:add DEBUG=true

If you want to enable SSL on a custom domain after you've configured your Heroku SSL cert:

  • heroku config:add USE_SSL=true