diff --git a/.gitignore b/.gitignore index 32dab38..52d05a0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ -back/env/ -back/api/dashboard/tokens -back/api/admin/tokens +etc/ diff --git a/back/docker-compose.yml b/back/docker-compose.yml deleted file mode 100644 index e851edc..0000000 --- a/back/docker-compose.yml +++ /dev/null @@ -1,15 +0,0 @@ -version: '3' -services: - dashboard: - build: srv/dashboard - container_name: wgapi_dashboard - cap_add: - - NET_ADMIN - network_mode: host - volumes: - - './etc:/etc/wgapi:ro' - - './lib:/usr/local/bin:ro' - - './srv/dashboard/tokens:/var/local/wgapi_tokens' - - './srv/dashboard:/var/www/cgi-bin:ro' -# ports: -# - '8080:80/tcp' diff --git a/back/etc/config b/back/etc/config deleted file mode 100755 index dfb3c81..0000000 --- a/back/etc/config +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# FILE: /etc/wgapi/config -# DESCRIPTION: Admin-editable configs - -export TLD='gf4' -export LISTEN_PORT=8080 -export ADMIN_EMAIL='me@example.com' -export LOGFILE='/var/log/apache2/error.log' -export LOCAL_SERVER='ksn' -export IPV4_NET='10.4.0.0/16' -export IPV6_NET='fd69:1337:0:420:f4:f4::/96' -export WG_DNS='DNS=10.4.0.1,10.4.0.3,fd69:1337:0:420:f4:f4:0:1,fd69:1337:0:420:f4:f4:0:3' -export LIB_DIR='/usr/local/bin' -export TOKENS_FILE='/var/local/wgapi_tokens' -export SERVERS_FILE='/etc/wgapi/servers' -export SSL_CONFIG_DIR="/etc/ssl/private/${TLD}" -export SSL_CA_CERT="${SSL_CONFIG_DIR}/_ca.crt" -export SSL_CA_KEY="${SSL_CONFIG_DIR}/_ca.key" -export SSL_ORG='My Org' -export SSL_DAYS='3650' -export SSL_CA_PASS='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' -export DNS_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxw==' -export DNS_MASTER='10.4.0.1' -export DNS_TTL='86400' diff --git a/back/etc/servers b/back/etc/servers deleted file mode 100755 index 133127d..0000000 --- a/back/etc/servers +++ /dev/null @@ -1,3 +0,0 @@ -# host ipv4 ipv6 pubkey wg-endpoint admin-endpoint secret -ksn 10.4.0.1 fd69:1337:0:420:f4:f4:0:1 /LrbvvmXLk2ZmU94JZua+eliqySuJ4QMHApthjvhO3s= 172.93.54.60:52348 https://wgapi-admin.ksn.gf4 Mipto0ncZ2KFglNHshfKCrYxyLtAfakfkt4q9SoHxr1lW -krow 10.4.0.3 fd69:1337:0:420:f4:f4:0:3 6VA79LOmlUaJSD1AiLEMCtnjMRZ7rwRrdbtNSCDtO2k= 85.17.214.157:56333 https://wgapi-admin.krow.gf4 x32JMJmET3ehGUJ1meGjqdkd9HBI3LhqxFMYzrVsw diff --git a/back/srv/dashboard/Dockerfile b/back/srv/dashboard/Dockerfile index 4ecf31a..05a928e 100644 --- a/back/srv/dashboard/Dockerfile +++ b/back/srv/dashboard/Dockerfile @@ -1,12 +1,18 @@ FROM debian:latest ENV LISTEN_PORT=8080 +ENV ADMIN_EMAIL='me@example.com' RUN apt-get update && apt-get install --yes \ sudo apache2 openssl wireguard-tools dnsutils \ && rm -rf /var/lib/apt/lists/* RUN a2enmod cgi rewrite -RUN sed -i "s/^Listen 80$/Listen ${LISTEN_PORT}/" /etc/apache2/ports.conf -RUN sed -i "s/^$//" /etc/apache2/sites-available/000-default.conf -RUN sed -i "s|DocumentRoot .*$|DocumentRoot /var/www/cgi-bin\n\tScriptAlias / /var/www/cgi-bin/index.cgi|" /etc/apache2/sites-available/000-default.conf +RUN sed -i "s/^Listen 80$/Listen ${LISTEN_PORT}/" \ + /etc/apache2/ports.conf +RUN sed -i "s/^$//" \ + /etc/apache2/sites-available/000-default.conf +RUN sed -i "s/$/${ADMIN_EMAIL}/" \ + /etc/apache2/sites-available/000-default.conf +RUN sed -i "s|DocumentRoot .*$|DocumentRoot /var/www/cgi-bin\n\tScriptAlias / /var/www/cgi-bin/index.cgi|" \ + /etc/apache2/sites-available/000-default.conf RUN echo "www-data ALL=(ALL:ALL) NOPASSWD: ALL" | sudo EDITOR='tee -a' visudo -EXPOSE 8080 -CMD ["apachectl", "-D", "FOREGROUND"] +EXPOSE ${LISTEN_PORT} +CMD ["apachectl", "-D", "FOREGROUND"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..af84b17 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,13 @@ +version: '3' +services: + dashboard-backend: + build: back/srv/dashboard + container_name: wgapi-dashboard-backend + cap_add: + - NET_ADMIN + network_mode: host + volumes: + - './etc:/etc/wgapi:ro' + - './back/lib:/usr/local/bin:ro' + - '/var/local/wgapi_tokens' + - './back/srv/dashboard:/var/www/cgi-bin:ro'