Skip to content

Commit f5dab28

Browse files
committed
Merge branch 'develop' into feature/fix-tests
2 parents 9749b56 + 5f2f102 commit f5dab28

13 files changed

+279
-165
lines changed

.dev.env renamed to .env.example

+18-15
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,28 @@
66
# Template files must be committed to the VCS, but must not contain
77
# any secret values.
88

9-
EXPRESS_PORT=3000
9+
EXPRESS_PORT=
10+
EXPRESS_PROTOCOL=
11+
EXPRESS_SECRET=
1012

11-
EMAIL_HOST=localhost
12-
EMAIL_PORT=3003
13-
EMAIL_SECURE=false
14-
EMAIL_FROM_NAME=Droplet (Dev)
15-
EMAIL_FROM_ADDRESS=[email protected]
16-
EMAIL_AUTH_ENABLE=false
13+
EMAIL_HOST=
14+
EMAIL_PORT=
15+
EMAIL_SECURE=
16+
EMAIL_FROM_NAME=
17+
EMAIL_FROM_ADDRESS=
18+
EMAIL_AUTH_ENABLE=
1719
EMAIL_AUTH_USER=
1820
EMAIL_AUTH_PASS=
19-
EMAIL_TLS_REJECT_UNAUTHORISED=true
21+
EMAIL_TLS_REJECT_UNAUTHORISED=
2022

2123
EMAIL_TEMPLATE_PASSWORDRESET_RESETLINK=http://localhost:3000/auth/password-reset/reset?token={token}
2224
EMAIL_TEMPLATE_VERIFYUSER_VERIFYLINK=http://localhost:3000/auth/verify?token={token}
2325

24-
DB_HOST=127.0.0.1
25-
DB_PORT=3001
26-
DB_NAME=droplet
27-
DB_AUTH_USER=dev
28-
DB_AUTH_PASS=dev
29-
DB_SYNC=true
30-
DB_LOGGING=true
26+
DB_HOST=
27+
DB_PORT=
28+
DB_NAME=
29+
DB_AUTH_USER=
30+
DB_AUTH_PASS=
31+
DB_SYNC=
32+
DB_LOGGING=
33+
DB_DATA_LOCATION=

.github/workflows/stage.yml

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: Deploy To Stage
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
8+
jobs:
9+
build:
10+
environment: stage
11+
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Use Node.js
17+
uses: actions/setup-node@v1
18+
with:
19+
node-version: 18.x
20+
- run: yarn install --frozen-lockfile
21+
- run: yarn build
22+
- run: yarn test
23+
24+
- name: RSync to Stage Server
25+
uses: D3rHase/[email protected]
26+
with:
27+
HOST: ${{ secrets.SSH_HOST }}
28+
PORT: ${{ secrets.SSH_PORT }}
29+
USER: ${{ secrets.SSH_USER }}
30+
PRIVATE_SSH_KEY: ${{ secrets.SSH_KEY }}
31+
REPOSITORY_PATH: ${{ secrets.SSH_REPO_PATH }}
32+
SERVER_PATH: ${{ secrets.SSH_SERVER_PATH }}
33+
34+
deploy:
35+
environment: stage
36+
needs: build
37+
runs-on: ubuntu-latest
38+
steps:
39+
- uses: appleboy/[email protected]
40+
env:
41+
DB_NAME: ${{ secrets.DB_NAME }}
42+
DB_AUTH_USER: ${{ secrets.DB_AUTH_USER }}
43+
DB_AUTH_PASS: ${{ secrets.DB_AUTH_PASS }}
44+
DB_HOST: ${{ secrets.DB_HOST }}
45+
DB_PORT: ${{ secrets.DB_PORT }}
46+
DB_ROOT_HOST: ${{ secrets.DB_ROOT_HOST }}
47+
DB_SYNC: ${{ secrets.DB_SYNC }}
48+
DB_LOGGING: ${{ secrets.DB_LOGGING }}
49+
DB_DATA_LOCATION: ${{ secrets.DB_DATA_LOCATION }}
50+
EXPRESS_PORT: ${{ secrets.EXPRESS_PORT }}
51+
EXPRESS_PROTOCOL: ${{ secrets.EXPRESS_PROTOCOL }}
52+
EXPRESS_SECRET: ${{ secrets.EXPRESS_SECRET }}
53+
EMAIL_HOST: ${{ secrets.EMAIL_HOST }}
54+
EMAIL_PORT: ${{ secrets.EMAIL_PORT }}
55+
EMAIL_SECURE: ${{ secrets.EMAIL_SECURE }}
56+
EMAIL_FROM_NAME: ${{ vars.EMAIL_FROM_NAME }}
57+
EMAIL_FROM_ADDRESS: ${{ vars.EMAIL_FROM_ADDRESS }}
58+
EMAIL_AUTH_ENABLE: ${{ secrets.EMAIL_AUTH_ENABLE }}
59+
EMAIL_AUTH_USER: ${{ secrets.EMAIL_AUTH_USER }}
60+
EMAIL_AUTH_PASS: ${{ secrets.EMAIL_AUTH_PASS }}
61+
EMAIL_TLS_REJECT_UNAUTHORISED: ${{ secrets.EMAIL_TLS_REJECT_UNAUTHORISED }}
62+
EMAIL_TEMPLATE_PASSWORDRESET_RESETLINK: ${{ vars.EMAIL_TEMPLATE_PASSWORDRESET_RESETLINK }}
63+
EMAIL_TEMPLATE_VERIFYUSER_VERIFYLINK: ${{ vars.EMAIL_TEMPLATE_VERIFYUSER_VERIFYLINK }}
64+
with:
65+
host: ${{ secrets.SSH_HOST }}
66+
username: ${{ secrets.SSH_USER }}
67+
key: ${{ secrets.SSH_KEY }}
68+
port: ${{ secrets.SSH_PORT }}
69+
envs: DB_NAME,DB_AUTH_USER,DB_AUTH_PASS,DB_HOST,DB_PORT,DB_ROOT_HOST,DB_SYNC,DB_LOGGING,DB_DATA_LOCATION,EXPRESS_PORT,EXPRESS_PROTOCOL,EXPRESS_SECRET,EMAIL_HOST,EMAIL_PORT,EMAIL_SECURE,EMAIL_FROM_NAME,EMAIL_FROM_ADDRESS,EMAIL_AUTH_ENABLE,EMAIL_AUTH_USER,EMAIL_AUTH_PASS,EMAIL_TLS_REJECT_UNAUTHORISED,EMAIL_TEMPLATE_PASSWORDRESET_RESETLINK,EMAIL_TEMPLATE_VERIFYUSER_VERIFYLINK
70+
script: |
71+
cd ~/app \
72+
&& docker compose down \
73+
&& (pm2 stop droplet || true) \
74+
&& (pm2 delete droplet || true) \
75+
&& docker compose up -d \
76+
&& sleep 10 \
77+
&& yarn run db:up \
78+
&& pm2 start --name droplet dist/index.js

.github/workflows/testing.yml

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Testing
2+
3+
on:
4+
push:
5+
branches:
6+
- feature/*
7+
- hotfix/*
8+
- renovate/*
9+
10+
jobs:
11+
build:
12+
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: actions/checkout@v2
17+
- name: Use Node.js
18+
uses: actions/setup-node@v1
19+
with:
20+
node-version: 18.x
21+
- run: yarn install
22+
- run: yarn build
23+
- run: yarn test

.gitignore

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,8 @@ coverage/
66
ormconfig.json
77
yarn-error.log
88
.DS_Store
9-
secret.txt
9+
secret.txt
10+
11+
.terraform/
12+
*.tfvars
13+
*.tfstate

.prod.env

-30
This file was deleted.

.stage.env

-30
This file was deleted.

docker-compose.prod.yml

-33
This file was deleted.

docker-compose.stage.yml

-33
This file was deleted.

docker-compose.yml

+10-22
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,22 @@
11
version: "3"
22

3-
volumes:
4-
dev_database_data:
5-
63
services:
74
database:
85
image: mysql/mysql-server
96
command: --default-authentication-plugin=mysql_native_password
107
restart: always
118
environment:
12-
- MYSQL_DATABASE=droplet
13-
- MYSQL_USER=dev
14-
- MYSQL_PASSWORD=dev
15-
- MYSQL_ROOT_PASSWORD=root
16-
- MYSQL_ROOT_HOST=0.0.0.0
9+
- MYSQL_DATABASE=$DB_NAME
10+
- MYSQL_USER=$DB_AUTH_USER
11+
- MYSQL_PASSWORD=$DB_AUTH_PASS
12+
- MYSQL_ROOT_PASSWORD=$DB_AUTH_PASS
13+
- MYSQL_ROOT_HOST=$DB_ROOT_HOST
1714
ports:
18-
- "3001:3306"
15+
- "3306:3306"
1916
volumes:
20-
- dev_database_data:/var/lib/mysql
21-
22-
phpmyadmin:
23-
image: phpmyadmin
24-
restart: always
25-
ports:
26-
- "3002:80"
27-
environment:
28-
- PMA_ARBITRARY=1
29-
30-
mail:
17+
- $DB_DATA_LOCATION:/var/lib/mysql
18+
mailhog:
3119
image: mailhog/mailhog
3220
ports:
33-
- "3003:1025"
34-
- "3004:8025"
21+
- 1025:1025 # smtp server
22+
- 8025:8025 # web ui

infrastructure/.terraform.lock.hcl

+26
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)