mirror of
https://github.com/eduardolat/pgbackweb.git
synced 2026-01-24 21:48:30 -06:00
Remove .air.toml and update Dockerfiles to install binaries in a dedicated directory
This commit is contained in:
22
.air.toml
22
.air.toml
@@ -1,22 +0,0 @@
|
||||
# Docs for .air.toml
|
||||
# https://github.com/cosmtrek/air/blob/master/air_example.toml
|
||||
|
||||
root = "."
|
||||
|
||||
[build]
|
||||
cmd = "task build"
|
||||
full_bin = "task serve"
|
||||
delay = 100
|
||||
exclude_dir = ["tmp", "dist", "internal/database/dbgen"]
|
||||
exclude_regex = [
|
||||
"_test.go",
|
||||
"_generated.go",
|
||||
".sql.go",
|
||||
".gen.go",
|
||||
".min.js",
|
||||
".min.css",
|
||||
]
|
||||
include_ext = ["go", "sql", "js", "css", "json"]
|
||||
|
||||
[log]
|
||||
main_only = true
|
||||
@@ -7,8 +7,10 @@ FROM golang:1.23.1-bookworm AS golang
|
||||
|
||||
# Set the base image, general environment variables, and move to temp dir
|
||||
FROM debian:12.7
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV PATH="$PATH:/usr/local/go/bin"
|
||||
ENV DEBIAN_FRONTEND="noninteractive"
|
||||
ENV GOBIN="/usr/local/go-bin"
|
||||
ENV PATH="$PATH:/usr/local/go-bin:/usr/local/dl-bin:/usr/local/go/bin"
|
||||
RUN mkdir -p /app/temp /usr/local/go-bin /usr/local/dl-bin
|
||||
WORKDIR /app/temp
|
||||
|
||||
# Copy node binaries
|
||||
@@ -37,47 +39,37 @@ RUN set -e && \
|
||||
# Install task
|
||||
wget --no-verbose https://github.com/go-task/task/releases/download/v3.38.0/task_linux_arm64.tar.gz && \
|
||||
tar -xzf task_linux_arm64.tar.gz && \
|
||||
mv ./task /usr/local/bin/task && \
|
||||
mv ./task /usr/local/dl-bin/task && \
|
||||
# Install goose
|
||||
wget --no-verbose https://github.com/pressly/goose/releases/download/v3.22.0/goose_linux_arm64 && \
|
||||
mv ./goose_linux_arm64 /usr/local/bin/goose && \
|
||||
mv ./goose_linux_arm64 /usr/local/dl-bin/goose && \
|
||||
# Install sqlc
|
||||
wget --no-verbose https://github.com/sqlc-dev/sqlc/releases/download/v1.27.0/sqlc_1.27.0_linux_arm64.tar.gz && \
|
||||
tar -xzf sqlc_1.27.0_linux_arm64.tar.gz && \
|
||||
mv ./sqlc /usr/local/bin/sqlc && \
|
||||
mv ./sqlc /usr/local/dl-bin/sqlc && \
|
||||
# Install golangci-lint
|
||||
wget --no-verbose https://github.com/golangci/golangci-lint/releases/download/v1.60.3/golangci-lint-1.60.3-linux-arm64.tar.gz && \
|
||||
tar -xzf golangci-lint-1.60.3-linux-arm64.tar.gz && \
|
||||
mv ./golangci-lint-1.60.3-linux-arm64/golangci-lint /usr/local/bin/golangci-lint && \
|
||||
# Install air
|
||||
wget --no-verbose https://github.com/air-verse/air/releases/download/v1.52.3/air_1.52.3_linux_arm64 && \
|
||||
mv ./air_1.52.3_linux_arm64 /usr/local/bin/air; \
|
||||
mv ./golangci-lint-1.60.3-linux-arm64/golangci-lint /usr/local/dl-bin/golangci-lint; \
|
||||
else \
|
||||
# Install task
|
||||
wget --no-verbose https://github.com/go-task/task/releases/download/v3.38.0/task_linux_amd64.tar.gz && \
|
||||
tar -xzf task_linux_amd64.tar.gz && \
|
||||
mv ./task /usr/local/bin/task && \
|
||||
mv ./task /usr/local/dl-bin/task && \
|
||||
# Install goose
|
||||
wget --no-verbose https://github.com/pressly/goose/releases/download/v3.22.0/goose_linux_x86_64 && \
|
||||
mv ./goose_linux_x86_64 /usr/local/bin/goose && \
|
||||
mv ./goose_linux_x86_64 /usr/local/dl-bin/goose && \
|
||||
# Install sqlc
|
||||
wget --no-verbose https://github.com/sqlc-dev/sqlc/releases/download/v1.27.0/sqlc_1.27.0_linux_amd64.tar.gz && \
|
||||
tar -xzf sqlc_1.27.0_linux_amd64.tar.gz && \
|
||||
mv ./sqlc /usr/local/bin/sqlc && \
|
||||
mv ./sqlc /usr/local/dl-bin/sqlc && \
|
||||
# Install golangci-lint
|
||||
wget --no-verbose https://github.com/golangci/golangci-lint/releases/download/v1.60.3/golangci-lint-1.60.3-linux-amd64.tar.gz && \
|
||||
tar -xzf golangci-lint-1.60.3-linux-amd64.tar.gz && \
|
||||
mv ./golangci-lint-1.60.3-linux-amd64/golangci-lint /usr/local/bin/golangci-lint && \
|
||||
# Install air
|
||||
wget --no-verbose https://github.com/air-verse/air/releases/download/v1.52.3/air_1.52.3_linux_amd64 && \
|
||||
mv ./air_1.52.3_linux_amd64 /usr/local/bin/air; \
|
||||
mv ./golangci-lint-1.60.3-linux-amd64/golangci-lint /usr/local/dl-bin/golangci-lint; \
|
||||
fi && \
|
||||
# Make binaries executable
|
||||
chmod +x /usr/local/bin/task && \
|
||||
chmod +x /usr/local/bin/goose && \
|
||||
chmod +x /usr/local/bin/sqlc && \
|
||||
chmod +x /usr/local/bin/golangci-lint && \
|
||||
chmod +x /usr/local/bin/air
|
||||
chmod +x /usr/local/dl-bin/*
|
||||
|
||||
# Go to the app dir, delete the temporary dir and create backups dir
|
||||
WORKDIR /app
|
||||
|
||||
@@ -7,8 +7,10 @@ FROM golang:1.23.1-bookworm AS golang
|
||||
|
||||
# Set the base image, general environment variables, and move to temp dir
|
||||
FROM debian:12.7
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV PATH="$PATH:/usr/local/go/bin"
|
||||
ENV DEBIAN_FRONTEND="noninteractive"
|
||||
ENV GOBIN="/usr/local/go-bin"
|
||||
ENV PATH="$PATH:/usr/local/go-bin:/usr/local/dl-bin:/usr/local/go/bin"
|
||||
RUN mkdir -p /app/temp /usr/local/go-bin /usr/local/dl-bin
|
||||
WORKDIR /app/temp
|
||||
|
||||
# Copy node binaries
|
||||
@@ -37,47 +39,37 @@ RUN set -e && \
|
||||
# Install task
|
||||
wget --no-verbose https://github.com/go-task/task/releases/download/v3.38.0/task_linux_arm64.tar.gz && \
|
||||
tar -xzf task_linux_arm64.tar.gz && \
|
||||
mv ./task /usr/local/bin/task && \
|
||||
mv ./task /usr/local/dl-bin/task && \
|
||||
# Install goose
|
||||
wget --no-verbose https://github.com/pressly/goose/releases/download/v3.22.0/goose_linux_arm64 && \
|
||||
mv ./goose_linux_arm64 /usr/local/bin/goose && \
|
||||
mv ./goose_linux_arm64 /usr/local/dl-bin/goose && \
|
||||
# Install sqlc
|
||||
wget --no-verbose https://github.com/sqlc-dev/sqlc/releases/download/v1.27.0/sqlc_1.27.0_linux_arm64.tar.gz && \
|
||||
tar -xzf sqlc_1.27.0_linux_arm64.tar.gz && \
|
||||
mv ./sqlc /usr/local/bin/sqlc && \
|
||||
mv ./sqlc /usr/local/dl-bin/sqlc && \
|
||||
# Install golangci-lint
|
||||
wget --no-verbose https://github.com/golangci/golangci-lint/releases/download/v1.60.3/golangci-lint-1.60.3-linux-arm64.tar.gz && \
|
||||
tar -xzf golangci-lint-1.60.3-linux-arm64.tar.gz && \
|
||||
mv ./golangci-lint-1.60.3-linux-arm64/golangci-lint /usr/local/bin/golangci-lint && \
|
||||
# Install air
|
||||
wget --no-verbose https://github.com/air-verse/air/releases/download/v1.52.3/air_1.52.3_linux_arm64 && \
|
||||
mv ./air_1.52.3_linux_arm64 /usr/local/bin/air; \
|
||||
mv ./golangci-lint-1.60.3-linux-arm64/golangci-lint /usr/local/dl-bin/golangci-lint; \
|
||||
else \
|
||||
# Install task
|
||||
wget --no-verbose https://github.com/go-task/task/releases/download/v3.38.0/task_linux_amd64.tar.gz && \
|
||||
tar -xzf task_linux_amd64.tar.gz && \
|
||||
mv ./task /usr/local/bin/task && \
|
||||
mv ./task /usr/local/dl-bin/task && \
|
||||
# Install goose
|
||||
wget --no-verbose https://github.com/pressly/goose/releases/download/v3.22.0/goose_linux_x86_64 && \
|
||||
mv ./goose_linux_x86_64 /usr/local/bin/goose && \
|
||||
mv ./goose_linux_x86_64 /usr/local/dl-bin/goose && \
|
||||
# Install sqlc
|
||||
wget --no-verbose https://github.com/sqlc-dev/sqlc/releases/download/v1.27.0/sqlc_1.27.0_linux_amd64.tar.gz && \
|
||||
tar -xzf sqlc_1.27.0_linux_amd64.tar.gz && \
|
||||
mv ./sqlc /usr/local/bin/sqlc && \
|
||||
mv ./sqlc /usr/local/dl-bin/sqlc && \
|
||||
# Install golangci-lint
|
||||
wget --no-verbose https://github.com/golangci/golangci-lint/releases/download/v1.60.3/golangci-lint-1.60.3-linux-amd64.tar.gz && \
|
||||
tar -xzf golangci-lint-1.60.3-linux-amd64.tar.gz && \
|
||||
mv ./golangci-lint-1.60.3-linux-amd64/golangci-lint /usr/local/bin/golangci-lint && \
|
||||
# Install air
|
||||
wget --no-verbose https://github.com/air-verse/air/releases/download/v1.52.3/air_1.52.3_linux_amd64 && \
|
||||
mv ./air_1.52.3_linux_amd64 /usr/local/bin/air; \
|
||||
mv ./golangci-lint-1.60.3-linux-amd64/golangci-lint /usr/local/dl-bin/golangci-lint; \
|
||||
fi && \
|
||||
# Make binaries executable
|
||||
chmod +x /usr/local/bin/task && \
|
||||
chmod +x /usr/local/bin/goose && \
|
||||
chmod +x /usr/local/bin/sqlc && \
|
||||
chmod +x /usr/local/bin/golangci-lint && \
|
||||
chmod +x /usr/local/bin/air
|
||||
chmod +x /usr/local/dl-bin/*
|
||||
|
||||
# Go to the app dir, delete the temporary dir and create backups dir
|
||||
WORKDIR /app
|
||||
|
||||
@@ -7,8 +7,10 @@ FROM golang:1.23.1-bookworm AS golang
|
||||
|
||||
# Set the base image, general environment variables, and move to temp dir
|
||||
FROM debian:12.7
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV PATH="$PATH:/usr/local/go/bin"
|
||||
ENV DEBIAN_FRONTEND="noninteractive"
|
||||
ENV GOBIN="/usr/local/go-bin"
|
||||
ENV PATH="$PATH:/usr/local/go-bin:/usr/local/dl-bin:/usr/local/go/bin"
|
||||
RUN mkdir -p /app/temp /usr/local/go-bin /usr/local/dl-bin
|
||||
WORKDIR /app/temp
|
||||
|
||||
# Copy node binaries
|
||||
@@ -37,47 +39,37 @@ RUN set -e && \
|
||||
# Install task
|
||||
wget --no-verbose https://github.com/go-task/task/releases/download/v3.38.0/task_linux_arm64.tar.gz && \
|
||||
tar -xzf task_linux_arm64.tar.gz && \
|
||||
mv ./task /usr/local/bin/task && \
|
||||
mv ./task /usr/local/dl-bin/task && \
|
||||
# Install goose
|
||||
wget --no-verbose https://github.com/pressly/goose/releases/download/v3.22.0/goose_linux_arm64 && \
|
||||
mv ./goose_linux_arm64 /usr/local/bin/goose && \
|
||||
mv ./goose_linux_arm64 /usr/local/dl-bin/goose && \
|
||||
# Install sqlc
|
||||
wget --no-verbose https://github.com/sqlc-dev/sqlc/releases/download/v1.27.0/sqlc_1.27.0_linux_arm64.tar.gz && \
|
||||
tar -xzf sqlc_1.27.0_linux_arm64.tar.gz && \
|
||||
mv ./sqlc /usr/local/bin/sqlc && \
|
||||
mv ./sqlc /usr/local/dl-bin/sqlc && \
|
||||
# Install golangci-lint
|
||||
wget --no-verbose https://github.com/golangci/golangci-lint/releases/download/v1.60.3/golangci-lint-1.60.3-linux-arm64.tar.gz && \
|
||||
tar -xzf golangci-lint-1.60.3-linux-arm64.tar.gz && \
|
||||
mv ./golangci-lint-1.60.3-linux-arm64/golangci-lint /usr/local/bin/golangci-lint && \
|
||||
# Install air
|
||||
wget --no-verbose https://github.com/air-verse/air/releases/download/v1.52.3/air_1.52.3_linux_arm64 && \
|
||||
mv ./air_1.52.3_linux_arm64 /usr/local/bin/air; \
|
||||
mv ./golangci-lint-1.60.3-linux-arm64/golangci-lint /usr/local/dl-bin/golangci-lint; \
|
||||
else \
|
||||
# Install task
|
||||
wget --no-verbose https://github.com/go-task/task/releases/download/v3.38.0/task_linux_amd64.tar.gz && \
|
||||
tar -xzf task_linux_amd64.tar.gz && \
|
||||
mv ./task /usr/local/bin/task && \
|
||||
mv ./task /usr/local/dl-bin/task && \
|
||||
# Install goose
|
||||
wget --no-verbose https://github.com/pressly/goose/releases/download/v3.22.0/goose_linux_x86_64 && \
|
||||
mv ./goose_linux_x86_64 /usr/local/bin/goose && \
|
||||
mv ./goose_linux_x86_64 /usr/local/dl-bin/goose && \
|
||||
# Install sqlc
|
||||
wget --no-verbose https://github.com/sqlc-dev/sqlc/releases/download/v1.27.0/sqlc_1.27.0_linux_amd64.tar.gz && \
|
||||
tar -xzf sqlc_1.27.0_linux_amd64.tar.gz && \
|
||||
mv ./sqlc /usr/local/bin/sqlc && \
|
||||
mv ./sqlc /usr/local/dl-bin/sqlc && \
|
||||
# Install golangci-lint
|
||||
wget --no-verbose https://github.com/golangci/golangci-lint/releases/download/v1.60.3/golangci-lint-1.60.3-linux-amd64.tar.gz && \
|
||||
tar -xzf golangci-lint-1.60.3-linux-amd64.tar.gz && \
|
||||
mv ./golangci-lint-1.60.3-linux-amd64/golangci-lint /usr/local/bin/golangci-lint && \
|
||||
# Install air
|
||||
wget --no-verbose https://github.com/air-verse/air/releases/download/v1.52.3/air_1.52.3_linux_amd64 && \
|
||||
mv ./air_1.52.3_linux_amd64 /usr/local/bin/air; \
|
||||
mv ./golangci-lint-1.60.3-linux-amd64/golangci-lint /usr/local/dl-bin/golangci-lint; \
|
||||
fi && \
|
||||
# Make binaries executable
|
||||
chmod +x /usr/local/bin/task && \
|
||||
chmod +x /usr/local/bin/goose && \
|
||||
chmod +x /usr/local/bin/sqlc && \
|
||||
chmod +x /usr/local/bin/golangci-lint && \
|
||||
chmod +x /usr/local/bin/air
|
||||
chmod +x /usr/local/dl-bin/*
|
||||
|
||||
# Go to the app dir, delete the temporary dir and create backups dir
|
||||
WORKDIR /app
|
||||
|
||||
@@ -41,6 +41,5 @@ check_command "task --version" "task"
|
||||
check_command "goose --version" "goose"
|
||||
check_command "sqlc version" "sqlc"
|
||||
check_command "golangci-lint --version" "golangci-lint"
|
||||
check_command "air -v" "air"
|
||||
|
||||
echo "All dependencies are working correctly!"
|
||||
|
||||
@@ -2,6 +2,8 @@ version: "3"
|
||||
|
||||
dotenv: [".env"]
|
||||
|
||||
interval: 500ms
|
||||
|
||||
tasks:
|
||||
on:
|
||||
desc: Start development environment, should be run from the host machine
|
||||
@@ -15,7 +17,31 @@ tasks:
|
||||
|
||||
dev:
|
||||
desc: Build and serve the project with hot reloading
|
||||
cmd: air -c .air.toml
|
||||
watch: true
|
||||
sources:
|
||||
- "**/*.go"
|
||||
- "**/*.sql"
|
||||
- "**/*.js"
|
||||
- "**/*.css"
|
||||
- "**/*.json"
|
||||
- exclude: "./.git/**"
|
||||
- exclude: "./node_modules/**"
|
||||
- exclude: "./internal/database/dbgen/**"
|
||||
- exclude: "./internal/view/static/build/**"
|
||||
- exclude: "./temp/**"
|
||||
- exclude: "./tmp/**"
|
||||
- exclude: "./dist/**"
|
||||
- exclude: "**/*.test.go"
|
||||
- exclude: "**/*.generated.go"
|
||||
- exclude: "**/*.sql.go"
|
||||
- exclude: "**/*.gen.go"
|
||||
- exclude: "**/*.gen.sql"
|
||||
- exclude: "**/*.min.css"
|
||||
- exclude: "**/*.min.js"
|
||||
deps:
|
||||
- build
|
||||
cmds:
|
||||
- ./dist/app
|
||||
|
||||
build:
|
||||
desc: Build the project
|
||||
|
||||
Reference in New Issue
Block a user