Merge branch 'master' into master
This commit is contained in:
commit
ae400b0f37
5 changed files with 293 additions and 10 deletions
18
README.md
18
README.md
|
@ -22,10 +22,10 @@ View Video: https://youtu.be/AWAlOQeNpgU?t=48
|
|||
- Reactive
|
||||
- Everything is just responsive. Progress (Pull/Up/Down) and terminal output are in real-time
|
||||
- Easy-to-use & fancy UI
|
||||
- If you love Uptime Kuma's UI/UX, you will love this too
|
||||
- If you love Uptime Kuma's UI/UX, you will love this one too
|
||||
- Convert `docker run ...` commands into `compose.yaml`
|
||||
- File based structure
|
||||
- Dockge won't kidnap your compose files, they stored on your drive as usual. You can interact with them using normal `docker compose` commands
|
||||
- Dockge won't kidnap your compose files, they are stored on your drive as usual. You can interact with them using normal `docker compose` commands
|
||||
<img src="https://github.com/louislam/dockge/assets/1336778/cc071864-592e-4909-b73a-343a57494002" width=300 />
|
||||
|
||||
|
||||
|
@ -55,7 +55,7 @@ cd /opt/dockge
|
|||
# Download the compose.yaml
|
||||
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml
|
||||
|
||||
# Start Server
|
||||
# Start the Server
|
||||
docker compose up -d
|
||||
|
||||
# If you are using docker-compose V1 or Podman
|
||||
|
@ -117,9 +117,9 @@ docker compose up -d
|
|||
## Motivations
|
||||
|
||||
- I have been using Portainer for some time, but for the stack management, I am sometimes not satisfied with it. For example, sometimes when I try to deploy a stack, the loading icon keeps spinning for a few minutes without progress. And sometimes error messages are not clear.
|
||||
- Try to develop with ES Module + TypeScript (Originally, I planned to use Deno or Bun.js, but they do not support for arm64, so I stepped back to Node.js)
|
||||
- Try to develop with ES Module + TypeScript (Originally, I planned to use Deno or Bun.js, but they don't have support for arm64, so I stepped back to Node.js)
|
||||
|
||||
If you love this project, please consider giving this project a ⭐.
|
||||
If you love this project, please consider giving it a ⭐.
|
||||
|
||||
|
||||
## 🗣️
|
||||
|
@ -136,11 +136,11 @@ https://github.com/louislam/dockge/discussions
|
|||
|
||||
"Dockge" is a coinage word which is created by myself. I hope it sounds like `Dodge`.
|
||||
|
||||
The naming idea was coming from Twitch emotes like `sadge`, `bedge` or `wokege`. They are all ending with `-ge`.
|
||||
The naming idea came from Twitch emotes like `sadge`, `bedge` or `wokege`. They all end in `-ge`.
|
||||
|
||||
#### Can I manage a single container without `compose.yaml`?
|
||||
|
||||
The main objective of Dockge is that try to use docker `compose.yaml` for everything. If you want to manage a single container, you can just use Portainer or Docker CLI.
|
||||
The main objective of Dockge is to try to use the docker `compose.yaml` for everything. If you want to manage a single container, you can just use Portainer or Docker CLI.
|
||||
|
||||
#### Can I manage existing stacks?
|
||||
|
||||
|
@ -164,6 +164,4 @@ Yes, you can. However, you need to move your compose file into the stacks direct
|
|||
|
||||
# Others
|
||||
|
||||
Dockge is built on top of [Compose V2](https://docs.docker.com/compose/migrate/). `compose.yaml` is also known as `docker-compose.yml`.
|
||||
|
||||
|
||||
Dockge is built on top of [Compose V2](https://docs.docker.com/compose/migrate/). `compose.yaml` also known as `docker-compose.yml`.
|
||||
|
|
|
@ -5,13 +5,16 @@ import en from "./lang/en.json";
|
|||
const languageList = {
|
||||
"bg-BG": "Български",
|
||||
"es": "Español",
|
||||
"de": "Deutsch",
|
||||
"fr": "Français",
|
||||
"pt": "Português",
|
||||
"tr": "Türkçe",
|
||||
"zh-CN": "简体中文",
|
||||
"zh-TW": "繁體中文(台灣)",
|
||||
"zh-HK": "繁體中文(香港)",
|
||||
"ur": "Urdu",
|
||||
"ko-KR": "한국어",
|
||||
"ru": "Русский",
|
||||
};
|
||||
|
||||
let messages = {
|
||||
|
|
94
frontend/src/lang/de.json
Normal file
94
frontend/src/lang/de.json
Normal file
|
@ -0,0 +1,94 @@
|
|||
{
|
||||
"languageName": "Deutsch",
|
||||
"Create your admin account": "Erstelle dein Admin-Konto",
|
||||
"authIncorrectCreds": "Falscher Benutzername oder falsches Passwort.",
|
||||
"PasswordsDoNotMatch": "Passwörter stimmen nicht überein.",
|
||||
"Repeat Password": "Passwort wiederholen",
|
||||
"Create": "Erstellen",
|
||||
"signedInDisp": "Angemeldet als {0}",
|
||||
"signedInDispDisabled": "Authentifizierung deaktiviert.",
|
||||
"home": "Startseite",
|
||||
"console": "Konsole",
|
||||
"registry": "Register",
|
||||
"compose": "Zusammenstellen",
|
||||
"addFirstStackMsg": "Stelle deinen ersten Stack zusammen!",
|
||||
"stackName" : "Stack-Name",
|
||||
"deployStack": "Bereitstellen",
|
||||
"deleteStack": "Löschen",
|
||||
"stopStack": "Anhalten",
|
||||
"restartStack": "Neustarten",
|
||||
"updateStack": "Aktualisieren",
|
||||
"startStack": "Starten",
|
||||
"editStack": "Bearbeiten",
|
||||
"discardStack": "Verwerfen",
|
||||
"saveStackDraft": "Speichern",
|
||||
"notAvailableShort" : "N/A",
|
||||
"deleteStackMsg": "Möchtest du diesen Stack wirklich löschen?",
|
||||
"stackNotManagedByDockgeMsg": "Dieser Stack wird nicht von Dockge verwaltet.",
|
||||
"primaryHostname": "Primärer Hostname",
|
||||
"general": "Allgemein",
|
||||
"container": "Container | Container",
|
||||
"scanFolder": "Stacks-Ordner durchsuchen",
|
||||
"dockerImage": "Image",
|
||||
"restartPolicyUnlessStopped": "Falls nicht gestoppt",
|
||||
"restartPolicyAlways": "Immer",
|
||||
"restartPolicyOnFailure": "Bei Fehler",
|
||||
"restartPolicyNo": "Kein Neustart",
|
||||
"environmentVariable": "Umgebungsvariable | Umgebungsvariablen",
|
||||
"restartPolicy": "Neustart Richtlinie",
|
||||
"containerName": "Container-Name",
|
||||
"port": "Port | Ports",
|
||||
"volume": "Volume | Volumes",
|
||||
"network": "Netzwerk | Netzwerke",
|
||||
"dependsOn": "Container-Abhängigkeit | Container-Abhängigkeiten",
|
||||
"addListItem": "{0} hinzufügen",
|
||||
"deleteContainer": "Löschen",
|
||||
"addContainer": "Container hinzufügen",
|
||||
"addNetwork": "Netzwerk hinzufügen",
|
||||
"disableauth.message1": "Bist du sicher, dass du die <strong>Authentifizierung deaktivieren</strong> möchtest?",
|
||||
"disableauth.message2": "Es ist für Szenarien vorgesehen, <strong>in denen du beabsichtigst, eine Drittanbieter-Authentifizierung</strong> vor Dockge zu implementieren, wie zum Beispiel Cloudflare Access, Authelia oder andere Authentifizierungsmechanismen.",
|
||||
"passwordNotMatchMsg": "Das wiederholte Passwort stimmt nicht überein.",
|
||||
"autoGet": "Automatisch holen",
|
||||
"add": "Hinzufügen",
|
||||
"Edit": "Bearbeiten",
|
||||
"applyToYAML": "Auf YAML anwenden",
|
||||
"createExternalNetwork": "Erstellen",
|
||||
"addInternalNetwork": "Hinzufügen",
|
||||
"Save": "Speichern",
|
||||
"Language": "Sprache",
|
||||
"Current User": "Aktueller Benutzer",
|
||||
"Change Password": "Passwort ändern",
|
||||
"Current Password": "Aktuelles Passwort",
|
||||
"New Password": "Neues Passwort",
|
||||
"Repeat New Password": "Neues Passwort wiederholen",
|
||||
"Update Password": "Passwort aktualisieren",
|
||||
"Advanced": "Erweitert",
|
||||
"Please use this option carefully!": "Bitte verwende diese Option sorgfältig!",
|
||||
"Enable Auth": "Authentifizierung aktivieren",
|
||||
"Disable Auth": "Authentifizierung deaktivieren",
|
||||
"I understand, please disable": "Ich verstehe, bitte deaktivieren",
|
||||
"Leave": "Verlassen",
|
||||
"Frontend Version": "Frontend Version",
|
||||
"Check Update On GitHub": "Update auf GitHub überprüfen",
|
||||
"Show update if available": "Update anzeigen, wenn verfügbar",
|
||||
"Also check beta release": "Auch Beta-Version überprüfen",
|
||||
"Remember me": "Anmeldung beibehalten",
|
||||
"Login": "Anmelden",
|
||||
"Username": "Benutzername",
|
||||
"Password": "Passwort",
|
||||
"Settings": "Einstellungen",
|
||||
"Logout": "Abmelden",
|
||||
"Lowercase only": "Nur Kleinbuchstaben",
|
||||
"Convert to Compose": "In Compose Syntax umwandeln",
|
||||
"Docker Run": "Docker ausführen",
|
||||
"active": "aktiv",
|
||||
"exited": "beendet",
|
||||
"inactive": "inaktiv",
|
||||
"Appearance": "Erscheinungsbild",
|
||||
"Security": "Sicherheit",
|
||||
"About": "Über",
|
||||
"Allowed commands:": "Zugelassene Befehle:",
|
||||
"Internal Networks": "Interne Netzwerke",
|
||||
"External Networks": "Externe Netzwerke",
|
||||
"No External Networks": "Keine externen Netzwerke"
|
||||
}
|
94
frontend/src/lang/ru.json
Normal file
94
frontend/src/lang/ru.json
Normal file
|
@ -0,0 +1,94 @@
|
|||
{
|
||||
"languageName": "Русский",
|
||||
"Create your admin account": "Создайте учетку администратора",
|
||||
"authIncorrectCreds": "Неверный логин или пароль.",
|
||||
"PasswordsDoNotMatch": "Пароль не совпадает.",
|
||||
"Repeat Password": "Повторите пароль",
|
||||
"Create": "Создать",
|
||||
"signedInDisp": "Авторизлван как {0}",
|
||||
"signedInDispDisabled": "Авторизация выключена.",
|
||||
"home": "Главная",
|
||||
"console": "Консоль",
|
||||
"registry": "Registry",
|
||||
"compose": "Compose",
|
||||
"addFirstStackMsg": "Создайте свой первый стек!",
|
||||
"stackName" : "Имя стека",
|
||||
"deployStack": "Развернуть",
|
||||
"deleteStack": "Удалить",
|
||||
"stopStack": "Остановить",
|
||||
"restartStack": "Перезапустить",
|
||||
"updateStack": "Обновить",
|
||||
"startStack": "Запустить",
|
||||
"editStack": "Изменить",
|
||||
"discardStack": "Отменить",
|
||||
"saveStackDraft": "Сохранить",
|
||||
"notAvailableShort" : "Н/Д",
|
||||
"deleteStackMsg": "Вы уверены что хотите удалить этот стек?",
|
||||
"stackNotManagedByDockgeMsg": "Данный стек не обслуживается Dockge.",
|
||||
"primaryHostname": "Имя хоста",
|
||||
"general": "Главное",
|
||||
"container": "Контейнер | Контейнеры",
|
||||
"scanFolder": "Сканировать папку стеков",
|
||||
"dockerImage": "Образ",
|
||||
"restartPolicyUnlessStopped": "Пока не будет остановлен",
|
||||
"restartPolicyAlways": "Всегда",
|
||||
"restartPolicyOnFailure": "При падении",
|
||||
"restartPolicyNo": "Никогда",
|
||||
"environmentVariable": "Переменная окружения | Переменные окружения",
|
||||
"restartPolicy": "Политика рестарта",
|
||||
"containerName": "Имя контейнера",
|
||||
"port": "Порт | Порты",
|
||||
"volume": "Хранилище | Хранилища",
|
||||
"network": "Сеть | Сети",
|
||||
"dependsOn": "Зависимость контейнера | Зависимости контейнера",
|
||||
"addListItem": "Добавить {0}",
|
||||
"deleteContainer": "Удалить",
|
||||
"addContainer": "Добавить Контейнер",
|
||||
"addNetwork": "Добавить Сеть",
|
||||
"disableauth.message1": "Вы уверены что хотите <strong>выключить авторизацию</strong>?",
|
||||
"disableauth.message2": "Он предназначен для сценариев, <strong>где вы собираетесь реализовать стороннюю аутентификацию</strong> перед Dockge, например Cloudflare Access, Authelia или другие механизмы аутентификации.",
|
||||
"passwordNotMatchMsg": "Повторный пароль не совпадает.",
|
||||
"autoGet": "Auto Get",
|
||||
"add": "Добавить",
|
||||
"Edit": "Изменить",
|
||||
"applyToYAML": "Применить к YAML",
|
||||
"createExternalNetwork": "Создать",
|
||||
"addInternalNetwork": "Добавить",
|
||||
"Save": "Сохранить",
|
||||
"Language": "Язык",
|
||||
"Current User": "Текущий пользователь",
|
||||
"Change Password": "Изменить пароль",
|
||||
"Current Password": "Текущий пароль",
|
||||
"New Password": "Новый пароль",
|
||||
"Repeat New Password": "Повторите новый пароль",
|
||||
"Update Password": "Обновить пароль",
|
||||
"Advanced": "Продвинутые опции",
|
||||
"Please use this option carefully!": "Пожалуйста, используйте эту опцию осторожно!",
|
||||
"Enable Auth": "Включить аутентификацию",
|
||||
"Disable Auth": "Отключить аутентификацию",
|
||||
"I understand, please disable": "Я понимаю, пожалуйста, отключите",
|
||||
"Leave": "Покинуть",
|
||||
"Frontend Version": "Версия внешнего интерфейса",
|
||||
"Check Update On GitHub": "Проверьте обновление на GitHub",
|
||||
"Show update if available": "Показать обновление, если оно доступно",
|
||||
"Also check beta release": "Также проверьте бета-версию",
|
||||
"Remember me": "Запомнить меня",
|
||||
"Login": "Логин",
|
||||
"Username": "Имя пользователя",
|
||||
"Password": "Пароль",
|
||||
"Settings": "Настройки",
|
||||
"Logout": "Выйти",
|
||||
"Lowercase only": "Только нижний регистр",
|
||||
"Convert to Compose": "Преобразовать вCompose",
|
||||
"Docker Run": "Запустить Docker",
|
||||
"active": "активный",
|
||||
"exited": "завершенный",
|
||||
"inactive": "неактинвый",
|
||||
"Appearance": "Внешний вид",
|
||||
"Security": "Безопасность",
|
||||
"About": "О продукте",
|
||||
"Allowed commands:": "Разрешенные команды:",
|
||||
"Internal Networks": "Внутренние сети",
|
||||
"External Networks": "Внешние сети",
|
||||
"No External Networks": "Нет внешних сетей"
|
||||
}
|
94
frontend/src/lang/ur.json
Normal file
94
frontend/src/lang/ur.json
Normal file
|
@ -0,0 +1,94 @@
|
|||
{
|
||||
"languageName": "اردو",
|
||||
"Create your admin account": "اپنا ایڈمن اکاؤنٹ بنائیں",
|
||||
"authIncorrectCreds": "غلط صارف نام یا پاس ورڈ.",
|
||||
"PasswordsDoNotMatch": "پاس ورڈز کوئی مماثل نہیں ہیں۔",
|
||||
"Repeat Password": "پاس ورڈ دوبارہ لکھیے",
|
||||
"Create": "بنانا",
|
||||
"signedInDisp": "بطور {0} سائن ان",
|
||||
"signedInDispDisabled": "توثیق غیر فعال۔",
|
||||
"home": "گھر",
|
||||
"console": "تسلی",
|
||||
"registry": "رجسٹری",
|
||||
"compose": "تحریر",
|
||||
"addFirstStackMsg": "اپنا پہلا اسٹیک کمپوز کریں!",
|
||||
"stackName" : "اسٹیک کا نام",
|
||||
"deployStack": "تعینات",
|
||||
"deleteStack": "حذف کریں",
|
||||
"stopStack": "روکو",
|
||||
"restartStack": "دوبارہ شروع کریں",
|
||||
"updateStack": "اپ ڈیٹ",
|
||||
"startStack": "شروع کریں۔",
|
||||
"editStack": "ترمیم",
|
||||
"discardStack": "رد کر دیں۔",
|
||||
"saveStackDraft": "محفوظ کریں۔",
|
||||
"notAvailableShort" : "N / A",
|
||||
"deleteStackMsg": "کیا آپ واقعی اس اسٹیک کو حذف کرنا چاہتے ہیں؟",
|
||||
"stackNotManagedByDockgeMsg": "یہ اسٹیک Dockge کے زیر انتظام نہیں ہے۔",
|
||||
"primaryHostname": "بنیادی میزبان نام",
|
||||
"general": "جنرل",
|
||||
"container": "کنٹینر | کنٹینرز",
|
||||
"scanFolder": "اسٹیک فولڈر کو اسکین کریں۔",
|
||||
"dockerImage": "تصویر",
|
||||
"restartPolicyUnlessStopped": "جب تک روکا نہیں جاتا",
|
||||
"restartPolicyAlways": "ہمیشہ",
|
||||
"restartPolicyOnFailure": "ناکامی پر",
|
||||
"restartPolicyNo": "نہیں",
|
||||
"environmentVariable": "ماحولیاتی متغیر | ماحولیاتی تغیرات",
|
||||
"restartPolicy": "پالیسی کو دوبارہ شروع کریں",
|
||||
"containerName": "کنٹینر کا نام",
|
||||
"port": "پورٹ | بندرگاہیں",
|
||||
"volume": "والیوم | جلدیں",
|
||||
"network": "نیٹ ورک | نیٹ ورکس",
|
||||
"dependsOn": "کنٹینر انحصار | کنٹینر انحصار",
|
||||
"addListItem": "شامل کریں {0}",
|
||||
"deleteContainer": "حذف کریں",
|
||||
"addContainer": "کنٹینر شامل کریں",
|
||||
"addNetwork": "نیٹ ورک شامل کریں",
|
||||
"disableauth.message1": "کیا آپ واقعی <strong>تصدیق کو غیر فعال</strong> کرنا چاہتے ہیں؟",
|
||||
"disableauth.message2": "یہ ان منظرناموں کے لیے ڈیزائن کیا گیا ہے جہاں <strong>آپ کا ارادہ ہے تیسرے فریق کی توثیق کو لاگو کرنے کا</strong> Dockge کے سامنے جیسے Cloudflare Access، Authelia یا دیگر تصدیقی طریقہ کار۔",
|
||||
"passwordNotMatchMsg": "دہرانے والا پاس ورڈ مماثل نہیں ہے۔",
|
||||
"autoGet": "آٹو حاصل کریں",
|
||||
"add": "شامل کریں",
|
||||
"Edit": "ترمیم",
|
||||
"applyToYAML": "YAML پر درخواست دیں۔",
|
||||
"createExternalNetwork": "بنانا",
|
||||
"addInternalNetwork": "شامل کریں",
|
||||
"Save": "محفوظ کریں",
|
||||
"Language": "زبان",
|
||||
"Current User": "موجودہ صارف",
|
||||
"Change Password": "پاس ورڈ تبدیل کریں",
|
||||
"Current Password": "موجودہ خفیہ لفظ",
|
||||
"New Password": "نیا پاس ورڈ",
|
||||
"Repeat New Password": "نیا پاس ورڈ دہرائیں",
|
||||
"Update Password": "پاس ورڈ اپ ڈیٹ کریں",
|
||||
"Advanced": "ترقی یافتہ",
|
||||
"Please use this option carefully!": "براہ کرم اس اختیار کو احتیاط سے استعمال کریں!",
|
||||
"Enable Auth": "تصدیق کو فعال کریں۔",
|
||||
"Disable Auth": "توثیق کو غیر فعال کریں۔",
|
||||
"I understand, please disable": "میں سمجھتا ہوں، براہ کرم غیر فعال کریں۔",
|
||||
"Leave": "چھوڑ دو",
|
||||
"Frontend Version": "فرنٹ اینڈ ورژن",
|
||||
"Check Update On GitHub": "گیتوب پر اپ ڈیٹ چیک کریں۔",
|
||||
"Show update if available": "اگر دستیاب ہو تو اپ ڈیٹ دکھائیں",
|
||||
"Also check beta release": "بیٹا ریلیز بھی چیک کریں",
|
||||
"Remember me": "مجھے پہچانتے ہو",
|
||||
"Login": "لاگ ان کریں",
|
||||
"Username": "صارف نام",
|
||||
"Password": "پاس ورڈ",
|
||||
"Settings": "ترتیبات",
|
||||
"Logout": "لاگ آوٹ",
|
||||
"Lowercase only": "صرف لوئر کیس",
|
||||
"Convert to Compose": "تحریر میں تبدیل کریں",
|
||||
"Docker Run": "ڈاکر رن",
|
||||
"active": "فعال",
|
||||
"exited": "باہر نکلا",
|
||||
"inactive": "غیر فعال",
|
||||
"Appearance": "ظہور",
|
||||
"Security": "سیکورٹی",
|
||||
"About": "کے بارے میں",
|
||||
"Allowed commands:": "اجازت شدہ احکامات:",
|
||||
"Internal Networks": "اندرونی نیٹ ورکس",
|
||||
"External Networks": "بیرونی نیٹ ورکس",
|
||||
"No External Networks": "کوئی بیرونی نیٹ ورک نہیں"
|
||||
}
|
Loading…
Add table
Reference in a new issue