Find a file
2023-08-22 14:47:02 +02:00
app fix: history nav scroll 2023-08-22 14:47:02 +02:00
cypress Initialize project 2023-08-07 10:52:44 +02:00
mocks Initialize project 2023-08-07 10:52:44 +02:00
prisma chore: add db schema and migrations 2023-08-07 11:00:47 +02:00
public Initialize project 2023-08-07 10:52:44 +02:00
test Initialize project 2023-08-07 10:52:44 +02:00
.dockerignore Initialize project 2023-08-07 10:52:44 +02:00
.env.example Initialize project 2023-08-07 10:52:44 +02:00
.eslintrc.js Initialize project 2023-08-07 10:52:44 +02:00
.gitignore Initialize project 2023-08-07 10:52:44 +02:00
.gitpod.Dockerfile Initialize project 2023-08-07 10:52:44 +02:00
.gitpod.yml Initialize project 2023-08-07 10:52:44 +02:00
.npmrc Initialize project 2023-08-07 10:52:44 +02:00
.prettierignore Initialize project 2023-08-07 10:52:44 +02:00
.yarnrc.yml Initialize project 2023-08-07 10:52:44 +02:00
cypress.config.ts Initialize project 2023-08-07 10:52:44 +02:00
Dockerfile chore: update dockerfile and deploy stuff 2023-08-07 13:35:26 +02:00
package.json feat: add account mng with key, add translations features 2023-08-07 13:02:34 +02:00
postcss.config.js Initialize project 2023-08-07 10:52:44 +02:00
README.md docs: add readme info 2023-08-07 13:42:58 +02:00
remix.config.js Initialize project 2023-08-07 10:52:44 +02:00
remix.env.d.ts Initialize project 2023-08-07 10:52:44 +02:00
start.sh chore: update dockerfile and deploy stuff 2023-08-07 13:35:26 +02:00
tailwind.config.ts Initialize project 2023-08-07 10:52:44 +02:00
tsconfig.json Initialize project 2023-08-07 10:52:44 +02:00
vitest.config.ts Initialize project 2023-08-07 10:52:44 +02:00
yarn.lock feat: add account mng with key, add translations features 2023-08-07 13:02:34 +02:00

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

GNU GPLv3