A community website to rate and discover youtube videos.
Built with Django (django-rest-framework, whitenoise), Tailwind (Flowbite) and htmx. Deployed on fly.io.
- python
- nodejs
- npm
- gettext
python -m venv venv
source venv/bin/activate
pip install poetry
poetry install
npm install -D tailwindcss
npm install flowbite
npm run tailwind-watch
python manage.py migrate --run-syncdb
poetry update
npm update
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
- Create
.env
with the required secrets (see.env.example
for an example)
Deployment from scratch with fly.io
fly launch
fly secrets set LOCAL_DEPLOY="0"
fly secrets set ... # see .env.example for list of environment variables to set
fly deploy
fly certs add domain.tld
fly certs check domain.tld
fly.io cheatsheet
fly secrets list
fly logs
fly ssh console
fly ssh console --pty -C 'python /code/manage.py migrate'
fly ssh console --pty -C 'python /code/manage.py createsuperuser'
yt-dlp -j --flat-playlist $CHANNEL_URL | jq -r '.id' | sed 's_^_https://www.youtube.com/watch?v=_'
cd ratings
django-admin makemessages -a