From 274d587472d0407015c8e84a4687a7653343b180 Mon Sep 17 00:00:00 2001 From: Donovan Date: Thu, 5 Dec 2024 16:02:04 -0600 Subject: [PATCH 1/8] underscore to dash --- compose/{coolify_compose.yaml => coolify-compose.yaml} | 0 compose/{local_compose.yaml => local-compose.yaml} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename compose/{coolify_compose.yaml => coolify-compose.yaml} (100%) rename compose/{local_compose.yaml => local-compose.yaml} (100%) diff --git a/compose/coolify_compose.yaml b/compose/coolify-compose.yaml similarity index 100% rename from compose/coolify_compose.yaml rename to compose/coolify-compose.yaml diff --git a/compose/local_compose.yaml b/compose/local-compose.yaml similarity index 100% rename from compose/local_compose.yaml rename to compose/local-compose.yaml From c46f545827c4ae8785bd632d966882e484b70dfb Mon Sep 17 00:00:00 2001 From: Donovan Date: Thu, 5 Dec 2024 16:02:23 -0600 Subject: [PATCH 2/8] implement taskfile.yaml --- Taskfile.yaml | 29 +++++++++++++++++++++++++++++ scripts/docker_build.sh | 1 - 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 Taskfile.yaml delete mode 100644 scripts/docker_build.sh diff --git a/Taskfile.yaml b/Taskfile.yaml new file mode 100644 index 0000000..4ff06dd --- /dev/null +++ b/Taskfile.yaml @@ -0,0 +1,29 @@ +version: "3" + +vars: + compose_file: "local-compose.yaml" + cache_bust: + sh: "date +%s" + +tasks: + build: + cmds: + - docker compose -f {{.compose_file}} build --build-arg CACHE_BUST={{.cache_bust}} + up: + cmds: + - CACHE_BUST={{.cache_bust}} docker compose -f {{.compose_file}} up --build + start: + cmds: + - docker compose -f {{.compose_file}} up -d + down: + cmds: + - docker compose -f {{.compose_file}} down + clean: + cmds: + - docker system prune -f + push: + cmds: + - docker buildx build --platform linux/amd64,linux/arm64 -t registry.infra.nkode.tech/go-nkode:latest --push . + exec: + cmds: + - docker exec -it cron-nkode bash diff --git a/scripts/docker_build.sh b/scripts/docker_build.sh deleted file mode 100644 index 26b89f7..0000000 --- a/scripts/docker_build.sh +++ /dev/null @@ -1 +0,0 @@ -docker buildx build --platform linux/amd64,linux/arm64 -t registry.infra.nkode.tech/go-nkode:latest --push . From 0f08ed311e4c44e11143df6006e9f6ef42a19b11 Mon Sep 17 00:00:00 2001 From: Donovan Date: Thu, 5 Dec 2024 16:02:56 -0600 Subject: [PATCH 3/8] move backup_sqlite.sh to cron-nkode repo --- scripts/backup_sqlite.sh | 80 ---------------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 scripts/backup_sqlite.sh diff --git a/scripts/backup_sqlite.sh b/scripts/backup_sqlite.sh deleted file mode 100644 index 3c28e22..0000000 --- a/scripts/backup_sqlite.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash - -source ~/awscli-env/bin/activate -# Usage: ./backup_script.sh -l true or ./backup_script.sh -l false - -# Parse command-line argument for local_db flag -while getopts "l:" opt; do - case $opt in - l) - LOCAL_DB=$OPTARG - ;; - *) - echo "Usage: $0 -l [true|false]" - exit 1 - ;; - esac -done - -# Validate LOCAL_DB argument -if [ "$LOCAL_DB" != "true" ] && [ "$LOCAL_DB" != "false" ]; then - echo "Error: Invalid value for -l. Must be 'true' or 'false'." - exit 1 -fi - -# Set the database path and backup destination based on LOCAL_DB value -if [ "$LOCAL_DB" = true ]; then - DB_PATH="/Users/donov/databases/nkode.db" - BACKUP_DIR="/var/tmp" -else - DB_PATH="/home/dkelly/database/nkode.db" - BACKUP_DIR="/var/tmp" -fi - -BACKUP_NAME="backup_nkode_$(date +'%Y%m%d%H%M%S').tar.gz" - -# Check if the database file exists -if [ ! -f "$DB_PATH" ]; then - echo "Error: Database file not found at $DB_PATH" - exit 1 -fi - -# Perform a WAL checkpoint to flush the WAL file to the main DB file -echo "Checkpointing WAL..." -sqlite3 "$DB_PATH" "PRAGMA wal_checkpoint(FULL);" -if [ $? -ne 0 ]; then - echo "Error: Failed to checkpoint WAL" - exit 1 -fi - -# Check if related files (.wal, .shm) exist -WAL_FILE="${DB_PATH}-wal" -SHM_FILE="${DB_PATH}-shm" - -# Create a list of files to back up (main DB, WAL, and SHM if they exist) -FILES_TO_BACKUP=("$DB_PATH") -if [ -f "$WAL_FILE" ]; then - FILES_TO_BACKUP+=("$WAL_FILE") -fi -if [ -f "$SHM_FILE" ]; then - FILES_TO_BACKUP+=("$SHM_FILE") -fi - -# Create a tar.gz archive of the database and related files -echo "Creating backup..." -tar -czf "$BACKUP_DIR/$BACKUP_NAME" "${FILES_TO_BACKUP[@]}" -if [ $? -eq 0 ]; then - echo "Backup successful: $BACKUP_DIR/$BACKUP_NAME" -else - echo "Error: Backup failed" - exit 1 -fi - -# Upload backup to S3 -aws s3 cp "$BACKUP_DIR/$BACKUP_NAME" s3://nkode-db-backup -if [ $? -eq 0 ]; then - echo "Backup uploaded to S3 successfully." -else - echo "Error: Failed to upload backup to S3." - exit 1 -fi From 342436681bd0ed87c75e44d5ce95e9bfcba0422f Mon Sep 17 00:00:00 2001 From: Donovan Date: Thu, 5 Dec 2024 16:12:02 -0600 Subject: [PATCH 4/8] fix go build --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 18ccabd..d7fdd62 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,7 +19,7 @@ RUN go mod download COPY . . # Build the application -RUN go build +RUN go build -o go-nkode ./cmd # Stage 2: Runtime FROM debian:bookworm-slim From 1bec3bbbf287cef4fd58239f7f30ca2edf64f686 Mon Sep 17 00:00:00 2001 From: Donovan Date: Fri, 6 Dec 2024 09:55:04 -0600 Subject: [PATCH 5/8] add cert authority to dockerfile --- Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Dockerfile b/Dockerfile index d7fdd62..aa6101f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,6 +24,10 @@ RUN go build -o go-nkode ./cmd # Stage 2: Runtime FROM debian:bookworm-slim +RUN apt-get update && \ + apt-get install -y --no-install-recommends ca-certificates && \ + rm -rf /var/lib/apt/lists/* \ + #ENV FRONTEND_HOST=https://app.nkode.tech #ENV FRONTEND_HOST=http://localhost:8090 ENV SVG_DIR=/app/data/icons From 2df45ffd087e7466e4e4fe91c22641931ebda1e2 Mon Sep 17 00:00:00 2001 From: Donovan Date: Fri, 6 Dec 2024 09:56:36 -0600 Subject: [PATCH 6/8] add cert authority to dockerfile --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index aa6101f..2fcdf4f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,13 +26,14 @@ FROM debian:bookworm-slim RUN apt-get update && \ apt-get install -y --no-install-recommends ca-certificates && \ - rm -rf /var/lib/apt/lists/* \ + rm -rf /var/lib/apt/lists/* #ENV FRONTEND_HOST=https://app.nkode.tech #ENV FRONTEND_HOST=http://localhost:8090 ENV SVG_DIR=/app/data/icons ENV DB_PATH=/app/data/sqlite/nkode.db ENV SQLITE_DB=/app/data/sqlite/nkode.db + # Set the working directory inside the runtime container WORKDIR /app From ea8673ea5a8fe25691bf7869f814df4f71ea06eb Mon Sep 17 00:00:00 2001 From: Donovan Date: Fri, 6 Dec 2024 10:06:21 -0600 Subject: [PATCH 7/8] modify ca install --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 2fcdf4f..f2dff3b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,8 +24,10 @@ RUN go build -o go-nkode ./cmd # Stage 2: Runtime FROM debian:bookworm-slim +# Install ca-certificates and update them RUN apt-get update && \ apt-get install -y --no-install-recommends ca-certificates && \ + update-ca-certificates && \ rm -rf /var/lib/apt/lists/* #ENV FRONTEND_HOST=https://app.nkode.tech From e45924cb508d19a9c5412aebe0c6049661dd0ca5 Mon Sep 17 00:00:00 2001 From: Donovan Date: Fri, 6 Dec 2024 10:36:57 -0600 Subject: [PATCH 8/8] update local-compose.yaml --- Taskfile.yaml | 9 +++------ compose/local-compose.yaml | 7 ++++++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Taskfile.yaml b/Taskfile.yaml index 4ff06dd..27838ba 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -1,20 +1,17 @@ version: "3" vars: - compose_file: "local-compose.yaml" + compose_file: "./compose/local-compose.yaml" cache_bust: sh: "date +%s" tasks: build: cmds: - - docker compose -f {{.compose_file}} build --build-arg CACHE_BUST={{.cache_bust}} + - docker compose -f {{.compose_file}} build --no-cache up: cmds: - - CACHE_BUST={{.cache_bust}} docker compose -f {{.compose_file}} up --build - start: - cmds: - - docker compose -f {{.compose_file}} up -d + - docker compose -f {{.compose_file}} up down: cmds: - docker compose -f {{.compose_file}} down diff --git a/compose/local-compose.yaml b/compose/local-compose.yaml index e7049d2..905f113 100644 --- a/compose/local-compose.yaml +++ b/compose/local-compose.yaml @@ -1,7 +1,9 @@ services: go-nkode: container_name: go-nkode - image: registry.infra.nkode.tech/go-nkode + build: + context: ../ + dockerfile: Dockerfile volumes: - /var/go-nkode/sqlite:/app/data/sqlite - /var/go-nkode/icons:/app/data/icons @@ -9,5 +11,8 @@ services: environment: - JWT_SECRET=0123456789 - FRONTEND_HOST=http://localhost:8090 + - AWS_ACCESS_KEY_ID=AKIA5VCWLAGKV3RBVE7G + - AWS_REGION=us-east-1 + - AWS_SECRET_ACCESS_KEY=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 ports: - "8070:8080" \ No newline at end of file