diff --git a/.gitignore b/.gitignore index b47bfb1..ac3635e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ node_modules/ .vscode/ -.env \ No newline at end of file +.env +nginx.conf +nginx/ diff --git a/docker-compose.yml b/docker-compose.yml index cc0ae0c..5228d3d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,9 +14,11 @@ services: - DB_PASSWORD=password - DB_NAME=battleship - COOKIE_SECRET_KEY=dhdgdnjejf + networks: + - app-network depends_on: - db - + db: image: mysql:8.0 restart: always @@ -26,4 +28,29 @@ services: ports: - "3306:3306" volumes: - - ./db:/docker-entrypoint-initdb.d \ No newline at end of file + - ./db:/docker-entrypoint-initdb.d + + nginx: + image: nginx:latest + ports: + - "8080:80" + - "443:443" + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt:/etc/letsencrypt + - /var/www/certbot:/var/www/certbot + depends_on: + - app + networks: + - app-network + + certbot: + image: certbot/certbot + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /var/www/certbot:/var/www/certbot + entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h; done;'" + +networks: + app-network: + driver: bridge diff --git a/db_clean.sql b/tools/db_clean.sql similarity index 100% rename from db_clean.sql rename to tools/db_clean.sql diff --git a/db_script.sql b/tools/db_script.sql similarity index 100% rename from db_script.sql rename to tools/db_script.sql diff --git a/tools/safe_delete_docker.sh b/tools/safe_delete_docker.sh new file mode 100755 index 0000000..6eb914a --- /dev/null +++ b/tools/safe_delete_docker.sh @@ -0,0 +1,18 @@ +# Stop all running containers +docker stop $(docker ps -q) + +# Remove all containers +docker rm $(docker ps -a -q) + +# Remove all images +docker rmi -f $(docker images -q) + +# Remove all networks +docker network rm $(docker network ls -q) + +# Remove all volumes +docker volume rm $(docker volume ls -q) + +# Alternatively, use prune to clean up everything +docker system prune -a --volumes +