forked from vieter-v/vieter
Added Dockerfile & beginning of vweb server
parent
9a09db0485
commit
65f113cdee
|
@ -0,0 +1,3 @@
|
||||||
|
*
|
||||||
|
|
||||||
|
!vieter/
|
|
@ -0,0 +1,3 @@
|
||||||
|
*.c
|
||||||
|
data/
|
||||||
|
vieter/vieter
|
|
@ -0,0 +1,15 @@
|
||||||
|
FROM thevlang/vlang:alpine-dev AS builder
|
||||||
|
|
||||||
|
WORKDIR /src
|
||||||
|
COPY vieter ./vieter
|
||||||
|
|
||||||
|
RUN v -prod vieter
|
||||||
|
|
||||||
|
|
||||||
|
FROM alpine:3.15.0
|
||||||
|
|
||||||
|
ENV REPO_DIR=/data
|
||||||
|
|
||||||
|
COPY --from=builder /src/vieter/vieter /usr/local/bin/
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/usr/local/bin/vieter" ]
|
|
@ -0,0 +1,7 @@
|
||||||
|
.PHONY: run
|
||||||
|
run:
|
||||||
|
API_KEY=test REPO_DIR=data v run vieter
|
||||||
|
|
||||||
|
.PHONY: fmt
|
||||||
|
fmt:
|
||||||
|
v fmt -w vieter
|
|
@ -1,11 +0,0 @@
|
||||||
module main
|
|
||||||
|
|
||||||
import fibonacci
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
println('Hello, world!')
|
|
||||||
|
|
||||||
for i in 1 .. 35 {
|
|
||||||
println('$i - ${fibonacci.fib(i)}')
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
module main
|
||||||
|
|
||||||
|
import vweb
|
||||||
|
import os
|
||||||
|
|
||||||
|
const port = 8000
|
||||||
|
|
||||||
|
struct App {
|
||||||
|
vweb.Context
|
||||||
|
api_key string [required]
|
||||||
|
repo_dir string [required]
|
||||||
|
}
|
||||||
|
|
||||||
|
[noreturn]
|
||||||
|
fn exit_with_message(code int, msg string) {
|
||||||
|
eprintln(msg)
|
||||||
|
exit(code)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
key := os.getenv_opt('API_KEY') or { exit_with_message(1, 'No API key was provided.') }
|
||||||
|
repo_dir := os.getenv_opt('REPO_DIR') or {
|
||||||
|
exit_with_message(1, 'No repo directory was configured.')
|
||||||
|
}
|
||||||
|
|
||||||
|
// We create the upload directory during startup
|
||||||
|
if !os.is_dir(repo_dir) {
|
||||||
|
os.mkdir_all(repo_dir) or { exit_with_message(2, 'Failed to create repo directory.') }
|
||||||
|
|
||||||
|
println('Repo directory created.')
|
||||||
|
}
|
||||||
|
|
||||||
|
vweb.run(&App{
|
||||||
|
api_key: key
|
||||||
|
repo_dir: repo_dir
|
||||||
|
}, port)
|
||||||
|
}
|
Loading…
Reference in New Issue