feat: dockerfile
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
||||
FROM python:3.14-alpine
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
VOLUME [ "/app/data" ]
|
||||
|
||||
RUN PIP_ROOT_USER_ACTION=ignore python3 -m pip install uv
|
||||
|
||||
COPY uv.lock pyproject.toml ./
|
||||
|
||||
RUN uv sync --no-dev
|
||||
|
||||
COPY main.py ./
|
||||
COPY src ./src/
|
||||
|
||||
ENTRYPOINT [ "uv", "run", "--no-sync", "main.py" ]
|
||||
@@ -8,6 +8,8 @@ endif
|
||||
|
||||
RUFF ?= $(UV) run ruff
|
||||
TY ?= $(UV) run ty
|
||||
DOCKER ?= docker
|
||||
DOCKER_TAG ?= localhost/stapler:latest
|
||||
|
||||
# DOCS
|
||||
|
||||
@@ -52,6 +54,14 @@ ruff-format-check: .venv ## ruff format (check only)
|
||||
ty: .venv ## ty check
|
||||
@$(TY) check
|
||||
|
||||
.PHONY: docker-build
|
||||
docker-build: ## docker build
|
||||
@$(DOCKER) build . -t $(DOCKER_TAG)
|
||||
|
||||
.PHONY: docker-run
|
||||
docker-run: docker-build ## docker run
|
||||
@$(DOCKER) run -it -p 8080:8080 -v ./data:/app/data $(DOCKER_TAG)
|
||||
|
||||
# ACTIONS
|
||||
|
||||
.PHONY: format
|
||||
@@ -59,3 +69,6 @@ format: ruff-fix ruff-format ## format project
|
||||
|
||||
.PHONY: lint
|
||||
lint: ruff ruff-format-check ty ## lint project
|
||||
|
||||
.PHONY: start
|
||||
start: docker-run ## start server in localhost
|
||||
|
||||
@@ -17,7 +17,7 @@ options:
|
||||
## TODO
|
||||
|
||||
- [x] basic http server
|
||||
- [ ] docker container
|
||||
- [x] docker container
|
||||
- [ ] env instead of args when available
|
||||
- [ ] POST gzip data into /data/xxx
|
||||
- [ ] DELETE request
|
||||
@@ -43,11 +43,16 @@ ruff-fix ruff check (and fix)
|
||||
ruff-format ruff format
|
||||
ruff-format-check ruff format (check only)
|
||||
ty ty check
|
||||
docker-build docker build
|
||||
docker-run docker run
|
||||
format format project
|
||||
lint lint project
|
||||
start start server in localhost
|
||||
|
||||
Environment:
|
||||
UV = uv
|
||||
RUFF = uv run ruff
|
||||
TY = uv run ty
|
||||
DOCKER = docker
|
||||
DOCKER_TAG = localhost/stapler:latest
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user