Misc fixes for containerization
This commit is contained in:
parent
69f1c2ed58
commit
224f8f7d9d
|
@ -15,7 +15,7 @@ const allSessions = new Set();
|
||||||
|
|
||||||
export class Session {
|
export class Session {
|
||||||
get homedir() {
|
get homedir() {
|
||||||
return `/tmp/riju/${this.uuid}`;
|
return "/home/riju/src";
|
||||||
}
|
}
|
||||||
|
|
||||||
get config() {
|
get config() {
|
||||||
|
|
|
@ -3,7 +3,10 @@ FROM ubuntu:rolling
|
||||||
COPY docker/base/install.bash /tmp/
|
COPY docker/base/install.bash /tmp/
|
||||||
RUN /tmp/install.bash
|
RUN /tmp/install.bash
|
||||||
|
|
||||||
WORKDIR /src
|
RUN useradd -p '!' -m -l -s /usr/bin/bash riju
|
||||||
|
RUN runuser -u riju -- mkdir /home/riju/src
|
||||||
|
WORKDIR /home/riju/src
|
||||||
|
|
||||||
COPY docker/shared/my_init /usr/local/sbin/
|
COPY docker/shared/my_init /usr/local/sbin/
|
||||||
ENTRYPOINT ["/usr/local/sbin/my_init", "--quiet", "--"]
|
ENTRYPOINT ["/usr/local/sbin/my_init", "--quiet", "--"]
|
||||||
CMD ["bash"]
|
CMD ["bash"]
|
||||||
|
|
|
@ -5,10 +5,4 @@ ARG LANG
|
||||||
COPY docker/lang/install.bash /tmp/
|
COPY docker/lang/install.bash /tmp/
|
||||||
RUN /tmp/install.bash
|
RUN /tmp/install.bash
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/local/sbin/my_init", "--quiet", "--"]
|
|
||||||
RUN rm /usr/local/sbin/pid1.bash
|
|
||||||
|
|
||||||
RUN useradd -p '!' -m -l -s /usr/bin/bash riju
|
|
||||||
WORKDIR /home/riju/src
|
|
||||||
USER riju
|
USER riju
|
||||||
CMD ["bash"]
|
|
||||||
|
|
|
@ -28,9 +28,11 @@ if dpkg-deb -f "riju-lang-${LANG}.deb" -f Depends | grep .; then
|
||||||
apt-get update
|
apt-get update
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for file in ./riju-shared-*.deb; do
|
if compgen -G "./riju-shared-*.deb"; then
|
||||||
apt-get install -y "${file}"
|
for file in ./riju-shared-*.deb; do
|
||||||
done
|
apt-get install -y "${file}"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
apt-get install -y "./riju-lang-${LANG}.deb"
|
apt-get install -y "./riju-lang-${LANG}.deb"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import { promises as fs } from "fs";
|
import { promises as fs } from "fs";
|
||||||
import http from "http";
|
import http from "http";
|
||||||
|
import url from "url";
|
||||||
|
|
||||||
import { Command } from "commander";
|
import { Command } from "commander";
|
||||||
import express from "express";
|
import express from "express";
|
||||||
|
@ -24,7 +25,7 @@ async function main() {
|
||||||
program.requiredOption("--lang <id>", "language ID");
|
program.requiredOption("--lang <id>", "language ID");
|
||||||
program.option("--debug", "interactive debugging");
|
program.option("--debug", "interactive debugging");
|
||||||
program.parse(process.argv);
|
program.parse(process.argv);
|
||||||
const { lang, debug } = program;
|
const { lang, debug } = program.opts();
|
||||||
const hash = await hashDockerfile(
|
const hash = await hashDockerfile(
|
||||||
"lang",
|
"lang",
|
||||||
{
|
{
|
||||||
|
@ -35,7 +36,7 @@ async function main() {
|
||||||
langHash: await getDebHash(`build/lang/${lang}/riju-lang-${lang}.deb`),
|
langHash: await getDebHash(`build/lang/${lang}/riju-lang-${lang}.deb`),
|
||||||
sharedHashes: (
|
sharedHashes: (
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
getSharedDepsForLangConfig(await readLangConfig(lang)).map(
|
(await getSharedDepsForLangConfig(await readLangConfig(lang))).map(
|
||||||
async (name) =>
|
async (name) =>
|
||||||
await getDebHash(`build/shared/${name}/riju-shared-${name}.deb`)
|
await getDebHash(`build/shared/${name}/riju-shared-${name}.deb`)
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue