| app | ||
| cypress | ||
| mocks | ||
| prisma | ||
| public | ||
| test | ||
| .dockerignore | ||
| .env.example | ||
| .eslintrc.js | ||
| .gitignore | ||
| .gitpod.Dockerfile | ||
| .gitpod.yml | ||
| .npmrc | ||
| .prettierignore | ||
| .yarnrc.yml | ||
| cypress.config.ts | ||
| Dockerfile | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| remix.config.js | ||
| remix.env.d.ts | ||
| start.sh | ||
| tailwind.config.ts | ||
| tsconfig.json | ||
| vitest.config.ts | ||
| yarn.lock | ||
translAIte
Translations app built with Remix, supports authentication. Uses ChatGPT to translate text.
After your first login, you will be prompted to enter your OpenAI API key. You can get one here.
Built for self-hosting: host it anywhere you want, and use it for free.
View on DockerHub.
Table of contents
Pre-built Docker Image
docker pull nzambello/translaite
If you want to use the pre-built Docker image, you can run it with:
docker run -d -p 8080:8080 -v /path/to/data:/data/data.db nzambello/translaite
If you want to use different defaults, you can build your own image. See Running with docker
Docker compose
Basic example:
version: "3.8"
services:
translaite:
image: nzambello/translaite
container_name: translaite
restart: always
ports:
- 8080:8080
volumes:
- ./dockerData/translaite:/data # Path to data for DB persistence
Example of docker-compose.yml with Traefik as reverse proxy:
translaite:
depends_on:
- watchtower
image: nzambello/translaite
container_name: translaite
restart: always
volumes:
- /dockerData/translaite:/data # Path to data for DB persistence
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "traefik.enable=true"
- "traefik.http.routers.translaite.rule=Host(`translate.YOURDOMAIN.com`)" # change it to your preferences
- "traefik.http.routers.translaite.entrypoints=websecure"
- "traefik.http.routers.translaite.tls.certresolver=letsencrypt"
- "traefik.http.routers.translaite.service=translaite-service"
- "traefik.http.services.translaite-service.loadbalancer.server.port=8080"
Custom deployment or development
Tech Stack
Running Locally
# Clone the repo
git clone https://github.com/nzambello/translaite.git
cd translaite
# Install dependencies
yarn install
# Setup .env
cp .env.example .env
vim .env
# Start the app
yarn dev
Running with Docker
# Clone the repo
git clone https://github.com/nzambello/translaite.git
cd translaite
# Setup .env
cp .env.example .env
vim .env
# Build the image
docker built -t translaite .
# Start the app
docker run -p 127.0.0.1:8080:8080 translaite
Multi-platform Docker image
docker buildx create --name mybuilder --driver docker-container --bootstrap --use # create a new builder and switch to it using a single command.
docker buildx build --platform linux/amd64,linux/arm64 -t nzambello/translaite:latest --push .
License
Nicola Zambello © 2023