Add containerfile and fix all issues
This commit is contained in:
parent
ccee0f7ca6
commit
3ac0ecfec2
8 changed files with 76 additions and 31 deletions
29
Containerfile
Normal file
29
Containerfile
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
FROM rust:latest
|
||||||
|
|
||||||
|
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||||
|
RUN chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
|
RUN echo \
|
||||||
|
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||||
|
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
|
||||||
|
tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
|
RUN apt-get update && apt-get install cmake npm docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
|
||||||
|
|
||||||
|
WORKDIR /pw
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN cargo build --release
|
||||||
|
|
||||||
|
RUN cargo install wasm-pack
|
||||||
|
|
||||||
|
RUN wasm-pack build web/planetwars-rs --target web
|
||||||
|
|
||||||
|
WORKDIR /pw/web/pw-server
|
||||||
|
|
||||||
|
RUN npm install --force && npm run build
|
||||||
|
|
||||||
|
RUN sed "s/module.exports=y;//" /pw/web/pw-server/.svelte-kit/output/client/_app/chunks/PlayerLog-c14926a0.js -i
|
||||||
|
|
||||||
|
WORKDIR /pw/planetwars-server
|
||||||
|
|
||||||
|
ENTRYPOINT ["../target/release/planetwars-server", "npm --prefix /pw/web/pw-server run preview -- --host"]
|
7
bot.toml
Normal file
7
bot.toml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Comand to run when starting the bot.
|
||||||
|
# Argv style also supported: ["python", "simplebot.py"]
|
||||||
|
command = "python simplebot.py"
|
||||||
|
|
||||||
|
# Directory in which to run the command.
|
||||||
|
# It is recommended to use an absolute path here.
|
||||||
|
working_directory = "/home/planetwars/planetwars.dev/simplebot"
|
|
@ -167,7 +167,7 @@ pub fn get_config() -> Result<GlobalConfig, ConfigError> {
|
||||||
|
|
||||||
async fn run_registry(config: Arc<GlobalConfig>, db_pool: DbPool) {
|
async fn run_registry(config: Arc<GlobalConfig>, db_pool: DbPool) {
|
||||||
// TODO: put in config
|
// TODO: put in config
|
||||||
let addr = SocketAddr::from(([127, 0, 0, 1], 9001));
|
let addr = SocketAddr::from(([0, 0, 0, 0], 9001));
|
||||||
|
|
||||||
axum::Server::bind(&addr)
|
axum::Server::bind(&addr)
|
||||||
.serve(
|
.serve(
|
||||||
|
@ -193,7 +193,7 @@ pub async fn run_app() {
|
||||||
tokio::spawn(run_client_api(global_config.clone(), db_pool.clone()));
|
tokio::spawn(run_client_api(global_config.clone(), db_pool.clone()));
|
||||||
|
|
||||||
// TODO: put in config
|
// TODO: put in config
|
||||||
let addr = SocketAddr::from(([127, 0, 0, 1], 9000));
|
let addr = SocketAddr::from(([0, 0, 0, 0], 9000));
|
||||||
|
|
||||||
let pw_api_service = create_pw_api(global_config, db_pool).into_make_service();
|
let pw_api_service = create_pw_api(global_config, db_pool).into_make_service();
|
||||||
axum::Server::bind(&addr)
|
axum::Server::bind(&addr)
|
||||||
|
|
|
@ -377,7 +377,7 @@ pub async fn run_client_api(runner_config: Arc<GlobalConfig>, pool: ConnectionPo
|
||||||
runner_config,
|
runner_config,
|
||||||
};
|
};
|
||||||
|
|
||||||
let addr = SocketAddr::from(([127, 0, 0, 1], 50051));
|
let addr = SocketAddr::from(([0, 0, 0, 0], 50051));
|
||||||
Server::builder()
|
Server::builder()
|
||||||
.add_service(pb::client_api_service_server::ClientApiServiceServer::new(
|
.add_service(pb::client_api_service_server::ClientApiServiceServer::new(
|
||||||
server,
|
server,
|
||||||
|
|
|
@ -141,8 +141,9 @@ pub fn bot_version_to_botspec(
|
||||||
}
|
}
|
||||||
|
|
||||||
fn python_docker_bot_spec(config: &GlobalConfig, code_bundle_path: &str) -> Box<dyn BotSpec> {
|
fn python_docker_bot_spec(config: &GlobalConfig, code_bundle_path: &str) -> Box<dyn BotSpec> {
|
||||||
let code_bundle_rel_path = PathBuf::from(&config.bots_directory).join(code_bundle_path);
|
let code_bundle_abs_path = PathBuf::from("/home/planetwars/data/bots").join(code_bundle_path);
|
||||||
let code_bundle_abs_path = std::fs::canonicalize(&code_bundle_rel_path).unwrap();
|
//let code_bundle_abs_path = std::fs::canonicalize(&code_bundle_rel_path).unwrap();
|
||||||
|
println!("{}",code_bundle_abs_path.display());
|
||||||
let code_bundle_path_str = code_bundle_abs_path.as_os_str().to_str().unwrap();
|
let code_bundle_path_str = code_bundle_abs_path.as_os_str().to_str().unwrap();
|
||||||
|
|
||||||
// TODO: it would be good to simplify this configuration
|
// TODO: it would be good to simplify this configuration
|
||||||
|
|
|
@ -108,6 +108,10 @@ pub async fn list_recent_matches(
|
||||||
None => matches::list_public_matches(count, params.before, params.after, &mut conn),
|
None => matches::list_public_matches(count, params.before, params.after, &mut conn),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
match matches_result {
|
||||||
|
Ok(_) => println!("ok"),
|
||||||
|
Err(ref err) => println!("{}",err)
|
||||||
|
};
|
||||||
let mut matches = matches_result.expect("failed to get matches"); //.map_err(|_| StatusCode::BAD_REQUEST)?;
|
let mut matches = matches_result.expect("failed to get matches"); //.map_err(|_| StatusCode::BAD_REQUEST)?;
|
||||||
|
|
||||||
let mut has_next = false;
|
let mut has_next = false;
|
||||||
|
|
4
simplebot/Containerfile
Normal file
4
simplebot/Containerfile
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
FROM python:alpine
|
||||||
|
WORKDIR /app
|
||||||
|
COPY simplebot.py simplebot.py
|
||||||
|
CMD python simplebot.py
|
|
@ -12,37 +12,37 @@
|
||||||
"format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. ."
|
"format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. ."
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@originjs/vite-plugin-commonjs": "^1.0.1",
|
"@originjs/vite-plugin-commonjs": "1.0.1",
|
||||||
"@sveltejs/adapter-auto": "next",
|
"@sveltejs/adapter-auto": "next",
|
||||||
"@sveltejs/kit": "^1.0.0-next.286",
|
"@sveltejs/kit": "1.0.0-next.286",
|
||||||
"@sveltejs/vite-plugin-svelte": "^1.0.0-next.30",
|
"@sveltejs/vite-plugin-svelte": "1.0.0-next.49",
|
||||||
"@typescript-eslint/eslint-plugin": "^4.31.1",
|
"@typescript-eslint/eslint-plugin": "4.31.1",
|
||||||
"@typescript-eslint/parser": "^4.31.1",
|
"@typescript-eslint/parser": "4.31.1",
|
||||||
"eslint": "^7.32.0",
|
"eslint": "7.32.0",
|
||||||
"eslint-config-prettier": "^8.3.0",
|
"eslint-config-prettier": "8.3.0",
|
||||||
"eslint-plugin-svelte3": "^3.2.1",
|
"eslint-plugin-svelte3": "3.2.1",
|
||||||
"luxon": "^2.3.0",
|
"luxon": "2.3.0",
|
||||||
"mdsvex": "^0.10.6",
|
"mdsvex": "0.10.6",
|
||||||
"prettier": "^2.4.1",
|
"prettier": "2.4.1",
|
||||||
"prettier-plugin-svelte": "^2.4.0",
|
"prettier-plugin-svelte": "2.4.0",
|
||||||
"sass": "^1.49.7",
|
"sass": "1.49.7",
|
||||||
"svelte": "^3.52.0",
|
"svelte": "3.52.0",
|
||||||
"svelte-check": "^2.2.6",
|
"svelte-check": "2.2.6",
|
||||||
"svelte-preprocess": "^4.9.4",
|
"svelte-preprocess": "4.9.4",
|
||||||
"tslib": "^2.3.1",
|
"tslib": "2.3.1",
|
||||||
"typescript": "^4.4.3",
|
"typescript": "4.4.3",
|
||||||
"vite-plugin-iso-import": "^0.1.3"
|
"vite-plugin-iso-import": "0.1.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/free-solid-svg-icons": "^6.2.0",
|
"@fortawesome/free-solid-svg-icons": "6.2.0",
|
||||||
"@sveltejs/adapter-node": "^1.0.0-next.69",
|
"@sveltejs/adapter-node": "1.0.0-next.69",
|
||||||
"@types/luxon": "^2.0.9",
|
"@types/luxon": "2.0.9",
|
||||||
"ace-builds": "^1.4.14",
|
"ace-builds": "1.4.14",
|
||||||
"dayjs": "^1.10.7",
|
"dayjs": "1.10.7",
|
||||||
"planetwars-rs": "file:../planetwars-rs/pkg",
|
"planetwars-rs": "file:../planetwars-rs/pkg",
|
||||||
"pw-visualizer": "file:../pw-visualizer",
|
"pw-visualizer": "file:../pw-visualizer",
|
||||||
"svelte-fa": "^3.0.3",
|
"svelte-fa": "3.0.3",
|
||||||
"svelte-select": "^5.0.0-beta.31"
|
"svelte-select": "5.0.0-beta.31"
|
||||||
},
|
},
|
||||||
"type": "module"
|
"type": "module"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue