118 lines
No EOL
2.5 KiB
Markdown
118 lines
No EOL
2.5 KiB
Markdown
projects
|
|
|
|
## spring quiz app
|
|
- location : `/home/hpes/Videos/imp/java/spring/genz/quiz_back_docker-compose`
|
|
**following will not work**
|
|
- to go to bash use this
|
|
`docker run --rm -it --name quiz-app quiz-app-docker:1.0 bash`
|
|
- run app (use -d for detach mode)
|
|
`docker run -p 8085:8080 --rm --name quiz-app quiz-app-docker:1.0`
|
|
- build
|
|
`docker build -t quiz-app:1.0 .`
|
|
- Dockerfile
|
|
```
|
|
FROM alpine:latest
|
|
RUN apk add --update bash openjdk17 maven mariadb mariadb-client
|
|
COPY . /spring-app
|
|
WORKDIR /spring-app
|
|
RUN mvn package
|
|
# Initialize MySQL database (this step will only run the first time)
|
|
RUN mysql_install_db --user=root --basedir=/usr --datadir=/var/lib/mysql
|
|
RUN mysqld_safe --user=root & \
|
|
sleep 3 && \
|
|
mysql -e "create database quiz;" && \
|
|
mysql quiz < quiz.sql
|
|
EXPOSE 8080
|
|
RUN chmod +x entrypoint.sh
|
|
# Start the MySQL service and your backend
|
|
CMD sh /spring-app/entrypoint.sh
|
|
|
|
```
|
|
|
|
**docker compose method** (1.3 gb)
|
|
docker-compose.yml
|
|
```yml
|
|
version: '3.8'
|
|
|
|
services:
|
|
mysql:
|
|
image: mysql:latest # You can use a different version if necessary
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: strong_password
|
|
ports:
|
|
- "3307:3306" # Expose MySQL on port 3307
|
|
volumes:
|
|
- /var/lib/docker/volumes/mysql_app_data/_data:/var/lib/mysql # Persist MySQL data
|
|
|
|
spring-app:
|
|
build: .
|
|
environment:
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/quiz?allowMultiQueries=true
|
|
SPRING_DATASOURCE_USERNAME: root
|
|
SPRING_DATASOURCE_PASSWORD: strong_password
|
|
ports:
|
|
- "8085:8080" # Expose Spring Boot app on port 8080
|
|
depends_on:
|
|
- mysql # Ensure MySQL starts before Spring Boot app
|
|
|
|
```
|
|
|
|
Dockerfile for spring-app
|
|
```
|
|
FROM alpine:latest
|
|
RUN apk add --update bash openjdk17 maven
|
|
COPY . /spring-app
|
|
WORKDIR /spring-app
|
|
RUN mvn package
|
|
EXPOSE 8080
|
|
|
|
|
|
CMD java -jar target/demo-0.0.1-SNAPSHOT.jar
|
|
|
|
```
|
|
|
|
two commands
|
|
`docker-compose build` and `docker-compose up`
|
|
|
|
|
|
## youtube playlist downloader
|
|
200 mb
|
|
- location : `/home/hpes/Videos/imp/nodejs/production/youtube downloader/`
|
|
- `docker build -t ytdown:1.0 .`
|
|
DockerFile
|
|
```
|
|
FROM alpine
|
|
RUN apk add --update nodejs npm bash
|
|
|
|
# App 1
|
|
WORKDIR /src/puppetter_test
|
|
COPY puppetter_test/ ./
|
|
RUN npm install
|
|
|
|
# App 2
|
|
WORKDIR /src/ytDownloadSpace
|
|
COPY ytDownloadSpace ./
|
|
RUN npm install
|
|
|
|
|
|
# App 3
|
|
WORKDIR /src/ytdlApi
|
|
COPY ytdlApi/ ./
|
|
RUN npm install
|
|
|
|
|
|
|
|
|
|
RUN npm install -g pm2
|
|
|
|
#config file
|
|
WORKDIR /src/puppetter_test
|
|
EXPOSE 8081
|
|
CMD pm2 start ecosystem.config.js --no-daemon
|
|
|
|
# CMD ["node", "app.js"]
|
|
|
|
```
|
|
|
|
for vps
|
|
[setup.md](../../../../_resources/setup.md) |