Compare commits
9 Commits
2939b4a515
...
fix-csrf
Author | SHA1 | Date | |
---|---|---|---|
615d4e59c6 | |||
83f075e49d | |||
d3682368b4 | |||
c9b2d5bd8d
|
|||
0d20b543b0
|
|||
f7b69f7704
|
|||
1ccfdc321a
|
|||
25a58c2732
|
|||
270d9f7296
|
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@ -0,0 +1 @@
|
|||||||
|
src/web/static/*
|
12
CHANGELOG.md
12
CHANGELOG.md
@ -1,3 +1,15 @@
|
|||||||
|
## Unreleased
|
||||||
|
|
||||||
|
* Fix collectstaticfiles causing error when restarting container (https://git.kucharczyk.xyz/lukas/timetracker/issues/23)
|
||||||
|
|
||||||
|
## 0.1.3 / 2023-01-08 15:23+01:00
|
||||||
|
|
||||||
|
* Fix CSRF error (https://git.kucharczyk.xyz/lukas/timetracker/pulls/22)
|
||||||
|
|
||||||
|
## 0.1.2 / 2023-01-07 22:05+01:00
|
||||||
|
|
||||||
|
* Switch to Uvicorn/Gunicorn + Caddy (https://git.kucharczyk.xyz/lukas/timetracker/pulls/4)
|
||||||
|
|
||||||
## 0.1.1 / 2023-01-05 23:26+01:00
|
## 0.1.1 / 2023-01-05 23:26+01:00
|
||||||
* Order by timestamp_start by default
|
* Order by timestamp_start by default
|
||||||
* Add pre-commit hook to update version
|
* Add pre-commit hook to update version
|
||||||
|
@ -6,10 +6,11 @@ RUN npm install && \
|
|||||||
|
|
||||||
FROM python:3.10.9-alpine
|
FROM python:3.10.9-alpine
|
||||||
|
|
||||||
ENV VERSION_NUMBER 0.1.1-3-gd029fda
|
ENV VERSION_NUMBER 0.1.2-3-g83f075e
|
||||||
ENV PROD 1
|
ENV PROD 1
|
||||||
|
|
||||||
RUN apk add \
|
RUN apk add \
|
||||||
|
bash \
|
||||||
vim \
|
vim \
|
||||||
curl \
|
curl \
|
||||||
caddy
|
caddy
|
||||||
|
11
Makefile
11
Makefile
@ -1,5 +1,3 @@
|
|||||||
.PHONY: createsuperuser shell cleanstatic
|
|
||||||
|
|
||||||
all: css migrate
|
all: css migrate
|
||||||
|
|
||||||
initialize: npm css migrate sethookdir loadplatforms
|
initialize: npm css migrate sethookdir loadplatforms
|
||||||
@ -24,8 +22,11 @@ migrate: makemigrations
|
|||||||
dev: migrate sethookdir
|
dev: migrate sethookdir
|
||||||
poetry run python src/web/manage.py runserver_plus
|
poetry run python src/web/manage.py runserver_plus
|
||||||
|
|
||||||
|
caddy:
|
||||||
|
caddy run --watch
|
||||||
|
|
||||||
dev-prod: migrate collectstatic sethookdir
|
dev-prod: migrate collectstatic sethookdir
|
||||||
cd src/web/; poetry run python -m gunicorn --bind 0.0.0.0:8001 web.asgi:application -k uvicorn.workers.UvicornWorker
|
cd src/web/; PROD=1 poetry run python -m gunicorn --bind 0.0.0.0:8001 web.asgi:application -k uvicorn.workers.UvicornWorker
|
||||||
|
|
||||||
dumptracker:
|
dumptracker:
|
||||||
poetry run python src/web/manage.py dumpdata --format yaml tracker --output tracker_fixture.yaml
|
poetry run python src/web/manage.py dumpdata --format yaml tracker --output tracker_fixture.yaml
|
||||||
@ -43,7 +44,7 @@ shell:
|
|||||||
poetry run python src/web/manage.py shell
|
poetry run python src/web/manage.py shell
|
||||||
|
|
||||||
collectstatic:
|
collectstatic:
|
||||||
poetry run python src/web/manage.py collectstatic
|
poetry run python src/web/manage.py collectstatic -c --no-input
|
||||||
|
|
||||||
poetry.lock: pyproject.toml
|
poetry.lock: pyproject.toml
|
||||||
poetry install
|
poetry install
|
||||||
@ -60,4 +61,4 @@ date:
|
|||||||
cleanstatic:
|
cleanstatic:
|
||||||
rm -r src/web/static/*
|
rm -r src/web/static/*
|
||||||
|
|
||||||
clean: cleanstatic
|
clean: cleanstatic
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
---
|
---
|
||||||
version: "2.1"
|
|
||||||
services:
|
services:
|
||||||
timetracker:
|
timetracker:
|
||||||
image: registry.kucharczyk.xyz/timetracker
|
image: registry.kucharczyk.xyz/timetracker
|
||||||
build: Dockerfile
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
container_name: timetracker
|
container_name: timetracker
|
||||||
environment:
|
environment:
|
||||||
- TZ=Europe/Prague
|
- TZ=Europe/Prague
|
||||||
|
@ -5,9 +5,9 @@ echo "Apply database migrations"
|
|||||||
poetry run python src/web/manage.py migrate
|
poetry run python src/web/manage.py migrate
|
||||||
|
|
||||||
echo "Collect static files"
|
echo "Collect static files"
|
||||||
poetry run python src/web/manage.py collectstatic
|
poetry run python src/web/manage.py collectstatic --clear --no-input
|
||||||
|
|
||||||
echo "Starting server"
|
echo "Starting server"
|
||||||
caddy run
|
caddy start
|
||||||
cd src/web || exit
|
cd src/web || exit
|
||||||
poetry run python -m gunicorn --bind 0.0.0.0:8001 web.asgi:application -k uvicorn.workers.UvicornWorker
|
poetry run python -m gunicorn --bind 0.0.0.0:8001 web.asgi:application -k uvicorn.workers.UvicornWorker
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "timetracker"
|
name = "timetracker"
|
||||||
version = "0.1.1"
|
version = "0.1.2"
|
||||||
description = "A simple time tracker."
|
description = "A simple time tracker."
|
||||||
authors = ["Lukáš Kucharczyk <lukas@kucharczyk.xyz>"]
|
authors = ["Lukáš Kucharczyk <lukas@kucharczyk.xyz>"]
|
||||||
license = "GPL"
|
license = "GPL"
|
||||||
|
@ -145,7 +145,8 @@ LOGGING = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
CSRF_TRUSTED_ORIGINS = []
|
_csrf_trusted_origins = os.environ.get("CSRF_TRUSTED_ORIGINS")
|
||||||
|
if _csrf_trusted_origins:
|
||||||
if os.environ.get("PROD"):
|
CSRF_TRUSTED_ORIGINS = _csrf_trusted_origins.split(",")
|
||||||
CSRF_TRUSTED_ORIGINS.append(os.environ.get("CSRF_TRUSTED_ORIGINS"))
|
else:
|
||||||
|
CSRF_TRUSTED_ORIGINS = []
|
||||||
|
@ -16,10 +16,13 @@ Including another URLconf
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.urls import include, path
|
from django.urls import include, path
|
||||||
from django.views.generic import RedirectView
|
from django.views.generic import RedirectView
|
||||||
|
from django.conf import settings
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("admin/", admin.site.urls),
|
|
||||||
path("", RedirectView.as_view(url="/tracker/list-sessions")),
|
path("", RedirectView.as_view(url="/tracker/list-sessions")),
|
||||||
path("tracker/", include("tracker.urls")),
|
path("tracker/", include("tracker.urls")),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if settings.DEBUG:
|
||||||
|
urlpatterns.append(path("admin/", admin.site.urls))
|
||||||
|
Reference in New Issue
Block a user