mirror of
https://github.com/ANL-CEEESA/UnitCommitment.jl.git
synced 2025-12-06 00:08:52 -06:00
web: Update Dockerfile, Makefile
This commit is contained in:
@@ -5,12 +5,16 @@ WORKDIR /app
|
||||
# Install project & dependencies
|
||||
COPY Project.toml /app/Backend/
|
||||
COPY src /app/Backend/src
|
||||
RUN julia --project=. -e 'using Pkg; Pkg.develop(path="Backend"); Pkg.add("HiGHS"); Pkg.precompile()'
|
||||
RUN julia --project=. -e 'using Pkg; Pkg.develop(path="Backend"); Pkg.add("HiGHS"); Pkg.add("JuMP"); Pkg.precompile()'
|
||||
COPY docker/startup.jl ./
|
||||
|
||||
# Set timezone to US/Chicago
|
||||
ENV TZ=US/Chicago
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
# Set default environment variables
|
||||
ENV UCJL_HOST="0.0.0.0"
|
||||
ENV UCJL_PORT="9000"
|
||||
|
||||
# Run the server
|
||||
CMD ["julia", "--project=.", "startup.jl"]
|
||||
CMD ["julia", "--threads", "1", "--procs", "1", "--project=.", "startup.jl"]
|
||||
|
||||
@@ -2,4 +2,14 @@ docker-build:
|
||||
docker build . -t ucjl-backend
|
||||
|
||||
docker-run:
|
||||
docker run --publish 9000:9000 --rm -it ucjl-backend
|
||||
docker stop ucjl-backend
|
||||
docker rm ucjl-backend
|
||||
docker run \
|
||||
--restart always \
|
||||
--detach \
|
||||
--network custom \
|
||||
--name ucjl-backend \
|
||||
--volume ucjl_data:/app/Backend/jobs \
|
||||
--memory 16g \
|
||||
--cpus 4 \
|
||||
ucjl-backend
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
# Load required packages
|
||||
using HiGHS
|
||||
using JuMP
|
||||
using Backend
|
||||
|
||||
const UCJL_HOST = get(ENV, "HOST", "0.0.0.0")
|
||||
@@ -16,7 +17,8 @@ println("Host: $UCJL_HOST")
|
||||
println("Port: $UCJL_PORT")
|
||||
println("Press Ctrl+C to stop the server")
|
||||
|
||||
server = Backend.start_server(UCJL_HOST, UCJL_PORT; optimizer = HiGHS.Optimizer)
|
||||
Backend.setup_logger()
|
||||
server = Backend.start_server(UCJL_HOST, UCJL_PORT; optimizer = optimizer_with_attributes(HiGHS.Optimizer, "mip_rel_gap" => 0.001))
|
||||
try
|
||||
wait()
|
||||
catch e
|
||||
|
||||
@@ -99,7 +99,7 @@ function start_server(host, port; optimizer)
|
||||
instance,
|
||||
optimizer = optimizer,
|
||||
)
|
||||
UnitCommitment.optimize!(model)
|
||||
UnitCommitment.optimize!(model, UnitCommitment.XavQiuWanThi2019.Method(time_limit=900.0))
|
||||
solution = UnitCommitment.solution(model)
|
||||
UnitCommitment.write(solution_filename, solution)
|
||||
return
|
||||
|
||||
@@ -4,6 +4,8 @@ WORKDIR /app
|
||||
COPY package*.json ./
|
||||
RUN npm install
|
||||
COPY . .
|
||||
ARG REACT_APP_BACKEND_URL
|
||||
ENV REACT_APP_BACKEND_URL=$REACT_APP_BACKEND_URL
|
||||
RUN npm run build
|
||||
|
||||
# Production Stage
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
docker-build:
|
||||
docker build . -t ucjl-frontend
|
||||
docker build . \
|
||||
--build-arg REACT_APP_BACKEND_URL=https://ucjl.axavier.org/api \
|
||||
-t ucjl-frontend
|
||||
|
||||
docker-run:
|
||||
docker run -e REACT_APP_BACKEND_URL=http://localhost:9000/api --publish 3000:3000 --rm -it ucjl-frontend
|
||||
docker stop ucjl-frontend
|
||||
docker rm ucjl-frontend
|
||||
docker run \
|
||||
--detach \
|
||||
--network custom \
|
||||
--restart always \
|
||||
--name ucjl-frontend \
|
||||
ucjl-frontend
|
||||
|
||||
Reference in New Issue
Block a user