Initial commit: iLED shop monolith with Drone CI/CD scaffold.
Adds API, Angular shop/admin, docker compose, and .drone.yml for build + SSH deploy. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
commit
ab2c7578ff
343 files changed
+69302
No files matched your search
@@ -0,0 +1,15 @@
|
||||
# Copy to .env on the deploy host (never commit .env).
|
||||
POSTGRES_DB=iled
|
||||
POSTGRES_USER=iled
|
||||
POSTGRES_PASSWORD=change-me
|
||||
REDIS_PASSWORD=
|
||||
|
||||
# API
|
||||
ASPNETCORE_ENVIRONMENT=Production
|
||||
Cors__Origins__0=https://shop.example.com
|
||||
Cors__Origins__1=https://admin.example.com
|
||||
|
||||
# Observability (optional)
|
||||
OpenTelemetry__OtlpEndpoint=
|
||||
OpenTelemetry__OtlpHeaders=
|
||||
OpenTelemetry__ServiceName=iled-api
|
||||
@@ -0,0 +1,12 @@
|
||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
RUN dotnet restore iLED.sln
|
||||
RUN dotnet publish src/iLED.Api/iLED.Api.csproj -c Release -o /app/publish
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:10.0
|
||||
WORKDIR /app
|
||||
COPY --from=build /app/publish .
|
||||
EXPOSE 8080
|
||||
ENV ASPNETCORE_URLS=http://+:8080
|
||||
ENTRYPOINT ["dotnet", "iLED.Api.dll"]
|
||||
@@ -0,0 +1,72 @@
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
container_name: iled-postgres
|
||||
environment:
|
||||
POSTGRES_DB: iled
|
||||
POSTGRES_USER: iled
|
||||
POSTGRES_PASSWORD: iled123
|
||||
ports:
|
||||
- "5433:5432"
|
||||
volumes:
|
||||
- iled_pgdata:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U iled -d iled"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: iled-redis
|
||||
ports:
|
||||
- "6379:6379"
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
# Backend observability: logs + metrics + traces (UI http://localhost:5080)
|
||||
# Login: root@iled.local / Complexpass#123
|
||||
openobserve:
|
||||
image: public.ecr.aws/zinclabs/openobserve:latest
|
||||
container_name: iled-openobserve
|
||||
environment:
|
||||
ZO_ROOT_USER_EMAIL: root@iled.local
|
||||
ZO_ROOT_USER_PASSWORD: Complexpass#123
|
||||
ZO_DATA_DIR: /data
|
||||
ports:
|
||||
- "5080:5080"
|
||||
volumes:
|
||||
- iled_openobserve:/data
|
||||
|
||||
api:
|
||||
build:
|
||||
context: ../src/backend
|
||||
dockerfile: ../../docker/Dockerfile.api
|
||||
container_name: iled-api
|
||||
ports:
|
||||
- "5000:8080"
|
||||
environment:
|
||||
ASPNETCORE_ENVIRONMENT: Development
|
||||
ConnectionStrings__DefaultConnection: "Host=postgres;Port=5432;Database=iled;Username=iled;Password=iled123"
|
||||
ConnectionStrings__Redis: "redis:6379"
|
||||
Cors__Origins__0: "http://localhost:4200"
|
||||
Cors__Origins__1: "http://localhost:4201"
|
||||
OpenTelemetry__OtlpEndpoint: "http://openobserve:5080/api/default"
|
||||
OpenTelemetry__OtlpHeaders: "Authorization=Basic cm9vdEBpbGVkLmxvY2FsOkNvbXBsZXhwYXNzIzEyMw=="
|
||||
OpenTelemetry__ServiceName: "iled-api"
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
openobserve:
|
||||
condition: service_started
|
||||
profiles:
|
||||
- full
|
||||
|
||||
volumes:
|
||||
iled_pgdata:
|
||||
iled_openobserve:
|
||||
Reference in new issue
Block a user