feat: Moves docker stuff to it's own directory, same with development databases.

This commit is contained in:
2025-01-26 17:14:49 -05:00
parent a920e35d39
commit 1f2bb900ca
7 changed files with 25 additions and 11 deletions

View File

@@ -57,7 +57,7 @@ jobs:
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
with:
context: .
file: Dockerfile
file: docker/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

1
.gitignore vendored
View File

@@ -11,3 +11,4 @@ db.sqlite
! .env.example
.vscode
.nvim
data/*

View File

@@ -15,6 +15,7 @@
x-shared_environment: &shared_environment
LOG_LEVEL: ${LOG_LEVEL:-debug}
SQLITE_FILENAME: "/data/seed.sqlite"
services:
app:
@@ -23,8 +24,12 @@ services:
context: .
environment:
<<: *shared_environment
volumes:
- "./data:/data"
ports:
- '8080:8080'
labels:
- dev.orbstack.domains=po.local
# user: '0' # uncomment to run as root for testing purposes even though Dockerfile defines 'vapor' user.
command: ["serve", "--env", "production", "--hostname", "0.0.0.0", "--port", "8080"]
migrate:
@@ -34,6 +39,8 @@ services:
environment:
<<: *shared_environment
command: ["migrate", "--yes"]
volumes:
- "./data:/data"
deploy:
replicas: 0
revert:
@@ -43,5 +50,10 @@ services:
environment:
<<: *shared_environment
command: ["migrate", "--revert", "--yes"]
volumes:
- "./data:/data"
deploy:
replicas: 0
volumes:
db:

View File

@@ -2,16 +2,23 @@ docker_image := "purchase_orders"
docker_tag := "latest"
build-docker file="Dockerfile":
@docker build -f {{file}} -t {{docker_image}}:{{docker_tag}} .
@docker build -f docker/{{file}} -t {{docker_image}}:{{docker_tag}} .
seed:
swift run App seed
rm-seed:
rm -rf seed.sqlite
rm-seed file="seed.sqlite":
rm -rf {{file}}
run:
./swift-dev
#!/usr/bin/env zsh
touch .build/browser-dev-sync
browser-sync start -p localhost:8080 --ws &
watchexec -w Sources -e .swift -r 'swift build --product App && touch .build/browser-dev-sync' &
watchexec -w .build/browser-dev-sync --ignore-nothing -r '.build/debug/App'
run-compose:
@docker compose -f ./docker/docker-compose.yml up app
clean:
rm -rf .build

View File

@@ -1,6 +0,0 @@
#!/usr/bin/env zsh
touch .build/browser-dev-sync
browser-sync start -p localhost:8080 --ws &
watchexec -w Sources -e .swift -r 'swift build --product App && touch .build/browser-dev-sync' &
watchexec -w .build/browser-dev-sync --ignore-nothing -r '.build/debug/App'