diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d449b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +mongo-volume/ diff --git a/bin/app/Dockerfile b/bin/app/Dockerfile index ac991ab..957f026 100644 --- a/bin/app/Dockerfile +++ b/bin/app/Dockerfile @@ -46,10 +46,19 @@ RUN deno upgrade && \ # Install code-server RUN curl -fsSL https://code-server.dev/install.sh | sh +# Install other tools if needed +RUN apt update && \ + apt install git nano apache2 -y && \ + service apache2 start + +# Enable Apache modules and restart apache +RUN a2enmod rewrite deflate proxy proxy_ajp proxy_http proxy_wstunnel && \ + service apache2 restart + EXPOSE 80/tcp EXPOSE 443/tcp EXPOSE 3000/tcp EXPOSE 20000/tcp EXPOSE 21000/tcp -EXPOSE 9000/tcp EXPOSE 8080/tcp +EXPOSE 8888/tcp diff --git a/config/vhosts/code-server.conf b/config/vhosts/code-server.conf new file mode 100644 index 0000000..354751d --- /dev/null +++ b/config/vhosts/code-server.conf @@ -0,0 +1,18 @@ + + ServerName localhost + ServerAdmin kishan@kinesis.games + + ErrorLog /var/log/apache2/error.log + CustomLog /var/log/apache2/access.log combined + + ProxyRequests Off + ProxyPreserveHost On + ProxyPass / http://127.0.0.1:9000/ + ProxyPassReverse / http://127.0.0.1:9000/ + + RewriteEngine On + RewriteCond %{HTTP:Upgrade} =websocket [NC] + RewriteRule /(.*) ws://127.0.0.1:9000/$1 [P,L] + RewriteCond %{HTTP:Upgrade} !=websocket [NC] + RewriteRule /(.*) http://127.0.0.1:9000/$1 [P,L] + diff --git a/config/vhosts/default.conf b/config/vhosts/default.conf new file mode 100644 index 0000000..ab237fc --- /dev/null +++ b/config/vhosts/default.conf @@ -0,0 +1,8 @@ + + DocumentRoot "/var/www/html" + ServerName localhost + ServerAdmin kishan@kinesis.games + + AllowOverride all + + diff --git a/docker-compose.yml b/docker-compose.yml index 7b0036f..0768b0e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,14 +10,16 @@ services: - "${HTTP_PORT}:80" - "${HTTPS_PORT}:443" - "${REACT_PORT}:3000" + - "${CODE_SERVER_PORT}:8080" - "${API_PORT}:20000" - "${WS_PORT}:21000" - - "${CODE_SERVER_PORT}:9000" - - "${MISC_PORT}:8080" + - "${MISC_PORT}:8888" links: - db volumes: - ${CODE_SERVER_CONFIG-./config/code-server.yml}:/root/.config/code-server/config.yaml + - ${VHOST_DIR-./config/vhosts}:/etc/apache2/sites-enabled + tty: true db: image: 'mongo' container_name: '${PROJECT_NAME}-db'