<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Speech Translation on 4n6Post</title><link>https://4n6post.com/tags/speech-translation/</link><description>Recent content in Speech Translation on 4n6Post</description><atom:link href="https://4n6post.com/tags/speech-translation/index.xml" rel="self" type="application/rss+xml"/><item><title>Live-Translate</title><link>https://4n6post.com/dockers/live-translate/</link><pubDate>2026-09-20</pubDate><description>&lt;p&gt;Live-Translate is a real-time translation tool that allows users to translate text and speech using direct or LLM translation methods using LibreTranslate. It supports multiple languages and can be deployed using Docker for easy setup for multi user available use and pure offline only operation.&lt;/p&gt;
&lt;h2 id="portainer-stack"&gt;Portainer Stack&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Ref:&lt;/strong&gt; &lt;a href="https://github.com/Jonesckevin/live-translate"&gt;https://github.com/Jonesckevin/live-translate&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="../images/live-translate_example.png" alt="Live-Translate Example"&gt;&lt;/p&gt;
&lt;h2 id="bash-docker-run"&gt;Bash Docker Run&lt;/h2&gt;
&lt;div class="code-block-wrapper"&gt;
&lt;details class="code-block-collapsible" open&gt;
&lt;summary class="code-block-header"&gt;
&lt;span class="code-language"&gt;bash&lt;/span&gt;
&lt;span class="code-line-count"&gt;18 lines&lt;/span&gt;
&lt;/summary&gt;
&lt;div class="code-block-content"&gt;
&lt;pre class="line-numbers language-bash"&gt;&lt;code class="language-bash"&gt;&lt;span class="line-number" data-line="1"&gt;&lt;/span&gt;# Live-Translate
&lt;span class="line-number" data-line="2"&gt;&lt;/span&gt;# https://github.com/Jonesckevin/live-translate
&lt;span class="line-number" data-line="3"&gt;&lt;/span&gt;
&lt;span class="line-number" data-line="4"&gt;&lt;/span&gt;docker run --name live-translate --restart unless-stopped -p 9015:5000 -v ./data:/data \
&lt;span class="line-number" data-line="5"&gt;&lt;/span&gt; -e ALLOW_AUTH=true \
&lt;span class="line-number" data-line="6"&gt;&lt;/span&gt; -e REQUIRE_AUTH=true \
&lt;span class="line-number" data-line="7"&gt;&lt;/span&gt; -e SOCKETIO_CORS_CREDENTIALS=true \
&lt;span class="line-number" data-line="8"&gt;&lt;/span&gt; -e ALLOW_USER_REGISTRATION=true \
&lt;span class="line-number" data-line="9"&gt;&lt;/span&gt; -e ALLOW_GUEST_LOGIN=true \
&lt;span class="line-number" data-line="10"&gt;&lt;/span&gt; -e WHISPER_ENABLED=true \
&lt;span class="line-number" data-line="11"&gt;&lt;/span&gt; -e WHISPER_MODEL=tiny \
&lt;span class="line-number" data-line="12"&gt;&lt;/span&gt; -e ENABLE_SERVER_ANALYTICS=false \
&lt;span class="line-number" data-line="13"&gt;&lt;/span&gt; -e SECRET_KEY=&amp;#39;$(openssl rand -hex 32)&amp;#39; \
&lt;span class="line-number" data-line="14"&gt;&lt;/span&gt; -e SECRETS=&amp;#39;$(openssl rand -hex 32)&amp;#39; \
&lt;span class="line-number" data-line="15"&gt;&lt;/span&gt; -e REQUIRE_SECRETS=true \
&lt;span class="line-number" data-line="16"&gt;&lt;/span&gt; -e LOGS_ACCESS_TOKEN= \
&lt;span class="line-number" data-line="17"&gt;&lt;/span&gt; -e ALLOW_CLIENT_API_KEYS=true \
&lt;span class="line-number" data-line="18"&gt;&lt;/span&gt; jonesckevin/live-translate:latest&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/div&gt;&lt;h2 id="docker-compose"&gt;Docker Compose&lt;/h2&gt;
&lt;div class="code-block-wrapper"&gt;
&lt;details class="code-block-collapsible" open&gt;
&lt;summary class="code-block-header"&gt;
&lt;span class="code-language"&gt;yaml&lt;/span&gt;
&lt;span class="code-line-count"&gt;23 lines&lt;/span&gt;
&lt;/summary&gt;
&lt;div class="code-block-content"&gt;
&lt;pre class="line-numbers language-yaml"&gt;&lt;code class="language-yaml"&gt;&lt;span class="line-number" data-line="1"&gt;&lt;/span&gt;services:
&lt;span class="line-number" data-line="2"&gt;&lt;/span&gt; live-translate:
&lt;span class="line-number" data-line="3"&gt;&lt;/span&gt; image: jonesckevin/live-translate:latest
&lt;span class="line-number" data-line="4"&gt;&lt;/span&gt; container_name: live-translate
&lt;span class="line-number" data-line="5"&gt;&lt;/span&gt; ports:
&lt;span class="line-number" data-line="6"&gt;&lt;/span&gt; - &amp;#34;9015:5000&amp;#34;
&lt;span class="line-number" data-line="7"&gt;&lt;/span&gt; volumes:
&lt;span class="line-number" data-line="8"&gt;&lt;/span&gt; - &amp;#34;./data:/data&amp;#34;
&lt;span class="line-number" data-line="9"&gt;&lt;/span&gt; environment:
&lt;span class="line-number" data-line="10"&gt;&lt;/span&gt; ALLOW_AUTH: &amp;#34;true&amp;#34;
&lt;span class="line-number" data-line="11"&gt;&lt;/span&gt; REQUIRE_AUTH: &amp;#34;true&amp;#34;
&lt;span class="line-number" data-line="12"&gt;&lt;/span&gt; SOCKETIO_CORS_CREDENTIALS: &amp;#34;true&amp;#34;
&lt;span class="line-number" data-line="13"&gt;&lt;/span&gt; ALLOW_USER_REGISTRATION: &amp;#34;true&amp;#34;
&lt;span class="line-number" data-line="14"&gt;&lt;/span&gt; ALLOW_GUEST_LOGIN: &amp;#34;true&amp;#34;
&lt;span class="line-number" data-line="15"&gt;&lt;/span&gt; WHISPER_ENABLED: &amp;#34;true&amp;#34;
&lt;span class="line-number" data-line="16"&gt;&lt;/span&gt; WHISPER_MODEL: &amp;#34;tiny&amp;#34;
&lt;span class="line-number" data-line="17"&gt;&lt;/span&gt; ENABLE_SERVER_ANALYTICS: &amp;#34;false&amp;#34;
&lt;span class="line-number" data-line="18"&gt;&lt;/span&gt; SECRET_KEY: &amp;#34;$(openssl rand -hex 32)&amp;#34;
&lt;span class="line-number" data-line="19"&gt;&lt;/span&gt; SECRETS: &amp;#34;$(openssl rand -hex 32)&amp;#34;
&lt;span class="line-number" data-line="20"&gt;&lt;/span&gt; REQUIRE_SECRETS: &amp;#34;true&amp;#34;
&lt;span class="line-number" data-line="21"&gt;&lt;/span&gt; LOGS_ACCESS_TOKEN: &amp;#34;&amp;#34;
&lt;span class="line-number" data-line="22"&gt;&lt;/span&gt; ALLOW_CLIENT_API_KEYS: &amp;#34;true&amp;#34;
&lt;span class="line-number" data-line="23"&gt;&lt;/span&gt; restart: unless-stopped&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/div&gt;&lt;h2 id="for-a-simplistic-view"&gt;For a simplistic view&lt;/h2&gt;
&lt;div class="code-block-wrapper"&gt;
&lt;details class="code-block-collapsible" open&gt;
&lt;summary class="code-block-header"&gt;
&lt;span class="code-language"&gt;bash&lt;/span&gt;
&lt;span class="code-line-count"&gt;12 lines&lt;/span&gt;
&lt;/summary&gt;
&lt;div class="code-block-content"&gt;
&lt;pre class="line-numbers language-bash"&gt;&lt;code class="language-bash"&gt;&lt;span class="line-number" data-line="1"&gt;&lt;/span&gt;git clone https://github.com/jonesckevin/live-translate.git
&lt;span class="line-number" data-line="2"&gt;&lt;/span&gt;cd live-translate
&lt;span class="line-number" data-line="3"&gt;&lt;/span&gt;docker build -t live-translate:latest .
&lt;span class="line-number" data-line="4"&gt;&lt;/span&gt;
&lt;span class="line-number" data-line="5"&gt;&lt;/span&gt;# Then run with your local image
&lt;span class="line-number" data-line="6"&gt;&lt;/span&gt;docker run -d \
&lt;span class="line-number" data-line="7"&gt;&lt;/span&gt; --name live-translate \
&lt;span class="line-number" data-line="8"&gt;&lt;/span&gt; -p 9015:5000 \
&lt;span class="line-number" data-line="9"&gt;&lt;/span&gt; -v $(pwd)/data:/data \
&lt;span class="line-number" data-line="10"&gt;&lt;/span&gt; -e REQUIRE_AUTH=false \
&lt;span class="line-number" data-line="11"&gt;&lt;/span&gt; -e OFFLINE_MODE=auto \
&lt;span class="line-number" data-line="12"&gt;&lt;/span&gt; live-translate:latest&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/div&gt;</description></item></channel></rss>