Nuxt + Typescript + Tailwind + Tauri Template
- 📦 SSR
- 🖼️ OG Tags
- 🚀 PWA
- ✋ Push Notification
- 🌙 Light/Dark Mode
- 🐋 Containerized
- 🪄 CI/CD (Github Action)
- 🎭 Authentication (OAuth 2.0)
- ⚡️ API Route Caching
- 📐 Analytics
- Add Testing
- gitleaks
Clone the template
bunx giget@latest gh:shba007/nuxtemplate#<branch> <project>- name
- image
- port
- name
- description
- docker:build
- docker:start
- site
- url
- name
- pwa
- manifest
- name
- short_name
- description
- theme_color
- background_color
- manifest
- fontFamily
- head
- body
- colors
- light
- dark
- primary
- success
- warning
- alert
- name
- description
- repository
- productName
- identifier
- app
- windows
- title
- windows
- asset_name deploy.yml in line 271
- Vars
- USERNAME
- GH_PAT
TAURI_SIGNING_PRIVATE_KEY: Content of./src-tauri/app-sign.keyTAURI_SIGNING_PRIVATE_KEY_PASSWORD: Key password (leave empty if none)
dir public/pwa
bun tauri icon ./public/logo.svg
rm -rf src-tauri/gen/android bun tauri android init
cd src-tauri/gen/android
keytool -genkey -v -keystore release-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias release-key
cat ./release-keystore.jks | base64
goto src-tauri/gen/android/app/build.gradle.kts
import java.io.FileInputStream
defaultConfig {
...
}
signingConfigs {
create("release") {
val keystorePropertiesFile = rootProject.file("keystore.properties")
val keystoreProperties = Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["password"] as String
storeFile = file(keystoreProperties["storeFile"] as String)
storePassword = keystoreProperties["password"] as String
}
}
getByName("release") {
isMinifyEnabled = true
signingConfig = signingConfigs.getByName("release")
...
}put release-keystore.jks, keystore.properties into src-tauri/gen/android
1. Generate Keypair
bun x tauri signer generate -w ./src-tauri/app-sign.key
2. Configure src-tauri/tauri.conf.json
{
"bundle": {
"createUpdaterArtifacts": true
},
"plugins": {
"updater": {
"pubkey": "YOUR_PUBLIC_KEY_HERE",
"endpoints": ["https://github.com/<OWNER>/<REPO>/releases/latest/download/latest.json"]
}
}
}Start the development server on http://localhost:3000:
- Initialize Swarm on the Manager Node
docker swarm init --advertise-addr <MANAGER-IP>- Join Worker Nodes to the Swarm
docker swarm join --token <WORKER-TOKEN> <MANAGER-IP>:2377- Check Node Status
docker node ls- Create a docker volume
docker volume create \
--name nuxtemplate_static \
--driver local \
--opt type=none \
--opt device=~/shba007/nuxtemplate/static \
--opt o=bind- Use Docker Stack to deploy multi-container application
upload static into /root/nuxtemplate- Scale service
docker service scale nuxtemplate_app=2- Verify
docker service ls
docker service ps nuxtemplate_appPublished under the MIT license.

