Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jacobian/personal-app-template
A cookiecutter template for little personal apps.
https://github.com/jacobian/personal-app-template
cookiecutter-template django flyio htmx tailscale tailwind
Last synced: 2 months ago
JSON representation
A cookiecutter template for little personal apps.
- Host: GitHub
- URL: https://github.com/jacobian/personal-app-template
- Owner: jacobian
- License: bsd-3-clause
- Created: 2024-01-17T18:59:52.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-01-23T19:21:24.000Z (11 months ago)
- Last Synced: 2024-04-16T03:22:06.781Z (9 months ago)
- Topics: cookiecutter-template, django, flyio, htmx, tailscale, tailwind
- Language: Python
- Homepage:
- Size: 42 KB
- Stars: 26
- Watchers: 2
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Notes
Sometimes I have tiny little personal web apps I want to write but the overhead of starting a new project gets in the way. This [cookiecutter](https://cookiecutter.readthedocs.io/en/stable/index.html) template is designed to help me get over that.
- Django, Tailwind, HTMX
- Deployed to Fly
- Behind Tailscale, piggybacking on Tailscale authThese end up being private apps -- no public interface, only accessible on my Tailnet. In other words this is sorta a replaecment for running things in a homelab or similar. A personal Intranet, if you will.
Since this is pretty specific to _me_ and the way _I_ want to write things, I'm unlikely to accept PRs. Feel free to ask first by opening and issue or emailing me or something! I don't want you to waste your time with a PR that I won't accept.
Excception: if there's something on my [TODO](#todo) list below, heck yeah I'll take a PR for it!
### Deployment
Generate a [tailscale auth key](https://login.tailscale.com/admin/settings/keys) - ephemeral, reusable.
```
fly launch [--org jacobian-org]
fly secrets set TAILNET_DOMAIN=clever-sushi.ts.net
fly secrets set TAILSCALE_AUTHKEY=....
fly deploy
```### Admin access / permissions
Users are auto-created from Tailscale auth, but are created without perms. To add permissions:
```
fly console
>>> from django.contrib.auth.models import User
>>> User.objects.filter(username="jacob").update(is_staff=True, is_superuser=True)
```### Making an app public
See `fly.toml` - there are lines commented out at the bottom that make things public. Think about whether to remove `TailscaleAuthMiddleware` or nah.