No description
  • Vue 77.2%
  • TypeScript 21%
  • CSS 0.8%
  • PLpgSQL 0.4%
  • JavaScript 0.3%
  • Other 0.3%
Find a file
2026-10-07 12:26:56 +02:00
.husky initial commit 2026-09-21 18:26:54 +02:00
.vscode initial commit 2026-09-21 18:26:54 +02:00
app style(callbacks): make void handlers explicit 2026-10-07 12:23:50 +02:00
public feat: add favicon 2026-10-07 10:57:15 +02:00
scripts initial commit 2026-09-21 18:26:54 +02:00
server refactor(errors): type image cleanup rejections as unknown 2026-10-07 12:24:30 +02:00
shared style(types): make numeric interpolation explicit 2026-10-07 12:20:59 +02:00
.dockerignore initial commit 2026-09-21 18:26:54 +02:00
.editorconfig initial commit 2026-09-21 18:26:54 +02:00
.enc.local.env ops: add google auth secrets in local 2026-09-25 18:20:16 +02:00
.enc.production.env ops: add google auth secrets to prod and staging 2026-09-25 18:25:45 +02:00
.enc.staging.env ops: add google auth secrets to prod and staging 2026-09-25 18:25:45 +02:00
.env.example feat(auth): configure Google social provider 2026-09-25 17:38:15 +02:00
.gitignore feat(images): add compressed file storage 2026-09-23 09:47:55 +02:00
.sops.yaml ops: add local dotenv 2026-09-21 18:41:48 +02:00
AGENTS.md doc: adjust agents.md for lint scripts 2026-10-07 11:28:08 +02:00
components.json initial commit 2026-09-21 18:26:54 +02:00
docker-compose.dockiy.yml ops: add POSTGRES_DOCKER_PORT 2026-09-23 18:08:51 +02:00
docker-compose.yml initial commit 2026-09-21 18:26:54 +02:00
Dockerfile ops: disable pnpm_config_verify_deps_before_run 2026-09-25 19:29:12 +02:00
dockiy.config.yml ops: add dockiy config for nuxter 2026-09-21 18:27:36 +02:00
dockiy.yml initial commit 2026-09-21 18:26:54 +02:00
drizzle.config.ts initial commit 2026-09-21 18:26:54 +02:00
eslint.config.mjs build(lint): enable Vue-aware TypeScript linting 2026-10-07 12:26:56 +02:00
nuxt.config.ts build(lint): enable Vue-aware TypeScript linting 2026-10-07 12:26:56 +02:00
package.json build(lint): enable Vue-aware TypeScript linting 2026-10-07 12:26:56 +02:00
pnpm-lock.yaml build(lint): enable Vue-aware TypeScript linting 2026-10-07 12:26:56 +02:00
pnpm-workspace.yaml initial commit 2026-09-21 18:26:54 +02:00
README.md feat: add favicon 2026-10-07 10:57:15 +02:00
tsconfig.json initial commit 2026-09-21 18:26:54 +02:00

TravelGuessr logo

DockIY Nuxt Better Auth template

A full-stack Nuxt starter with Better Auth, PostgreSQL, and Drizzle, deployed with DockIY.

Docs for this template

Requirements

Install Node.js 24+, pnpm 11+, Docker Engine, Docker Compose, and the DockIY CLI. Install SOPS and age for encrypted environment files.

Get started

Create a project or clone this repository, then edit dockiy.yml in the project root. Set name and the staging/production hosts:

name: my-app

environments:
  staging:
    host: staging.example.com
    compose_file: docker-compose.dockiy.yml
    secrets_file: .enc.staging.env
  production:
    host: example.com
    compose_file: docker-compose.dockiy.yml
    secrets_file: .enc.production.env

Start the local database, install dependencies, apply migrations, and start Nuxt:

cp .env.example .env
docker compose up -d
pnpm install
pnpm db:migrate
pnpm dev

When Nuxt runs on the host, use port 5433 in NUXT_DATABASE_URL. For local values, you can also run sops decrypt .enc.local.env > .env. Edit deployment dotenv files with sops edit .enc.staging.env or sops edit .enc.production.env; keep .env local and commit only encrypted files. See the Nuxt Better Auth guide for authentication, migrations, and deployment.

Google sign-in

Create an OAuth client of type Web application in the Google Cloud Console. Add http://localhost:3000/api/auth/callback/google as an authorized redirect URI for local development. For each deployed environment, add its own callback URI, such as https://example.com/api/auth/callback/google.

Set NUXT_GOOGLE_CLIENT_ID and NUXT_GOOGLE_CLIENT_SECRET in that environment's secrets file. Set NUXT_BETTER_AUTH_URL to the same environment's public origin (for example, https://example.com) so Better Auth sends Google the registered callback URI. Restart Nuxt after changing local environment variables.