OLD | NEW |
1 # Running the engine in a Docker container | 1 # Running the engine in a Docker container |
2 | 2 |
3 For local development and testing, you can run the engine in a Docker | 3 For local development and testing, you can run the engine in a Docker |
4 container. | 4 container. |
5 | 5 |
6 The steps are: | 6 The steps are: |
7 | 7 |
8 1. Bundle the engine and its dependencies. | 8 1. Bundle the engine and its dependencies. |
9 | 9 |
10 1. Build a Docker image. | 10 1. Build a Docker image. |
(...skipping 25 matching lines...) Expand all Loading... |
36 This target is always built as part of the top-level `blimp/blimp` meta-target. | 36 This target is always built as part of the top-level `blimp/blimp` meta-target. |
37 | 37 |
38 ### Update Engine Dependencies | 38 ### Update Engine Dependencies |
39 | 39 |
40 `blimp/engine/engine-manifest.txt` is a list of the engine's runtime | 40 `blimp/engine/engine-manifest.txt` is a list of the engine's runtime |
41 dependencies. From time to time, this list may need to be updated. Use | 41 dependencies. From time to time, this list may need to be updated. Use |
42 `blimp/tools/generate-engine-manifest.py` to (re)generate the manifest: | 42 `blimp/tools/generate-engine-manifest.py` to (re)generate the manifest: |
43 | 43 |
44 ```bash | 44 ```bash |
45 ./blimp/tools/generate-engine-manifest.py \ | 45 ./blimp/tools/generate-engine-manifest.py \ |
46 --build-dir out-linux/Debug \ | 46 --build-dir out-chromeos/Debug \ |
47 --target //blimp/engine:blimp_engine \ | 47 --target //blimp/engine:blimp_engine \ |
48 --output blimp/engine/engine-manifest.txt | 48 --output blimp/engine/engine-manifest.txt |
49 ``` | 49 ``` |
50 | 50 |
51 Be sure to review the generated manifest and remove any false runtime | 51 Be sure to review the generated manifest and remove any false runtime |
52 dependencies. | 52 dependencies. |
53 | 53 |
54 ## Build Docker Image | 54 ## Build Docker Image |
55 | 55 |
56 Using the tarfile you can create a Docker image: | 56 Using the tarfile you can create a Docker image: |
57 | 57 |
58 ```bash | 58 ```bash |
59 docker build -t blimp_engine - < ./out-linux/Debug/blimp_engine_bundle.tar | 59 docker build -t blimp_engine - < ./out-chromeos/Debug/blimp_engine_bundle.tar.gz |
60 ``` | 60 ``` |
61 | 61 |
62 ## Running the Engine in a Docker Container | 62 ## Running the Engine in a Docker Container |
63 | 63 |
64 After building the Docker image you can launch the engine inside the Docker | 64 After building the Docker image you can launch the engine inside the Docker |
65 container. | 65 container. |
66 | 66 |
67 ### Setting up an Environment | 67 ### Setting up an Environment |
68 | 68 |
69 A little prep work is necessary to enable the engine to start as it requires a | 69 A little prep work is necessary to enable the engine to start as it requires a |
70 few files that are not provided by the container. You need: | 70 few files that are not provided by the container. You need: |
71 | 71 |
72 * A directory (`$CONFIG_DIR`) with permissions of 0755 (ie. world accessable) | 72 * A directory (`$CONFIG_DIR`) with permissions of 0755 (ie. world accessable) |
73 * `$CONFIG_DIR/stunnel.pem`: A PEM encoded file with a private key and a | 73 * `$CONFIG_DIR/stunnel.pem`: A PEM encoded file with a private key and a |
74 public certificate. Permissions should be set to 644. | 74 public certificate. Permissions should be set to 644. |
75 * `$CONFIG_DIR/client_token`: A file with a non-empty string used as the | 75 * `$CONFIG_DIR/client_token`: A file with a non-empty string used as the |
76 client token (the shared secret between the client and the engine). | 76 client token (the shared secret between the client and the engine). |
77 Persmissions should also be set to 644. | 77 Permissions should also be set to 644. See [running](running.md) for how |
| 78 to get the default token from the source code. |
78 | 79 |
79 This setup step is only required once and can be reused for all the rest of the | 80 This setup step is only required once and can be reused for all the rest of the |
80 runs of the engine. | 81 runs of the engine. |
81 | 82 |
82 ### Running the Engine | 83 ### Running the Engine |
83 | 84 |
84 Once the `$CONFIG_DIR` is set up, you can launch the engine in the Docker | 85 Once the `$CONFIG_DIR` is set up, you can launch the engine in the Docker |
85 container: | 86 container: |
86 | 87 |
87 ```bash | 88 ```bash |
88 docker run -v $CONFIG_DIR:/engine/data -p 443:25466 blimp_engine | 89 docker run -v $CONFIG_DIR:/engine/data -p 443:25466 blimp_engine |
89 ``` | 90 ``` |
90 You can also pass additional flags: | 91 You can also pass additional flags: |
91 | 92 |
92 ```bash | 93 ```bash |
93 docker run ... blimp_engine --with-my-flags | 94 docker run ... blimp_engine --with-my-flags |
94 ``` | 95 ``` |
95 See the [blimp engine `Dockerfile`](../engine/Dockerfile) to find out what flags | 96 See the [blimp engine `Dockerfile`](../engine/Dockerfile) to find out what flags |
96 are passed by default. | 97 are passed by default. |
97 | |
OLD | NEW |