|
1 | 1 | # 🐳 **Docker Dashboard** |
2 | 2 |
|
3 | | -> **_Simple lightweight GUI application for working with Docker!_** |
| 3 | + |
4 | 4 |
|
5 | | -Perhaps it can be a good alternative to Docker Desktop in the future 😂 |
| 5 | +> **_Simple lightweight GUI application for working with Docker!_** |
6 | 6 |
|
7 | | -## **📄 Requirements**: |
| 7 | +## **📄 System Requirements**: |
8 | 8 |
|
9 | | -- Python **+3.8** |
| 9 | +- Docker |
10 | 10 | - Operating system: `ubuntu` (tested `20.04 LTS`, `22.04 LTS`). |
11 | 11 |
|
12 | 12 | ## **📦 Installation** |
13 | 13 |
|
14 | | -Go to the [releases](https://github.com/AbduazizZiyodov/docker-dashboard/releases). Download the latest version (`docker-dashboard-*.tar.gz`) and extract archive. |
| 14 | +## **Server** 🚀 |
| 15 | + |
| 16 | +I changed the way of installing server-side components. You don't need to install anything on your local machine. |
15 | 17 |
|
16 | | -```bash |
17 | | -$ mkdir docker-dashboard/ |
18 | | -$ tar -xf docker-dashboard-*.tar.gz -C docker-dashboard/ |
| 18 | +First, you need to pull the docker image: |
| 19 | + |
| 20 | +```sh |
| 21 | +docker pull abduaziz/docker-dashboard:2.3.0 |
19 | 22 | ``` |
20 | 23 |
|
21 | | -Open the directory on the terminal and run this command: |
| 24 | +Now it is ready to run, but the docker-dashboard needs access to your local docker UNIX socket. Because it cannot get any data from your docker host, from inside of the container (it is an isolated environment). You have to pass your docker socket path through `-v`. |
| 25 | + |
| 26 | +> **Note** |
| 27 | +> You have to run the docker image on the `2121` port because the client-side application listens on this port. Port `9001` is for the supervisor `inet HTTP server`, it is optional but if you want, you can expose this port. |
22 | 28 |
|
23 | | -```bash |
24 | | -$ cd docker-dashboard/ |
25 | | -$ sudo ./install.sh |
| 29 | +```sh |
| 30 | +docker run -d -p 2121:2121 -p 9001:9001 \ |
| 31 | + -v /var/run/docker.sock:/var/run/docker.sock \ |
| 32 | + abduaziz/docker-dashboard:2.3.0 |
26 | 33 | ``` |
27 | | - |
28 | 34 |
|
29 | | -- **Supervisor status**: |
30 | | -  |
| 35 | + |
31 | 36 |
|
32 | | -- **API status**: |
33 | | -  |
| 37 | +Visit http://localhost:2121 🎉 |
34 | 38 |
|
| 39 | + |
35 | 40 |
|
| 41 | +## **Client** 👨🦰 |
| 42 | + |
| 43 | +Go to the [releases](https://github.com/AbduazizZiyodov/docker-dashboard/releases). Download the latest version according to your operating system. |
| 44 | + |
| 45 | +- **Ubuntu** |
| 46 | + ```sh |
| 47 | + sudo dpkg -i docker-dashboard_*.deb |
| 48 | + ``` |
| 49 | + |
| 50 | +> **Warning** |
| 51 | +> I uploaded `.dmg`, `.AppImage` packages also, you can test them. But they are not stable! |
36 | 52 |
|
37 | 53 | ## **🔧 Development** |
38 | 54 |
|
39 | 55 | Clone this repository |
40 | 56 |
|
41 | | -```bash |
| 57 | +```sh |
42 | 58 | $ git clone https://github.com/AbduazizZiyodov/docker-dashboard |
43 | 59 | ``` |
44 | 60 |
|
45 | 61 | **Running 🚀** |
46 | 62 |
|
47 | 63 | - `backend` (from src/): |
48 | | - ```bash |
49 | | - $ uvicorn server.asgi:application --reload --port 2121 # install dependencies from requirements.txt |
| 64 | + ```sh |
| 65 | + make run |
50 | 66 | ``` |
51 | | -- `tests` (from src/server/) |
52 | | - ```bash |
53 | | - $ pytest # test_requirements.txt |
| 67 | +- `tests` (from parent dir) |
| 68 | + ```sh |
| 69 | + # install test requirements from test_requirements.txt |
| 70 | + $ make test |
54 | 71 | ``` |
55 | 72 | - `frontend` (from src/client) |
56 | | - ```bash |
57 | | - $ npm start # or ng serve (global) |
| 73 | + ```sh |
| 74 | + npm start # or ng serve (global) |
58 | 75 | ``` |
59 | 76 |
|
60 | 77 | ## **🏗️ Build** |
61 | 78 |
|
62 | | -First, you have to install some system dependencies,`rust` and `cargo` |
63 | | - |
64 | | -**Install system dependencies** |
| 79 | +First, you have to install some system dependencies,`rust` and `cargo`, then `tauri` itself. You can see all instructions from tauir's documentation. |
65 | 80 |
|
66 | | -```bash |
67 | | -$ sudo apt update |
68 | | -$ sudo apt install libwebkit2gtk-4.0-dev \ |
69 | | - build-essential \ |
70 | | - curl \ |
71 | | - libssl-dev \ |
72 | | - libgtk-3-dev \ |
73 | | - libayatana-appindicator3-dev \ |
74 | | - librsvg2-dev |
75 | | -``` |
76 | | - |
77 | | -**Install rust 🦀** |
78 | | - |
79 | | -```bash |
80 | | -$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh |
81 | | -$ rustup update # for updating |
82 | | -``` |
83 | | - |
84 | | -**Install cargo📦** |
| 81 | +**References** |
85 | 82 |
|
86 | | -```bash |
87 | | -$ sudo apt install cargo |
88 | | -``` |
89 | | - |
90 | | -### **🧮 Commands** |
| 83 | +- https://tauri.app/v1/guides/getting-started/prerequisites/ |
| 84 | +- https://tauri.app/v1/guides/getting-started/setup/integrate |
| 85 | +- https://tauri.app/v1/guides/development/development-cycle |
| 86 | +- https://doc.rust-lang.org/cargo/getting-started/installation.html |
91 | 87 |
|
92 | | -For testing client-side. You can view, or fix something. |
| 88 | +You can run client-side (preview) by this command: |
93 | 89 |
|
94 | | -```bash |
95 | | -$ cargo tauri dev |
| 90 | +```sh |
| 91 | +cargo tauri dev |
96 | 92 | ``` |
97 | 93 |
|
98 | | -Build client-side. You should check `src/client/src-tauri/target` folder. |
| 94 | +Build client-side. You should check `src/client/src-tauri/target` folder: |
99 | 95 |
|
100 | | -```bash |
101 | | -$ cargo tauri build |
| 96 | +```sh |
| 97 | +cargo tauri build |
102 | 98 | ``` |
103 | 99 |
|
104 | | -## **🧪 Testing** |
105 | | - |
106 | | -Used `pytest`, (tests -> src/server/tests) |
107 | | - |
108 | | -```bash |
109 | | -$ cd src/server |
110 | | -$ pytest |
111 | | -``` |
| 100 | +# **License** |
112 | 101 |
|
113 | | - |
| 102 | +This project is licensed under the terms of the MIT license. |
114 | 103 |
|
115 | 104 | <hr> |
116 | 105 |
|
|
0 commit comments