mirror of
https://github.com/louislam/dockge.git
synced 2025-08-12 14:07:02 +02:00
Compare commits
5 Commits
improvemen
...
1.1.1
Author | SHA1 | Date | |
---|---|---|---|
52e1f555bf | |||
31726315c3 | |||
e95ef66ca1 | |||
b7c6bbba67 | |||
dc8c3a7568 |
@ -187,6 +187,27 @@ export class DockerSocketHandler extends SocketHandler {
|
||||
}
|
||||
});
|
||||
|
||||
// down stack
|
||||
socket.on("downStack", async (stackName : unknown, callback) => {
|
||||
try {
|
||||
checkLogin(socket);
|
||||
|
||||
if (typeof(stackName) !== "string") {
|
||||
throw new ValidationError("Stack name must be a string");
|
||||
}
|
||||
|
||||
const stack = Stack.getStack(server, stackName);
|
||||
await stack.down(socket);
|
||||
callback({
|
||||
ok: true,
|
||||
msg: "Downed"
|
||||
});
|
||||
server.sendStackList();
|
||||
} catch (e) {
|
||||
callbackError(e, callback);
|
||||
}
|
||||
});
|
||||
|
||||
// Services status
|
||||
socket.on("serviceStatusList", async (stackName : unknown, callback) => {
|
||||
try {
|
||||
|
@ -343,6 +343,15 @@ export class Stack {
|
||||
return exitCode;
|
||||
}
|
||||
|
||||
async down(socket: DockgeSocket) : Promise<number> {
|
||||
const terminalName = getComposeTerminalName(this.name);
|
||||
let exitCode = await Terminal.exec(this.server, socket, terminalName, "docker", [ "compose", "down" ], this.path);
|
||||
if (exitCode !== 0) {
|
||||
throw new Error("Failed to down, please check the terminal output for more information.");
|
||||
}
|
||||
return exitCode;
|
||||
}
|
||||
|
||||
async update(socket: DockgeSocket) {
|
||||
const terminalName = getComposeTerminalName(this.name);
|
||||
let exitCode = await Terminal.exec(this.server, socket, terminalName, "docker", [ "compose", "pull" ], this.path);
|
||||
|
3
frontend/components.d.ts
vendored
3
frontend/components.d.ts
vendored
@ -11,6 +11,9 @@ declare module 'vue' {
|
||||
Appearance: typeof import('./src/components/settings/Appearance.vue')['default']
|
||||
ArrayInput: typeof import('./src/components/ArrayInput.vue')['default']
|
||||
ArraySelect: typeof import('./src/components/ArraySelect.vue')['default']
|
||||
BDropdown: typeof import('bootstrap-vue-next')['BDropdown']
|
||||
BDropdownDivider: typeof import('bootstrap-vue-next')['BDropdownDivider']
|
||||
BDropdownItem: typeof import('bootstrap-vue-next')['BDropdownItem']
|
||||
BModal: typeof import('bootstrap-vue-next')['BModal']
|
||||
Confirm: typeof import('./src/components/Confirm.vue')['default']
|
||||
Container: typeof import('./src/components/Container.vue')['default']
|
||||
|
@ -8,11 +8,12 @@ const languageList = {
|
||||
"de": "Deutsch",
|
||||
"fr": "Français",
|
||||
"pt": "Português",
|
||||
"sl": "Slovenščina",
|
||||
"tr": "Türkçe",
|
||||
"zh-CN": "简体中文",
|
||||
"ur": "Urdu",
|
||||
"ko-KR": "한국어",
|
||||
"ru": "Русский",
|
||||
"ru": "Русский"
|
||||
};
|
||||
|
||||
let messages = {
|
||||
|
@ -19,6 +19,7 @@
|
||||
"restartStack": "Restart",
|
||||
"updateStack": "Update",
|
||||
"startStack": "Start",
|
||||
"downStack": "Stop & Down",
|
||||
"editStack": "Edit",
|
||||
"discardStack": "Discard",
|
||||
"saveStackDraft": "Save",
|
||||
|
94
frontend/src/lang/sl.json
Normal file
94
frontend/src/lang/sl.json
Normal file
@ -0,0 +1,94 @@
|
||||
{
|
||||
"languageName": "Slovenščina",
|
||||
"Create your admin account": "Ustvarite svoj skrbniški račun",
|
||||
"authIncorrectCreds": "Napačno uporabniško ime ali geslo.",
|
||||
"PasswordsDoNotMatch": "Gesli se ne ujemata.",
|
||||
"Repeat Password": "Ponovi geslo",
|
||||
"Create": "Ustvari",
|
||||
"signedInDisp": "Prijavljeni kot {0}",
|
||||
"signedInDispDisabled": "Preverjanje pristnosti onemogočeno.",
|
||||
"home": "Domov",
|
||||
"console": "Konzola",
|
||||
"registry": "Register",
|
||||
"compose": "Compose",
|
||||
"addFirstStackMsg": "Ustvarite svoj prvi Stack!",
|
||||
"stackName": "Ime Stack-a",
|
||||
"deployStack": "Razporedi",
|
||||
"deleteStack": "Izbriši",
|
||||
"stopStack": "Ustavi",
|
||||
"restartStack": "Ponovni zagon",
|
||||
"updateStack": "Posodobi",
|
||||
"startStack": "Zaženi",
|
||||
"editStack": "Uredi",
|
||||
"discardStack": "Zavrzi",
|
||||
"saveStackDraft": "Shrani",
|
||||
"notAvailableShort": "Ni na voljo",
|
||||
"deleteStackMsg": "Ste prepričani, da želite izbrisati ta Stack?",
|
||||
"stackNotManagedByDockgeMsg": "Ta Stack ni upravljan s strani Dockge.",
|
||||
"primaryHostname": "Osnovno gostiteljsko ime",
|
||||
"general": "Splošno",
|
||||
"container": "Kontejner | Kontejnerji",
|
||||
"scanFolder": "Preglej Stack mapo",
|
||||
"dockerImage": "Slika",
|
||||
"restartPolicyUnlessStopped": "Razen ko je zaustavljeno",
|
||||
"restartPolicyAlways": "Vedno",
|
||||
"restartPolicyOnFailure": "Ob napaki",
|
||||
"restartPolicyNo": "Ne",
|
||||
"environmentVariable": "Okoljska spremenljivka | Okoljske spremenljivke",
|
||||
"restartPolicy": "Politika ponovnega zagona",
|
||||
"containerName": "Ime kontejnerja",
|
||||
"port": "Vrata | Vrata",
|
||||
"volume": "Zvezek | Zvezki",
|
||||
"network": "Omrežje | Omrežja",
|
||||
"dependsOn": "Odvisnost kontejnerja | Odvisnosti kontejnerjev",
|
||||
"addListItem": "Dodaj {0}",
|
||||
"deleteContainer": "Izbriši",
|
||||
"addContainer": "Dodaj kontejner",
|
||||
"addNetwork": "Dodaj omrežje",
|
||||
"disableauth.message1": "Ste prepričani, da želite <strong>onemogočiti overjanje</strong>?",
|
||||
"disableauth.message2": "Namerno je zasnovano za scenarije, <strong>kjer nameravate izvajati avtentikacijo tretjih oseb</strong> pred Dockge, kot so Cloudflare Access, Authelia ali druge avtentikacijske mehanizme.",
|
||||
"passwordNotMatchMsg": "Ponovljeno geslo se ne ujema.",
|
||||
"autoGet": "Samodejno pridobi",
|
||||
"add": "Dodaj",
|
||||
"Edit": "Uredi",
|
||||
"applyToYAML": "Uporabi za YAML",
|
||||
"createExternalNetwork": "Ustvari",
|
||||
"addInternalNetwork": "Dodaj",
|
||||
"Save": "Shrani",
|
||||
"Language": "Jezik",
|
||||
"Current User": "Trenutni uporabnik",
|
||||
"Change Password": "Spremeni geslo",
|
||||
"Current Password": "Trenutno geslo",
|
||||
"New Password": "Novo geslo",
|
||||
"Repeat New Password": "Ponovi novo geslo",
|
||||
"Update Password": "Posodobi geslo",
|
||||
"Advanced": "Napredno",
|
||||
"Please use this option carefully!": "Prosimo, uporabite to možnost previdno!",
|
||||
"Enable Auth": "Omogoči overjanje",
|
||||
"Disable Auth": "Onemogoči overjanje",
|
||||
"I understand, please disable": "Razumem, prosim onemogočite",
|
||||
"Leave": "Zapusti",
|
||||
"Frontend Version": "Različica vmesnika",
|
||||
"Check Update On GitHub": "Preveri posodobitve na GitHubu",
|
||||
"Show update if available": "Prikaži posodobitve, če so na voljo",
|
||||
"Also check beta release": "Preveri tudi beta izdaje",
|
||||
"Remember me": "Zapomni si me",
|
||||
"Login": "Prijava",
|
||||
"Username": "Uporabniško ime",
|
||||
"Password": "Geslo",
|
||||
"Settings": "Nastavitve",
|
||||
"Logout": "Odjava",
|
||||
"Lowercase only": "Samo male črke",
|
||||
"Convert to Compose": "Pretvori v Compose",
|
||||
"Docker Run": "Zagon Dockerja",
|
||||
"active": "aktivno",
|
||||
"exited": "izklopljeno",
|
||||
"inactive": "neaktivno",
|
||||
"Appearance": "Videz",
|
||||
"Security": "Varnost",
|
||||
"About": "O nas",
|
||||
"Allowed commands:": "Dovoljeni ukazi:",
|
||||
"Internal Networks": "Notranja omrežja",
|
||||
"External Networks": "Zunanja omrežja",
|
||||
"No External Networks": "Ni zunanjih omrežij"
|
||||
}
|
@ -1,7 +1,10 @@
|
||||
{
|
||||
"languageName": "Türkçe",
|
||||
"Create your admin account": "Yönetici hesabınızı oluşturun",
|
||||
"authIncorrectCreds": "Yanlış kullanıcı adı veya parola.",
|
||||
"PasswordsDoNotMatch": "Parolalar eşleşmiyor.",
|
||||
"Repeat Password": "Parolayı Tekrarla",
|
||||
"Create": "Oluştur",
|
||||
"signedInDisp": "{0} olarak oturum açıldı",
|
||||
"signedInDispDisabled": "Yetkilendirme Devre Dışı.",
|
||||
"home": "Anasayfa",
|
||||
@ -47,7 +50,45 @@
|
||||
"passwordNotMatchMsg": "Tekrarlanan parola eşleşmiyor.",
|
||||
"autoGet": "Otomatik Al",
|
||||
"add": "Ekle",
|
||||
"Edit": "Düzenle",
|
||||
"applyToYAML": "YAML'ye uygulayın",
|
||||
"createExternalNetwork": "Oluştur",
|
||||
"addInternalNetwork": "Ekle"
|
||||
"addInternalNetwork": "Ekle",
|
||||
"Save": "Kaydet",
|
||||
"Language": "Dil",
|
||||
"Current User": "Mevcut Kullanıcı",
|
||||
"Change Password": "Mevcut Parola",
|
||||
"Current Password": "Mevcut Parola",
|
||||
"New Password": "Yeni Parola",
|
||||
"Repeat New Password": "Yeni Parolayı Tekrarla",
|
||||
"Update Password": "Parolayı Güncelle",
|
||||
"Advanced": "Gelişmiş",
|
||||
"Please use this option carefully!": "Lütfen bu seçeneği dikkatli kullanın!",
|
||||
"Enable Auth": "Kimlik Doğrulamayı Etkinleştir",
|
||||
"Disable Auth": "Kimlik Doğrulamayı Devre Dışı Bırak",
|
||||
"I understand, please disable": "Anlıyorum, lütfen devre dışı bırakın",
|
||||
"Leave": "Ayrıl",
|
||||
"Frontend Version": "Frontend Versiyon",
|
||||
"Check Update On GitHub": "GitHub'da Güncellemeyi Kontrol Edin",
|
||||
"Show update if available": "Varsa güncellemeyi göster",
|
||||
"Also check beta release": "Ayrıca beta sürümünü kontrol edin",
|
||||
"Remember me": "Beni Hatırla",
|
||||
"Login": "Oturum Aç",
|
||||
"Username": "Kullanıcı Adı",
|
||||
"Password": "Parola",
|
||||
"Settings": "Ayarlar",
|
||||
"Logout": "Oturumu Kapat",
|
||||
"Lowercase only": "Yalnızca küçük harf",
|
||||
"Convert to Compose": "Compose'a Dönüştür",
|
||||
"Docker Run": "Docker Run",
|
||||
"active": "aktif",
|
||||
"exited": "çıkış yaptı",
|
||||
"inactive": "aktif değil",
|
||||
"Appearance": "Görünüm",
|
||||
"Security": "Güvenlik",
|
||||
"About": "Hakkında",
|
||||
"Allowed commands:": "İzin verilen komutlar:",
|
||||
"Internal Networks": "İç Ağlar",
|
||||
"External Networks": "Dış Ağlar",
|
||||
"No External Networks": "Dış Ağ Yok"
|
||||
}
|
||||
|
@ -40,6 +40,13 @@
|
||||
<font-awesome-icon icon="stop" class="me-1" />
|
||||
{{ $t("stopStack") }}
|
||||
</button>
|
||||
|
||||
<BDropdown v-if="!isEditMode && active" right text="" variant="normal">
|
||||
<BDropdownItem @click="downStack">
|
||||
<font-awesome-icon icon="stop" class="me-1" />
|
||||
{{ $t("downStack") }}
|
||||
</BDropdownItem>
|
||||
</BDropdown>
|
||||
</div>
|
||||
|
||||
<button v-if="isEditMode && !isAdd" class="btn btn-normal" :disabled="processing" @click="discardStack">{{ $t("discardStack") }}</button>
|
||||
@ -473,6 +480,15 @@ export default {
|
||||
});
|
||||
},
|
||||
|
||||
downStack() {
|
||||
this.processing = true;
|
||||
|
||||
this.$root.getSocket().emit("downStack", this.stack.name, (res) => {
|
||||
this.processing = false;
|
||||
this.$root.toastRes(res);
|
||||
});
|
||||
},
|
||||
|
||||
restartStack() {
|
||||
this.processing = true;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "dockge",
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"fmt": "eslint \"**/*.{ts,vue}\" --fix",
|
||||
|
Reference in New Issue
Block a user