feat: Add Dockerfile and simplify install script
- Add a Dockerfile for easy building and running of the application. - Simplify the install.sh script by removing unnecessary steps and hardcoded values. The installation of Tailwind CSS and Shadcn UI is now handled within the application. This allows for greater flexibility and simplifies the process. - Use environment variables for HOST and PORT, providing defaults.
This commit is contained in:
parent
486b5ceb05
commit
e2eb77c3b9
24
Dockerfile
Normal file
24
Dockerfile
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# Use a base image with Bun
|
||||||
|
FROM oven/bun:latest
|
||||||
|
|
||||||
|
# Set working directory
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Copy the entire project
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Make the scripts executable
|
||||||
|
RUN chmod +x install.sh run.sh
|
||||||
|
|
||||||
|
# Run the install script to set up dependencies
|
||||||
|
RUN ./install.sh
|
||||||
|
|
||||||
|
# Set environment variables with defaults
|
||||||
|
ENV HOST=0.0.0.0
|
||||||
|
ENV PORT=3000
|
||||||
|
|
||||||
|
# Expose the port
|
||||||
|
EXPOSE ${PORT}
|
||||||
|
|
||||||
|
# Run the application
|
||||||
|
CMD ["./run.sh"]
|
75
install.sh
75
install.sh
@ -15,54 +15,51 @@ else
|
|||||||
echo "Bun is already installed."
|
echo "Bun is already installed."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install Svelte with Bun and Vite
|
# Change into the existing app directory
|
||||||
echo "Installing Svelte with Bun and Vite..."
|
echo "Changing to the sweb directory..."
|
||||||
bun create vite sweb --template svelte-ts
|
|
||||||
|
|
||||||
# Change into the new app directory
|
|
||||||
cd sweb
|
cd sweb
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
bun install
|
bun install
|
||||||
|
|
||||||
# Install Tailwind CSS and dependencies
|
# # Install Tailwind CSS and dependencies
|
||||||
echo "Installing Tailwind CSS and dependencies..."
|
# echo "Installing Tailwind CSS and dependencies..."
|
||||||
bun add -D tailwindcss postcss autoprefixer
|
# bun add -D tailwindcss postcss autoprefixer
|
||||||
|
|
||||||
# Initialize Tailwind CSS
|
# # Initialize Tailwind CSS
|
||||||
echo "Initializing Tailwind CSS..."
|
# echo "Initializing Tailwind CSS..."
|
||||||
bunx tailwindcss init -p
|
# bunx tailwindcss init -p
|
||||||
|
|
||||||
# Configure Tailwind CSS
|
# # Configure Tailwind CSS
|
||||||
echo "Configuring Tailwind CSS..."
|
# echo "Configuring Tailwind CSS..."
|
||||||
# Modify tailwind.config.js
|
# # Modify tailwind.config.js
|
||||||
cat << EOF > tailwind.config.js
|
# cat << EOF > tailwind.config.js
|
||||||
/** @type {import('tailwindcss').Config} */
|
# /** @type {import('tailwindcss').Config} */
|
||||||
export default {
|
# export default {
|
||||||
content: [
|
# content: [
|
||||||
'./src/**/*.{html,js,svelte,ts}',
|
# './src/**/*.{html,js,svelte,ts}',
|
||||||
],
|
# ],
|
||||||
theme: {
|
# theme: {
|
||||||
extend: {},
|
# extend: {},
|
||||||
},
|
# },
|
||||||
plugins: [],
|
# plugins: [],
|
||||||
}
|
# }
|
||||||
EOF
|
# EOF
|
||||||
|
|
||||||
# Add Tailwind directives to app.css
|
# # Add Tailwind directives to app.css
|
||||||
echo "Adding Tailwind directives to app.css..."
|
# echo "Adding Tailwind directives to app.css..."
|
||||||
cat << EOF > src/app.css
|
# cat << EOF > src/app.css
|
||||||
@tailwind base;
|
# @tailwind base;
|
||||||
@tailwind components;
|
# @tailwind components;
|
||||||
@tailwind utilities;
|
# @tailwind utilities;
|
||||||
|
|
||||||
$(cat src/app.css)
|
# $(cat src/app.css)
|
||||||
EOF
|
# EOF
|
||||||
|
|
||||||
# Install Shadcn for Svelte
|
# # Install Shadcn for Svelte
|
||||||
echo "Installing Shadcn for Svelte..."
|
# echo "Installing Shadcn for Svelte..."
|
||||||
bun install lucide-svelte
|
# bun install lucide-svelte
|
||||||
# Attempting to run Shadcn Svelte init non-interactively by providing the components alias.
|
# # Attempting to run Shadcn Svelte init non-interactively by providing the components alias.
|
||||||
bunx shadcn-svelte init --style default --base-color slate --css src/app.css --tailwind-config tailwind.config.js --components-alias '$lib/components/ui'
|
# bunx shadcn-svelte init --style default --base-color slate --css src/app.css --tailwind-config tailwind.config.js --components-alias '$lib/components/ui'
|
||||||
|
|
||||||
|
|
||||||
|
8
run.sh
8
run.sh
@ -1,7 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set default values for HOST and PORT if not provided
|
||||||
|
HOST=${HOST:-0.0.0.0}
|
||||||
|
PORT=${PORT:-3000}
|
||||||
|
|
||||||
# Change to the Svelte app directory
|
# Change to the Svelte app directory
|
||||||
cd sweb
|
cd sweb
|
||||||
|
|
||||||
# Run the development server
|
# Run the development server with the specified host and port
|
||||||
bun run dev
|
bun run dev -- --host $HOST --port $PORT
|
Loading…
Reference in New Issue
Block a user