Skip to content

Commit 848a2de

Browse files
committed
[deploy] worker deployment
1 parent e2ecc72 commit 848a2de

File tree

12 files changed

+644
-63
lines changed

12 files changed

+644
-63
lines changed

build/package/Dockerfile.dev

Lines changed: 0 additions & 15 deletions
This file was deleted.

deployments/docker-compose-proxy/docker-compose.yml

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ services:
3434
- STATIC_ENABLED=true
3535
- STATIC_RULES=${DOMAIN},^/(.*),http://backend:3000/$$1
3636
- HEADER=
37-
X-Frame-Options:SAMEORIGIN,
38-
X-XSS-Protection:1; mode=block;,
39-
X-Content-Type-Options:nosniff,
40-
Strict-Transport-Security:max-age=31536000,
41-
Referrer-Policy:no-referrer,
42-
Content-Security-Policy:default-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com/; font-src self https://fonts.gstatic.com/;
37+
X-Frame-Options:SAMEORIGIN,
38+
X-XSS-Protection:1; mode=block;,
39+
X-Content-Type-Options:nosniff,
40+
Strict-Transport-Security:max-age=31536000,
41+
Referrer-Policy:no-referrer,
42+
Content-Security-Policy:default-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com/; font-src self https://fonts.gstatic.com/;
4343

4444
backend:
45-
image: capcom6/sms-gateway:latest
45+
image: ghcr.io/android-sms-gateway/server:latest
4646
environment:
4747
- CONFIG_PATH=config.yml
4848
- DATABASE__PASSWORD=${MYSQL_PASSWORD}
@@ -55,6 +55,20 @@ services:
5555
db:
5656
condition: service_healthy
5757

58+
worker:
59+
image: ghcr.io/android-sms-gateway/server:latest
60+
command: ["/app/app", "worker"]
61+
environment:
62+
- CONFIG_PATH=config.yml
63+
- DATABASE__PASSWORD=${MYSQL_PASSWORD}
64+
configs:
65+
- source: config-yml
66+
target: /app/config.yml
67+
restart: unless-stopped
68+
depends_on:
69+
db:
70+
condition: service_healthy
71+
5872
db:
5973
image: mariadb:lts
6074
environment:
@@ -66,15 +80,7 @@ services:
6680
- mariadb-data:/var/lib/mysql
6781
restart: unless-stopped
6882
healthcheck:
69-
test:
70-
[
71-
"CMD",
72-
"mysqladmin",
73-
"ping",
74-
"-proot",
75-
"-h",
76-
"127.0.0.1"
77-
]
83+
test: ["CMD", "mysqladmin", "ping", "-proot", "-h", "127.0.0.1"]
7884
timeout: 5s
7985
retries: 10
8086

@@ -95,9 +101,6 @@ configs:
95101
credentials_json: "{}"
96102
timeout_seconds: 1
97103
debounce_seconds: 5
98-
tasks:
99-
hashing:
100-
interval_seconds: 900
101104
102105
volumes:
103106
mariadb-data:

deployments/docker-compose/.env

Lines changed: 0 additions & 1 deletion
This file was deleted.

deployments/docker-compose/docker-compose.dev.yml

Lines changed: 0 additions & 23 deletions
This file was deleted.

deployments/docker-compose/docker-compose.yml

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
name: sms-gate-app
12
services:
23
backend:
34
image: capcom6/sms-gateway
@@ -9,7 +10,6 @@ services:
910
environment:
1011
- DEBUG=
1112
- CONFIG_PATH=config.yml
12-
- GOOSE_DBSTRING=sms:sms@tcp(db:3306)/sms
1313
- HTTP__LISTEN=0.0.0.0:3000
1414
- DATABASE__HOST=db
1515
- DATABASE__PORT=3306
@@ -20,7 +20,33 @@ services:
2020
- "3000:3000"
2121
volumes:
2222
- ../../configs/config.yml:/app/config.yml:ro
23-
restart: 'unless-stopped'
23+
restart: "unless-stopped"
24+
depends_on:
25+
db:
26+
condition: service_healthy
27+
28+
worker:
29+
image: capcom6/sms-gateway
30+
build:
31+
context: ../..
32+
dockerfile: ./build/package/Dockerfile
33+
args:
34+
- APP=sms-gateway
35+
command: ["/app/app", "worker"]
36+
environment:
37+
- DEBUG=
38+
- CONFIG_PATH=config.yml
39+
- HTTP__LISTEN=0.0.0.0:3000
40+
- DATABASE__HOST=db
41+
- DATABASE__PORT=3306
42+
- DATABASE__USER=sms
43+
- DATABASE__PASSWORD=sms
44+
- DATABASE__DATABASE=sms
45+
ports:
46+
- "3001:3000"
47+
volumes:
48+
- ../../configs/config.yml:/app/config.yml:ro
49+
restart: "unless-stopped"
2450
depends_on:
2551
db:
2652
condition: service_healthy
@@ -35,7 +61,7 @@ services:
3561
- MARIADB_AUTO_UPGRADE=1
3662
volumes:
3763
- mariadb-data:/var/lib/mysql
38-
restart: 'unless-stopped'
64+
restart: "unless-stopped"
3965
healthcheck:
4066
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
4167
start_period: 10s
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
resource "docker_service" "worker" {
2+
name = "${var.app-name}-worker"
3+
4+
task_spec {
5+
container_spec {
6+
image = docker_image.app.name
7+
command = ["/app/app", "worker"]
8+
9+
env = jsondecode(base64decode(var.app-env-json-b64))
10+
11+
secrets {
12+
secret_id = docker_secret.config.id
13+
secret_name = docker_secret.config.name
14+
file_name = "/app/config.yml"
15+
file_mode = 384
16+
file_uid = 405
17+
file_gid = 100
18+
}
19+
}
20+
21+
networks_advanced {
22+
name = data.docker_network.internal.id
23+
}
24+
25+
resources {
26+
limits {
27+
memory_bytes = var.memory-limit
28+
}
29+
30+
reservation {
31+
memory_bytes = 32 * 1024 * 1024
32+
}
33+
}
34+
}
35+
36+
#region Prometheus support
37+
labels {
38+
label = "prometheus.io/scrape"
39+
value = "true"
40+
}
41+
labels {
42+
label = "prometheus.io/port"
43+
value = "3000"
44+
}
45+
labels {
46+
label = "prometheus.io/job"
47+
value = "worker"
48+
}
49+
#endregion
50+
51+
rollback_config {
52+
order = "stop-first"
53+
monitor = "5s"
54+
}
55+
56+
update_config {
57+
order = "stop-first"
58+
failure_action = "rollback"
59+
monitor = "5s"
60+
}
61+
}

0 commit comments

Comments
 (0)