mirror of
https://github.com/Portabase/agent.git
synced 2026-09-11 14:00:14 +00:00
Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0e86a813b5 | |||
| ecdb4a067d | |||
| 8078d733e4 | |||
| 06c4a05cbe | |||
| 6985260a8e | |||
| 313693f50b | |||
| 2e7ccb7897 | |||
| 11cba862ab | |||
| 7b40ce6d83 | |||
| e6b0653e48 | |||
| a215c95b5e | |||
| 6fb3b8bb37 | |||
| aedb6a0ebc | |||
| 97c770becf | |||
| 73279f5b76 | |||
| 8f7b0523a4 | |||
| 321d9a5ca9 | |||
| a23571bcb2 | |||
| ab22b44c18 | |||
| fcac5bd0da | |||
| 2b8628899d | |||
| 2e11ba2fd4 | |||
| 7d424a78f1 | |||
| 6089e19412 | |||
| 952c70de61 | |||
| 99c42206c1 | |||
| 09b1869833 | |||
| b2f8d56efb | |||
| ddffae0d23 |
+130
-41
@@ -1,3 +1,74 @@
|
||||
#name: Docker Publish
|
||||
#
|
||||
#on:
|
||||
# workflow_call:
|
||||
# inputs:
|
||||
# image_name:
|
||||
# required: false
|
||||
# type: string
|
||||
# default: 'portabase/agent'
|
||||
# add_latest:
|
||||
# required: false
|
||||
# type: boolean
|
||||
# default: false
|
||||
# target:
|
||||
# required: false
|
||||
# type: string
|
||||
# default: 'prod'
|
||||
# dockerfile:
|
||||
# required: false
|
||||
# type: string
|
||||
# default: './docker/Dockerfile'
|
||||
# secrets:
|
||||
# DOCKER_USERNAME:
|
||||
# required: true
|
||||
# DOCKER_PASSWORD:
|
||||
# required: true
|
||||
#
|
||||
#jobs:
|
||||
# build-and-push:
|
||||
# runs-on: ubuntu-latest
|
||||
# permissions:
|
||||
# packages: write
|
||||
# contents: read
|
||||
# steps:
|
||||
# - name: Check out the repo
|
||||
# uses: actions/checkout@v4
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
#
|
||||
# - name: Set up QEMU (enables multi-arch emulation)
|
||||
# uses: docker/setup-qemu-action@v3
|
||||
#
|
||||
# - name: Set up Docker Buildx
|
||||
# uses: docker/setup-buildx-action@v3
|
||||
#
|
||||
# - name: Log in to Docker Hub
|
||||
# uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
|
||||
# with:
|
||||
# username: ${{ secrets.DOCKER_USERNAME }}
|
||||
# password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
#
|
||||
# - name: Set tags
|
||||
# id: set-tags
|
||||
# run: |
|
||||
# REF_NAME=${GITHUB_REF#refs/tags/}
|
||||
# TAGS="${{ inputs.image_name }}:$REF_NAME"
|
||||
# if [[ "${{ inputs.add_latest }}" == "true" ]]; then
|
||||
# TAGS="$TAGS,${{ inputs.image_name }}:latest"
|
||||
# fi
|
||||
# echo "tags=$TAGS" >> $GITHUB_OUTPUT
|
||||
#
|
||||
# - name: Build and push Docker image
|
||||
# uses: docker/build-push-action@v6
|
||||
# with:
|
||||
# context: .
|
||||
# file: ${{ inputs.dockerfile }}
|
||||
# platforms: linux/amd64,linux/arm64
|
||||
# push: true
|
||||
# tags: ${{ steps.set-tags.outputs.tags }}
|
||||
# target: ${{ inputs.target }}
|
||||
|
||||
name: Docker Publish
|
||||
|
||||
on:
|
||||
@@ -26,76 +97,94 @@ on:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
build-and-push:
|
||||
build-amd64:
|
||||
name: Build AMD64 Image
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
packages: write
|
||||
contents: read
|
||||
|
||||
outputs:
|
||||
image: ${{ steps.set-tags.outputs.amd64_image }}
|
||||
steps:
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up QEMU (multi-arch support)
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
with:
|
||||
install: true
|
||||
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
- uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Set tags
|
||||
- name: Set image tag
|
||||
id: set-tags
|
||||
run: |
|
||||
REF_NAME=${GITHUB_REF#refs/tags/}
|
||||
TAGS="${{ inputs.image_name }}:$REF_NAME"
|
||||
if [[ "${{ inputs.add_latest }}" == "true" ]]; then
|
||||
TAGS="$TAGS,${{ inputs.image_name }}:latest"
|
||||
fi
|
||||
echo "tags=$TAGS" >> $GITHUB_OUTPUT
|
||||
AMD64_IMAGE="${{ inputs.image_name }}:$REF_NAME-amd64"
|
||||
echo "amd64_image=$AMD64_IMAGE" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build amd64 image
|
||||
- name: Build and push AMD64
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
file: ${{ inputs.dockerfile }}
|
||||
platforms: linux/amd64
|
||||
push: true
|
||||
tags: ${{ inputs.image_name }}:amd64
|
||||
tags: ${{ steps.set-tags.outputs.amd64_image }}
|
||||
target: ${{ inputs.target }}
|
||||
cache-from: type=registry,ref=${{ inputs.image_name }}:buildcache-amd64
|
||||
cache-to: type=registry,ref=${{ inputs.image_name }}:buildcache-amd64,mode=max
|
||||
|
||||
- name: Build arm64 image
|
||||
build-arm64:
|
||||
name: Build ARM64 Image
|
||||
runs-on: ubuntu-24.04-arm
|
||||
needs: build-amd64
|
||||
outputs:
|
||||
image: ${{ steps.set-tags.outputs.arm64_image }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: docker/setup-buildx-action@v3
|
||||
|
||||
- uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Set image tag
|
||||
id: set-tags
|
||||
run: |
|
||||
REF_NAME=${GITHUB_REF#refs/tags/}
|
||||
ARM64_IMAGE="${{ inputs.image_name }}:$REF_NAME-arm64"
|
||||
echo "arm64_image=$ARM64_IMAGE" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build and push ARM64
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
file: ${{ inputs.dockerfile }}
|
||||
platforms: linux/arm64
|
||||
push: true
|
||||
tags: ${{ inputs.image_name }}:arm64
|
||||
tags: ${{ steps.set-tags.outputs.arm64_image }}
|
||||
target: ${{ inputs.target }}
|
||||
cache-from: type=registry,ref=${{ inputs.image_name }}:buildcache-arm64
|
||||
cache-to: type=registry,ref=${{ inputs.image_name }}:buildcache-arm64,mode=max
|
||||
|
||||
- name: Create and push multi-arch manifest
|
||||
create-manifest:
|
||||
name: Create Multi-Arch Manifest
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- build-amd64
|
||||
- build-arm64
|
||||
steps:
|
||||
- uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Create Docker manifest
|
||||
run: |
|
||||
REF_NAME=${GITHUB_REF#refs/tags/}
|
||||
docker manifest create ${{ inputs.image_name }}:$REF_NAME \
|
||||
--amend ${{ inputs.image_name }}:amd64 \
|
||||
--amend ${{ inputs.image_name }}:arm64
|
||||
docker manifest push ${{ inputs.image_name }}:$REF_NAME
|
||||
if [[ "${{ inputs.add_latest }}" == "true" ]]; then
|
||||
docker manifest create ${{ inputs.image_name }}:latest \
|
||||
--amend ${{ inputs.image_name }}:amd64 \
|
||||
--amend ${{ inputs.image_name }}:arm64
|
||||
IMAGE="${{ inputs.image_name }}:$REF_NAME"
|
||||
AMD64_IMAGE="${{ needs.build-amd64.outputs.image }}"
|
||||
ARM64_IMAGE="${{ needs.build-arm64.outputs.image }}"
|
||||
|
||||
docker manifest create $IMAGE $AMD64_IMAGE $ARM64_IMAGE
|
||||
docker manifest push $IMAGE
|
||||
|
||||
if [ "${{ inputs.add_latest }}" = "true" ]; then
|
||||
docker manifest create ${{ inputs.image_name }}:latest $AMD64_IMAGE $ARM64_IMAGE
|
||||
docker manifest push ${{ inputs.image_name }}:latest
|
||||
fi
|
||||
|
||||
+1
-1
@@ -22,5 +22,5 @@ keywords:
|
||||
- self-hosted
|
||||
- portabase
|
||||
license: Apache-2.0
|
||||
version: 1.0.3-rc.8
|
||||
version: 1.0.4-rc.12
|
||||
date-released: "2026-01-28"
|
||||
Generated
+1
-1
@@ -1595,7 +1595,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
|
||||
|
||||
[[package]]
|
||||
name = "portabase-agent"
|
||||
version = "1.0.3-rc.7"
|
||||
version = "1.0.4-rc.11"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "portabase-agent"
|
||||
version = "1.0.3-rc.8"
|
||||
version = "1.0.4-rc.12"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,10 +1,11 @@
|
||||
services:
|
||||
rust-app:
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: docker/Dockerfile
|
||||
# target: prod
|
||||
image: portabase/agent:latest
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/Dockerfile
|
||||
target: prod
|
||||
# image: portabase/agent:latest
|
||||
platform: linux/arm64
|
||||
container_name: rust-prod
|
||||
volumes:
|
||||
- ./databases.json:/config/config.json
|
||||
|
||||
+1
-2
@@ -4,7 +4,6 @@ services:
|
||||
context: .
|
||||
dockerfile: docker/Dockerfile
|
||||
target: dev
|
||||
platform: linux/arm64
|
||||
container_name: rust-dev
|
||||
volumes:
|
||||
- .:/app
|
||||
@@ -17,7 +16,7 @@ services:
|
||||
APP_ENV: development
|
||||
LOG: debug
|
||||
TZ: "Europe/Paris"
|
||||
EDGE_KEY: "eyJzZXJ2ZXJVcmwiOiJodHRwOi8vbG9jYWxob3N0Ojg4ODciLCJhZ2VudElkIjoiNmExMzc0M2ItYjMwZS00Zjg4LWJjY2EtMmMwZjE2NWVjYjQxIiwicHVibGljS2V5IjoiLS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tXG5NSUlCQ2dLQ0FRRUE5TWV4M2pmdnVLdFB5YU1ERnh2Ulp2dmd3YkRJQ2JzQi81Wll5NDNSVVRBaXZRYjJiSDdYXG5qRHBQd1lJeCs4UFBrbHlRbDVMQzV1UWZEaCs4SVd4OG1LZ3FvMXpWMkdiZXdGbEdEWFYxVEdyU1ZEU25aSWR4XG52bWdYc29EeXhVMlJvWUFUMS9YMWxuc2YxenZKdkFMTkhXdEhRdk42SjVDZTFSMmFsendVRGFEVXlJNzRmSldQXG5tNTh0SDMrYklXL0VVTXdjaWNxM0oySWw3Vm9KNkZNUHJQL1ZSOWEvdFF1SU1qa200MXpFY2NscExPa2luRkxuXG54NmVUWkFSZUpya2UrbnRvZ2t4TGEyRWV5a1lUNzB4V3hKNWp5ZExBVnRvNkkyQlVLVVJoTkowTUFaU29NYUtvXG5iMGJRcnY1UzExZWllMnMrT2I3aTYzSFpkVUx0UmV1MVJ3SURBUUFCXG4tLS0tLUVORCBSU0EgUFVCTElDIEtFWS0tLS0tXG4ifQ"
|
||||
EDGE_KEY: "eyJzZXJ2ZXJVcmwiOiJodHRwOi8vbG9jYWxob3N0Ojg4ODciLCJhZ2VudElkIjoiOGZmMDE4NTQtYjJhMS00ZTE0LTkwMjctZTJiOWIxZjQ1YzdlIiwicHVibGljS2V5IjoiLS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tXG5NSUlCQ2dLQ0FRRUE5TWV4M2pmdnVLdFB5YU1ERnh2Ulp2dmd3YkRJQ2JzQi81Wll5NDNSVVRBaXZRYjJiSDdYXG5qRHBQd1lJeCs4UFBrbHlRbDVMQzV1UWZEaCs4SVd4OG1LZ3FvMXpWMkdiZXdGbEdEWFYxVEdyU1ZEU25aSWR4XG52bWdYc29EeXhVMlJvWUFUMS9YMWxuc2YxenZKdkFMTkhXdEhRdk42SjVDZTFSMmFsendVRGFEVXlJNzRmSldQXG5tNTh0SDMrYklXL0VVTXdjaWNxM0oySWw3Vm9KNkZNUHJQL1ZSOWEvdFF1SU1qa200MXpFY2NscExPa2luRkxuXG54NmVUWkFSZUpya2UrbnRvZ2t4TGEyRWV5a1lUNzB4V3hKNWp5ZExBVnRvNkkyQlVLVVJoTkowTUFaU29NYUtvXG5iMGJRcnY1UzExZWllMnMrT2I3aTYzSFpkVUx0UmV1MVJ3SURBUUFCXG4tLS0tLUVORCBSU0EgUFVCTElDIEtFWS0tLS0tXG4ifQ"
|
||||
#POOLING: 1
|
||||
#DATABASES_CONFIG_FILE: "config.toml"
|
||||
extra_hosts:
|
||||
|
||||
+157
-37
@@ -1,9 +1,7 @@
|
||||
# =========================
|
||||
# Base Rust image
|
||||
# Base image (shared)
|
||||
# =========================
|
||||
FROM rust:1.92 AS base
|
||||
|
||||
ARG TARGETARCH
|
||||
FROM rust:1.92.0 AS base
|
||||
|
||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
pkg-config \
|
||||
@@ -17,66 +15,64 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
zlib1g \
|
||||
curl \
|
||||
mariadb-client \
|
||||
wget \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# =========================
|
||||
# PostgreSQL client binaries (only target arch)
|
||||
# =========================
|
||||
RUN for v in 12 13 14 15 16 17 18; do mkdir -p /usr/lib/postgresql/$v/bin; done
|
||||
COPY assets/tools/$TARGETARCH/postgresql/ /tmp/pg/
|
||||
RUN for v in 12 13 14 15 16 17 18; do \
|
||||
cp -r /tmp/pg/postgresql-$v/bin/* /usr/lib/postgresql/$v/bin/; \
|
||||
done && rm -rf /tmp/pg && chmod +x /usr/lib/postgresql/*/bin/*
|
||||
ARG TARGETARCH
|
||||
|
||||
# =========================
|
||||
# MongoDB client binaries (only target arch)
|
||||
# PostgreSQL client binaries (versions 12-18)
|
||||
# =========================
|
||||
|
||||
RUN for v in 12 13 14 15 16 17 18; do \
|
||||
mkdir -p /usr/lib/postgresql/$v/bin; \
|
||||
done
|
||||
|
||||
COPY assets/tools/amd64/postgresql/ /tmp/pg-x64/
|
||||
COPY assets/tools/arm64/postgresql/ /tmp/pg-arm/
|
||||
|
||||
RUN if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
wget -q https://fastdl.mongodb.org/tools/db/mongodb-database-tools-debian12-x86_64-100.10.0.deb -O /tmp/mongodb-tools.deb; \
|
||||
for v in 12 13 14 15 16 17 18; do \
|
||||
cp -r /tmp/pg-x64/postgresql-$v/bin/* /usr/lib/postgresql/$v/bin/; \
|
||||
done; \
|
||||
elif [ "$TARGETARCH" = "arm64" ]; then \
|
||||
wget -q https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2204-arm64-100.10.0.deb -O /tmp/mongodb-tools.deb; \
|
||||
fi && dpkg -i /tmp/mongodb-tools.deb || apt-get install -f -y --no-install-recommends && \
|
||||
rm -f /tmp/mongodb-tools.deb && \
|
||||
mkdir -p /usr/local/mongodb/bin && \
|
||||
ln -sf /usr/bin/mongodump /usr/local/mongodb/bin/mongodump || true && \
|
||||
ln -sf /usr/bin/mongorestore /usr/local/mongodb/bin/mongorestore || true
|
||||
for v in 12 13 14 15 16 17 18; do \
|
||||
cp -r /tmp/pg-arm/postgresql-$v/bin/* /usr/lib/postgresql/$v/bin/; \
|
||||
done; \
|
||||
fi && \
|
||||
rm -rf /tmp/pg-x64 /tmp/pg-arm && \
|
||||
chmod +x /usr/lib/postgresql/*/bin/*
|
||||
|
||||
# =========================
|
||||
# MongoDB client binaries
|
||||
# =========================
|
||||
COPY assets/tools/${TARGETARCH}/mongodb/ /usr/local/mongodb/
|
||||
RUN chmod +x /usr/local/mongodb/bin/*
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# =========================
|
||||
# Development stage
|
||||
# Development image
|
||||
# =========================
|
||||
FROM base AS dev
|
||||
|
||||
RUN cargo install cargo-watch
|
||||
|
||||
# Pre-cache dependencies
|
||||
COPY Cargo.toml Cargo.lock ./
|
||||
RUN mkdir src && echo "fn main() {}" > src/main.rs
|
||||
RUN cargo build
|
||||
RUN rm -rf src
|
||||
|
||||
COPY . .
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
CMD ["/entrypoint.sh"]
|
||||
|
||||
# =========================
|
||||
# Builder stage for production
|
||||
# Builder (production)
|
||||
# =========================
|
||||
FROM base AS builder
|
||||
WORKDIR /app
|
||||
|
||||
RUN cargo install cargo-chef
|
||||
|
||||
COPY Cargo.toml Cargo.lock ./
|
||||
RUN mkdir src && echo "fn main() {}" > src/main.rs
|
||||
RUN cargo chef prepare --recipe-path recipe.json
|
||||
RUN cargo chef cook --recipe-path recipe.json --release
|
||||
RUN rm -rf src
|
||||
|
||||
COPY . .
|
||||
RUN cargo build --release
|
||||
@@ -84,7 +80,7 @@ RUN cargo build --release
|
||||
RUN echo "APP_VERSION=$(cargo pkgid | awk -F# '{print $2}')" > /app/version.env
|
||||
|
||||
# =========================
|
||||
# Production runtime
|
||||
# Runtime (production)
|
||||
# =========================
|
||||
FROM ubuntu:24.04 AS prod
|
||||
|
||||
@@ -99,17 +95,141 @@ RUN apt-get update && apt-get install -y \
|
||||
mariadb-client \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=builder /app/target/release/app /usr/local/bin/app
|
||||
COPY --from=builder /app/version.env /app/version.env
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
COPY --from=base /usr/lib/postgresql/ /usr/lib/postgresql/
|
||||
COPY --from=base /usr/local/mongodb/bin /usr/local/mongodb/bin
|
||||
COPY --from=base /usr/local/mongodb/bin/ /usr/local/mongodb/bin/
|
||||
|
||||
|
||||
ENV APP_ENV=production
|
||||
|
||||
CMD ["/entrypoint.sh"]
|
||||
|
||||
# =========================
|
||||
# Base image (shared)
|
||||
# =========================
|
||||
#FROM rust:1.92.0 AS base
|
||||
#
|
||||
#RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
# pkg-config \
|
||||
# libssl-dev \
|
||||
# tzdata \
|
||||
# redis-server \
|
||||
# ca-certificates \
|
||||
# libpq5 \
|
||||
# libreadline8 \
|
||||
# libncurses6 \
|
||||
# zlib1g \
|
||||
# curl \
|
||||
# mariadb-client \
|
||||
# && apt-get clean \
|
||||
# && rm -rf /var/lib/apt/lists/*
|
||||
#
|
||||
#ARG TARGETARCH
|
||||
#
|
||||
## =========================
|
||||
## PostgreSQL client binaries (versions 12-18)
|
||||
## =========================
|
||||
#RUN for v in 12 13 14 15 16 17 18; do mkdir -p /usr/lib/postgresql/$v/bin; done
|
||||
#
|
||||
#COPY assets/tools/amd64/postgresql/ /tmp/pg-x64/
|
||||
#COPY assets/tools/arm64/postgresql/ /tmp/pg-arm/
|
||||
#
|
||||
#RUN if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
# for v in 12 13 14 15 16 17 18; do \
|
||||
# cp -r /tmp/pg-x64/postgresql-$v/bin/* /usr/lib/postgresql/$v/bin/; \
|
||||
# done; \
|
||||
# else \
|
||||
# for v in 12 13 14 15 16 17 18; do \
|
||||
# cp -r /tmp/pg-arm/postgresql-$v/bin/* /usr/lib/postgresql/$v/bin/; \
|
||||
# done; \
|
||||
# fi && \
|
||||
# rm -rf /tmp/pg-x64 /tmp/pg-arm && \
|
||||
# chmod +x /usr/lib/postgresql/*/bin/*
|
||||
#
|
||||
## =========================
|
||||
## MongoDB client binaries
|
||||
## =========================
|
||||
#COPY assets/tools/${TARGETARCH}/mongodb/ /usr/local/mongodb/
|
||||
#RUN chmod +x /usr/local/mongodb/bin/*
|
||||
#
|
||||
#WORKDIR /app
|
||||
#
|
||||
## =========================
|
||||
## Development image
|
||||
## =========================
|
||||
#FROM base AS dev
|
||||
#
|
||||
#RUN cargo install cargo-watch
|
||||
#
|
||||
#COPY Cargo.toml Cargo.lock ./
|
||||
#RUN mkdir src && echo "fn main() {}" > src/main.rs
|
||||
#RUN cargo build
|
||||
#RUN rm -rf src
|
||||
#
|
||||
#COPY entrypoint.sh /entrypoint.sh
|
||||
#RUN chmod +x /entrypoint.sh
|
||||
#
|
||||
#CMD ["/entrypoint.sh"]
|
||||
#
|
||||
## =========================
|
||||
## Builder (production)
|
||||
## =========================
|
||||
#FROM base AS builder
|
||||
#
|
||||
#ARG TARGETARCH
|
||||
#
|
||||
#RUN rustup target add x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu
|
||||
#
|
||||
#COPY . .
|
||||
#
|
||||
#RUN if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
# cargo build --release --target x86_64-unknown-linux-gnu && \
|
||||
# mv /app/target/x86_64-unknown-linux-gnu/release /app/target/release-app; \
|
||||
# else \
|
||||
# cargo build --release --target aarch64-unknown-linux-gnu && \
|
||||
# mv /app/target/aarch64-unknown-linux-gnu/release /app/target/release-app; \
|
||||
# fi
|
||||
#
|
||||
#
|
||||
#RUN echo "APP_VERSION=$(cargo pkgid | awk -F# '{print $2}')" > /app/version.env
|
||||
#
|
||||
## =========================
|
||||
## Runtime (production)
|
||||
## =========================
|
||||
#FROM ubuntu:24.04 AS prod
|
||||
#
|
||||
#RUN apt-get update && apt-get install -y \
|
||||
# redis-server \
|
||||
# ca-certificates \
|
||||
# tzdata \
|
||||
# libpq5 \
|
||||
# libreadline8 \
|
||||
# libncurses6 \
|
||||
# zlib1g \
|
||||
# mariadb-client \
|
||||
# && rm -rf /var/lib/apt/lists/*
|
||||
#
|
||||
#WORKDIR /app
|
||||
#
|
||||
#ARG TARGETARCH
|
||||
#
|
||||
#COPY --from=builder /app/target/release-app/app /usr/local/bin/app
|
||||
#
|
||||
#COPY --from=builder /app/version.env /app/version.env
|
||||
#COPY entrypoint.sh /entrypoint.sh
|
||||
#RUN chmod +x /entrypoint.sh
|
||||
#
|
||||
#COPY --from=base /usr/lib/postgresql/ /usr/lib/postgresql/
|
||||
#COPY --from=base /usr/local/mongodb/bin/ /usr/local/mongodb/bin/
|
||||
#
|
||||
#ENV APP_ENV=production
|
||||
#
|
||||
#CMD ["/entrypoint.sh"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user