diff --git a/.github/workflows/deploy-to-production.yaml b/.github/workflows/deploy-to-production.yaml index dcef6aa..ad6e4b1 100644 --- a/.github/workflows/deploy-to-production.yaml +++ b/.github/workflows/deploy-to-production.yaml @@ -25,6 +25,8 @@ jobs: cd optimism echo ${{ secrets.EMAIL_USER }} > email_user echo ${{ secrets.EMAIL_PASS }} > email_pass + echo ${{ secrets.ADMIN_USERNAME }} > admin_user + echo ${{ secrets.ADMIN_PASSWORD }} > admin_pass git pull docker compose build --build-arg OPTIMISM_API_CLIENT_SIDE_URL=${{ secrets.API_BASE_URL }} --build-arg OPTIMISM_WEBSITE_BASE_URL=${{ secrets.WEBSITE_BASE_URL }} --build-arg OPTIMISM_EMAIL_ORG_FROM_ADDR='${{ secrets.EMAIL_ORG_FROM_ADDR }}' --build-arg OPTIMISM_EMAIL_ORG_NOTIFY_ADDR='${{ secrets.EMAIL_ORG_NOTIFY_ADDR }}' --build-arg OPTIMISM_SMTP_HOST=${{ secrets.SMTP_HOST }} --build-arg OPTIMISM_SMTP_PORT=${{ secrets.SMTP_PORT }} --build-arg OPTIMISM_SMTP_SECURE=${{ secrets.SMTP_SECURE }} docker compose down @@ -32,3 +34,5 @@ jobs: docker compose exec api npx knex migrate:latest --env production rm email_user rm email_pass + rm admin_user + rm admin_pass diff --git a/.gitignore b/.gitignore index ba5067a..5757ec5 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,6 @@ node_modules/ out/ .idea/ email_pass -email_user \ No newline at end of file +email_user +admin_pass +admin_user diff --git a/docker-compose.yml b/docker-compose.yml index c08d06d..9c1b171 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -39,10 +39,17 @@ services: - 127.0.0.1:3000:3000 links: - api + secrets: + - admin_user + - admin_pass restart: always secrets: email_user: file: email_user email_pass: file: email_pass + admin_user: + file: admin_user + admin_pass: + file: admin_pass diff --git a/website/settings.js b/website/settings.js index 6a673cf..3a634b4 100644 --- a/website/settings.js +++ b/website/settings.js @@ -1,5 +1,17 @@ +const fs = require('fs'); + require('dotenv').config(); +const admin_user_path = "/run/secrets/admin_user"; +const admin_pass_path = "/run/secrets/admin_pass"; +if (fs.existsSync(admin_user_path)) +{ + process.env.OPTIMISM_ADMIN_USERNAME = fs.readFileSync(admin_user_path, { encoding: 'utf8' }).trim(); +} +if (fs.existsSync(admin_pass_path)) +{ + process.env.OPTIMISM_ADMIN_PASSWORD = fs.readFileSync(admin_pass_path, { encoding: 'utf8' }).trim(); +} const settings = { port: process.env.OPTIMISM_WEBSITE_PORT || 3000, apiUrl: process.env.OPTIMISM_API_URL || 'http://optimism_api:3001/api',