diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0e00b48 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM rust:latest +WORKDIR /app +RUN git config --global --add safe.directory '*' + +CMD ["sleep", "infinity"] \ No newline at end of file diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..8d1e413 --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,237 @@ +x-shared-debug: &shared-debug + volumes: + - ../rlnl:/rlnl + - ../LiteRustLib:/LiteRustLib + - ../polariton:/polariton + - ../libfj:/libfj + - ../oj_core:/oj_core + - .:/app + - cargo:/usr/local/cargo/registry + - target:/app/target + build: + context: . + dockerfile: Dockerfile + network_mode: "host" + +x-shared-release: &shared-release + volumes: + - ../rlnl:/rlnl + - ../LiteRustLib:/LiteRustLib + - ../polariton:/polariton + - ../libfj:/libfj + - ../oj_core:/oj_core + - .:/app + - cargo:/usr/local/cargo/registry + - target:/app/target + build: + context: . + dockerfile: Dockerfile + command: cargo run --release -- --ip "0.0.0.0" + network_mode: "host" + environment: + RUST_LOG: "info" + +# only for debug +x-internal-services: &internal-services + environment: + RUST_BACKTRACE: "1" + RUST_LOG: "debug" + command: cargo run -- -1 + +# only for debug +x-web-services: &web-services + environment: + RUST_LOG: "debug" + command: cargo run + +services: + rc_services_debug: + <<: + - *shared-debug + - *internal-services + working_dir: /app/rc_services + profiles: ["debug"] + + rc_services_room_debug: + <<: + - *shared-debug + - *internal-services + working_dir: /app/rc_services_room + profiles: ["debug"] + + rc_social_debug: + <<: + - *shared-debug + - *internal-services + working_dir: /app/rc_social + profiles: ["debug"] + + rc_social_room_debug: + <<: + - *shared-debug + - *internal-services + working_dir: /app/rc_social_room + profiles: ["debug"] + + rc_chat_debug: + <<: + - *shared-debug + - *internal-services + working_dir: /app/rc_chat + profiles: ["debug"] + + rc_chat_room_debug: + <<: + - *shared-debug + - *internal-services + working_dir: /app/rc_chat_room + profiles: ["debug"] + + rc_singleplayer_debug: + <<: + - *shared-debug + - *internal-services + working_dir: /app/rc_singleplayer + profiles: ["debug"] + + rc_singleplayer_room_debug: + <<: + - *shared-debug + - *internal-services + working_dir: /app/rc_singleplayer_room + profiles: ["debug"] + + rc_lobby_debug: + <<: + - *shared-debug + - *internal-services + working_dir: /app/rc_lobby + profiles: ["debug"] + + rc_lobby_room_debug: + <<: + - *shared-debug + - *internal-services + working_dir: /app/rc_lobby_room + profiles: ["debug"] + + rc_multiplayer_debug: + <<: + - *shared-debug + - *internal-services + working_dir: /app/rc_multiplayer + command: cargo run + profiles: ["debug"] + + rc_factory_web_debug: + <<: + - *shared-debug + - *web-services + working_dir: /app/rc_factory_web + profiles: ["debug"] + + rc_auth_debug: + <<: + - *shared-debug + - *web-services + working_dir: /app/rc_auth + profiles: ["debug"] + + rc_microtransactions_debug: + <<: + - *shared-debug + - *web-services + working_dir: /app/rc_microtransactions + profiles: ["debug"] + + cdn_debug: + <<: + - *shared-debug + - *web-services + working_dir: /app/cdn + profiles: ["debug"] + + rc_services_release: + <<: *shared-release + working_dir: /app/rc_services + command: cargo run --release -- --ip "0.0.0.0" --redirect "domain_or_ip_address:4533" + profiles: ["release"] + + rc_services_room_release: + <<: *shared-release + working_dir: /app/rc_services_room + profiles: ["release"] + + rc_social_release: + <<: *shared-release + working_dir: /app/rc_social + command: cargo run --release -- --ip "0.0.0.0" --redirect "domain_or_ip_address:4535" + profiles: ["release"] + + rc_social_room_release: + <<: *shared-release + working_dir: /app/rc_social_room + profiles: ["release"] + + rc_chat_release: + <<: *shared-release + working_dir: /app/rc_chat + command: cargo run --release -- --ip "0.0.0.0" --redirect "domain_or_ip_address:4537" + profiles: ["release"] + + rc_chat_room_release: + <<: *shared-release + working_dir: /app/rc_chat_room + profiles: ["release"] + + rc_singleplayer_release: + <<: *shared-release + working_dir: /app/rc_singleplayer + command: cargo run --release -- --ip "0.0.0.0" --redirect "domain_or_ip_address:4539" + profiles: ["release"] + + rc_singleplayer_room_release: + <<: *shared-release + working_dir: /app/rc_singleplayer_room + profiles: ["release"] + + rc_lobby_release: + <<: *shared-release + working_dir: /app/rc_lobby + command: cargo run --release -- --ip "0.0.0.0" --redirect "domain_or_ip_address:4541" + profiles: ["release"] + + rc_lobby_room_release: + <<: *shared-release + working_dir: /app/rc_lobby_room + command: cargo run --release -- --ip "0.0.0.0" --redirect "domain_or_ip_address:4542" + profiles: ["release"] + + rc_multiplayer_release: + <<: *shared-release + working_dir: /app/rc_multiplayer + profiles: ["release"] + + rc_factory_web_release: + <<: *shared-release + working_dir: /app/rc_factory_web + profiles: ["release"] + + rc_auth_release: + <<: *shared-release + working_dir: /app/rc_auth + profiles: ["release"] + + rc_microtransactions_release: + <<: *shared-release + working_dir: /app/rc_microtransactions + profiles: ["release"] + + cdn_release: + <<: *shared-release + working_dir: /app/cdn + profiles: ["release"] + +volumes: + cargo: + target: \ No newline at end of file diff --git a/docker-compose.release.yml b/docker-compose.release.yml new file mode 100644 index 0000000..cee4d4a --- /dev/null +++ b/docker-compose.release.yml @@ -0,0 +1,91 @@ +x-shared-release: &shared-release + volumes: + - .:/app + - cargo:/usr/local/cargo/registry + - target:/app/target + build: + context: . + dockerfile: Dockerfile + network_mode: "host" + environment: + RUST_LOG: "info" + +services: + rc_services: + <<: *shared-release + working_dir: /app/rc_services + command: ./oj_rc_services --ip "0.0.0.0" --redirect "domain_or_ip_address:4533" + + rc_services_room: + <<: *shared-release + working_dir: /app/rc_services_room + command: ./oj_rc_services_room --ip "0.0.0.0" + + rc_social: + <<: *shared-release + working_dir: /app/rc_social + command: ./oj_rc_social --ip "0.0.0.0" --redirect "domain_or_ip_address:4535" + + rc_social_room: + <<: *shared-release + working_dir: /app/rc_social_room + command: ./oj_rc_social_room --ip "0.0.0.0" + + rc_chat: + <<: *shared-release + working_dir: /app/rc_chat + command: ./oj_rc_chat --ip "0.0.0.0" --redirect "domain_or_ip_address:4537" + + rc_chat_room: + <<: *shared-release + working_dir: /app/rc_chat_room + command: ./oj_rc_chat_room --ip "0.0.0.0" + + rc_singleplayer: + <<: *shared-release + working_dir: /app/rc_singleplayer + command: ./oj_rc_singleplayer --ip "0.0.0.0" --redirect "domain_or_ip_address:4539" + + rc_singleplayer_room: + <<: *shared-release + working_dir: /app/rc_singleplayer_room + command: ./oj_rc_singleplayer_room --ip "0.0.0.0" + + rc_lobby: + <<: *shared-release + working_dir: /app/rc_lobby + command: ./oj_rc_lobby --ip "0.0.0.0" --redirect "domain_or_ip_address:4541" + + rc_lobby_room: + <<: *shared-release + working_dir: /app/rc_lobby_room + command: ./oj_rc_lobby_room --ip "0.0.0.0" --redirect "domain_or_ip_address:4542" + + rc_multiplayer: + <<: *shared-release + working_dir: /app/rc_multiplayer + command: ./oj_rc_multiplayer --ip "0.0.0.0" + + rc_factory_web: + <<: *shared-release + working_dir: /app/rc_factory_web + command: ./oj_rc_factory_web --ip "0.0.0.0" + + rc_auth: + <<: *shared-release + working_dir: /app/rc_auth + command: ./oj_rc_auth --ip "0.0.0.0" + + rc_microtransactions: + <<: *shared-release + working_dir: /app/rc_microtransactions + command: ./oj_rc_microtransactions --ip "0.0.0.0" + + cdn: + <<: *shared-release + working_dir: /app/cdn + command: ./oj_cdn --ip "0.0.0.0" + +volumes: + cargo: + target: \ No newline at end of file