Compare commits

...

3 Commits

3 changed files with 55 additions and 2 deletions

53
.drone.yml Normal file
View File

@@ -0,0 +1,53 @@
---
kind: pipeline
type: docker
name: default
steps:
# Step 1: Install dependencies & build Node.js app
- name: install-and-build
image: node:20-alpine
commands:
- echo "Installing dependencies..."
- npm ci
- echo "Building app..."
- npm run build
# Step 2: Build Docker image with dynamic Git tag
- name: build-image
image: docker:24
environment:
DOCKER_HOST: unix:///var/run/docker.sock
commands:
- IMAGE_TAG=${DRONE_TAG:-latest}
- echo "Building Docker image apps/homepage:$IMAGE_TAG ..."
- docker build -t apps/homepage:$IMAGE_TAG .
# Step 3: Stop old container if exists
- name: stop-old
image: docker:24
environment:
DOCKER_HOST: unix:///var/run/docker.sock
commands:
- IMAGE_TAG=${DRONE_TAG:-latest}
- echo "Stopping old container..."
- docker rm -f homepage || true
# Step 4: Run container with dynamic tag
- name: run-container
image: docker:24
environment:
DOCKER_HOST: unix:///var/run/docker.sock
commands:
- IMAGE_TAG=${DRONE_TAG:-latest}
- echo "Starting container apps/homepage:$IMAGE_TAG ..."
- docker run -d \
--name homepage \
-p 3001:3000 \
-e NODE_ENV=production \
apps/homepage:$IMAGE_TAG
# Trigger pipeline on Git tags
trigger:
event:
- tag

View File

@@ -25,7 +25,7 @@ const services = {
], ],
codebase: [ codebase: [
{ name: "Gitea", url: "http://gitea.aetoskia.com", desc: "Forge and safeguard code like a sacred relic.", external: true }, { name: "Gitea", url: "http://gitea.aetoskia.com", desc: "Forge and safeguard code like a sacred relic.", external: true },
{ name: "DCR", url: "http://dcr.aetoskia.com", desc: "Monitor core constructs of the digital empire.", external: true }, { name: "Registry", url: "http://registry.aetoskia.com", desc: "Monitor core constructs of the digital empire.", external: true },
{ name: "Drone", url: "http://drone.aetoskia.com", desc: "Automaton architect, building pipelines of perfection.", external: true }, { name: "Drone", url: "http://drone.aetoskia.com", desc: "Automaton architect, building pipelines of perfection.", external: true },
], ],
monitoring: [ monitoring: [

View File

@@ -5,7 +5,7 @@ services:
dockerfile: Dockerfile dockerfile: Dockerfile
# network: host # network: host
container_name: homepage container_name: homepage
image: apps/homepage:0.0.2 image: apps/homepage:0.0.3
ports: ports:
- "3001:3000" # map host port 3000 to container - "3001:3000" # map host port 3000 to container
environment: environment: