diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..0de055e --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +# Configure SERVER_ADDRESS to match the address of the server. If you don't have a DNS name, you can use the IP address. +# A missconfigured SERVER_ADDRESS will cause the app to have CSRF errors. +SERVER_ADDRESS=my_server_address +DEBUG_MODE=False diff --git a/build_and_push.sh b/build_and_push.sh new file mode 100755 index 0000000..5d41f10 --- /dev/null +++ b/build_and_push.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +IMAGES=( + "eduardosilva/wireguard_webadmin:latest" + "eduardosilva/wireguard_webadmin_cron:latest" + "eduardosilva/wireguard_webadmin_nginx:latest" +) + +build_images() { + echo "Starting the build of the images..." + docker-compose -f docker-compose-build.yml build + if [ $? -eq 0 ]; then + echo "Build completed successfully." + else + echo "Error during the image build." + exit 1 + fi +} + +push_images() { + for IMAGE in "${IMAGES[@]}"; do + echo "Pushing image: $IMAGE..." + docker push "$IMAGE" + if [ $? -eq 0 ]; then + echo "$IMAGE pushed successfully." + else + echo "Error pushing the image: $IMAGE" + exit 1 + fi + done +} + +build_images +push_images + +echo "Build and push operations completed successfully." diff --git a/docker-compose-build.yml b/docker-compose-build.yml new file mode 100644 index 0000000..4d4ab41 --- /dev/null +++ b/docker-compose-build.yml @@ -0,0 +1,18 @@ +version: '3' +services: + wireguard-webadmin: + image: eduardosilva/wireguard_webadmin:latest + build: + context: . + + wireguard-webadmin-cron: + image: eduardosilva/wireguard_webadmin_cron:latest + build: + context: ./cron + dockerfile: Dockerfile-cron + + wireguard-webadmin-nginx: + image: eduardosilva/wireguard_webadmin_nginx:latest + build: + context: . + dockerfile: Dockerfile_nginx diff --git a/docker-compose-no-nginx.yml b/docker-compose-no-nginx.yml index 3fce94e..64328ab 100644 --- a/docker-compose-no-nginx.yml +++ b/docker-compose-no-nginx.yml @@ -3,8 +3,7 @@ services: wireguard-webadmin: container_name: wireguard-webadmin restart: unless-stopped - build: - context: . + image: eduardosilva/wireguard_webadmin:latest environment: - SERVER_ADDRESS=127.0.0.1 - DEBUG_MODE=True @@ -19,7 +18,6 @@ services: - "51820-51839:51820-51839/udp" # Ports for port forwarding rules. Add your own ports here if you need them. - "8080-8089:8080-8089/tcp" - cap_add: - NET_ADMIN - SYS_MODULE @@ -31,12 +29,10 @@ services: wireguard-webadmin-cron: container_name: wireguard-webadmin-cron restart: unless-stopped - build: - context: ./cron - dockerfile: Dockerfile-cron + image: eduardosilva/wireguard_webadmin_cron:latest depends_on: - wireguard-webadmin volumes: - static_volume: + static_volume: wireguard: diff --git a/docker-compose.yml b/docker-compose.yml index 093753e..1ae4c7a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,8 +3,7 @@ services: wireguard-webadmin: container_name: wireguard-webadmin restart: unless-stopped - build: - context: . + image: eduardosilva/wireguard_webadmin:latest environment: - SERVER_ADDRESS=${SERVER_ADDRESS} - DEBUG_MODE=${DEBUG_MODE} @@ -19,7 +18,6 @@ services: - "51820-51839:51820-51839/udp" # Ports for port forwarding rules. Add your own ports here if you need them. - "8080-8089:8080-8089/tcp" - cap_add: - NET_ADMIN - SYS_MODULE @@ -31,19 +29,14 @@ services: wireguard-webadmin-cron: container_name: wireguard-webadmin-cron restart: unless-stopped - build: - context: ./cron - dockerfile: Dockerfile-cron + image: eduardosilva/wireguard_webadmin_cron:latest depends_on: - wireguard-webadmin wireguard-webadmin-nginx: container_name: wireguard-webadmin-nginx restart: unless-stopped - image: nginx:alpine - build: - context: . - dockerfile: Dockerfile_nginx + image: eduardosilva/wireguard_webadmin_nginx:latest volumes: - static_volume:/static - https_cert:/certificate @@ -52,6 +45,6 @@ services: - "443:443" volumes: - static_volume: + static_volume: https_cert: wireguard: diff --git a/wireguard_webadmin/settings.py b/wireguard_webadmin/settings.py index 787c510..8e4a477 100644 --- a/wireguard_webadmin/settings.py +++ b/wireguard_webadmin/settings.py @@ -129,6 +129,6 @@ STATICFILES_DIRS = [ DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' -WIREGUARD_WEBADMIN_VERSION = 9605 +WIREGUARD_WEBADMIN_VERSION = 9606 from wireguard_webadmin.production_settings import * \ No newline at end of file