Skip to content

Commit

Permalink
ci: break the compose file into prod and build - fix api dockerfile
Browse files Browse the repository at this point in the history
  • Loading branch information
cooperj committed Nov 8, 2024
1 parent 94b6d79 commit 9c37a22
Show file tree
Hide file tree
Showing 4 changed files with 115 additions and 25 deletions.
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Which tag should the compose file target?
TAG=latest

DB_HOSTNAME=db
DB_DATABASE=asgard
DB_USERNAME=asgard
Expand Down
10 changes: 5 additions & 5 deletions api/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
FROM node:20-alpine as base
FROM node:20-alpine

# Open Container Initiative (OCI) labels
LABEL org.opencontainers.image.title "Asgard API"
LABEL org.opencontainers.image.description "Main API for the Asgard System"
LABEL org.opencontainers.image.authors ["University of Lincoln - Computer Science Technical Services <technician@lincoln.ac.uk>","Josh Cooper <joshcooper@lincoln.ac.uk>"]
LABEL org.opencontainers.image.url "https://github.com/socstech/asgard"
LABEL org.opencontainers.image.title="Asgard API"
LABEL org.opencontainers.image.description="Main API for the Asgard System"
LABEL org.opencontainers.image.authors=["University of Lincoln - Computer Science Technical Services <technician@lincoln.ac.uk>","Josh Cooper <joshcooper@lincoln.ac.uk>"]
LABEL org.opencontainers.image.url="https://github.com/socstech/asgard"
LABEL org.opencontainers.image.licenses="Apache-2.0"

# Make things run as node user
Expand Down
87 changes: 87 additions & 0 deletions docker-compose.build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
version: "3"

services:
asgard-jobs:
build: ./jobs
container_name: asgard-jobs
restart: always
networks:
- asgard_internal
env_file:
- .env
environment:
API_URL: "http://asgard-api:3000"
MQTT_BROKER: "mqtt"
ACADEMIC_YEAR_START_DATE: ${ACADEMIC_YEAR_START_DATE}
BOT_USER: ${BOT_USER}
BOT_PASS: ${BOT_PASS}
volumes:
- ./jobs/data:/app/data
depends_on:
- asgard-api
- mqtt

asgard-api:
build: ./api
container_name: asgard-api
restart: always
networks:
- asgard_internal
ports:
- 1305:3000
env_file:
- .env
depends_on:
- db
- mqtt

asgard-admin:
build: ./admin
container_name: asgard-admin
restart: always
networks:
- asgard_internal
depends_on:
- asgard-api
environment:
PUBLIC_API_URL: ${API_URL}
PUBLIC_Y2_URL: ${Y2_URL}
ports:
- 1102:80
db:
container_name: asgard-db
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_general_ci
restart: unless-stopped
volumes:
- mysql-data:/var/lib/mysql
networks:
- asgard_internal
environment:
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}

mqtt:
image: eclipse-mosquitto:2
container_name: asgard-mqtt
volumes:
- ./mosquitto.conf:/mosquitto/config/mosquitto.conf
- mqtt-data:/mosquitto/data
- mqtt-log:/mosquitto/log
stdin_open: true
tty: true
networks:
- asgard_internal
ports:
- 1883:1883
- 9001:9001

volumes:
mysql-data:
mqtt-data:
mqtt-log:

networks:
asgard_internal:
40 changes: 20 additions & 20 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ version: "3"

services:
asgard-jobs:
build: ./jobs
container_name: a2-asgard-jobs
image: ghcr.io/socstech/asgard-jobs:${TAG}
container_name: asgard-jobs
restart: always
networks:
- asgard_internal
Expand All @@ -22,8 +22,8 @@ services:
- mqtt

asgard-api:
build: ./api
container_name: a2-asgard-api
image: ghcr.io/socstech/asgard-api
container_name: asgard-api
restart: always
networks:
- asgard_internal
Expand All @@ -35,22 +35,22 @@ services:
- db
- mqtt

yggdrasil-web:
build: ./yggdrasil-web
container_name: a2-yggdrasil-web
restart: always
networks:
- asgard_internal
env_file:
- .env
depends_on:
- asgard-api
ports:
- 2305:80
# yggdrasil-web:
# build: ./yggdrasil-web
# container_name: a2-yggdrasil-web
# restart: always
# networks:
# - asgard_internal
# env_file:
# - .env
# depends_on:
# - asgard-api
# ports:
# - 2305:80

asgard-admin:
build: ./admin
container_name: a2-asgard-admin
image: ghcr.io/socstech/asgard-admin:${TAG}
container_name: asgard-admin
restart: always
networks:
- asgard_internal
Expand All @@ -62,7 +62,7 @@ services:
ports:
- 1102:80
db:
container_name: a2-asgard-db
container_name: asgard-db
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_general_ci
restart: unless-stopped
Expand All @@ -78,7 +78,7 @@ services:

mqtt:
image: eclipse-mosquitto:2
container_name: a2-asgard-mqtt
container_name: asgard-mqtt
volumes:
- ./mosquitto.conf:/mosquitto/config/mosquitto.conf
- mqtt-data:/mosquitto/data
Expand Down

0 comments on commit 9c37a22

Please sign in to comment.