@archlast/server 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +99 -99
  3. package/dist/auth/better-auth-instance.d.ts +7 -11
  4. package/dist/auth/better-auth-instance.d.ts.map +1 -1
  5. package/dist/controllers/crud-generator.controller.js +123 -123
  6. package/dist/controllers/introspection.controller.d.ts +24 -0
  7. package/dist/controllers/introspection.controller.d.ts.map +1 -1
  8. package/dist/controllers/introspection.controller.js +17 -0
  9. package/dist/controllers/introspection.controller.js.map +1 -1
  10. package/dist/controllers/system.controller.d.ts +32 -0
  11. package/dist/controllers/system.controller.d.ts.map +1 -1
  12. package/dist/controllers/system.controller.js +58 -0
  13. package/dist/controllers/system.controller.js.map +1 -1
  14. package/dist/deployment/handler.d.ts +20 -1
  15. package/dist/deployment/handler.d.ts.map +1 -1
  16. package/dist/deployment/handler.js +189 -16
  17. package/dist/deployment/handler.js.map +1 -1
  18. package/dist/docker/compose.js +1 -1
  19. package/dist/http/router.d.ts +1 -0
  20. package/dist/http/router.d.ts.map +1 -1
  21. package/dist/http/router.js +14 -3
  22. package/dist/http/router.js.map +1 -1
  23. package/dist/http/server.d.ts.map +1 -1
  24. package/dist/http/server.js +22 -19
  25. package/dist/http/server.js.map +1 -1
  26. package/dist/schema/input-types.d.ts +1 -1
  27. package/dist/schema/input-types.d.ts.map +1 -1
  28. package/dist/schema/input-types.js +4 -3
  29. package/dist/schema/input-types.js.map +1 -1
  30. package/dist/schema/modifiers.d.ts +2 -1
  31. package/dist/schema/modifiers.d.ts.map +1 -1
  32. package/dist/schema/modifiers.js +41 -5
  33. package/dist/schema/modifiers.js.map +1 -1
  34. package/dist/schema/type-helpers.d.ts +35 -0
  35. package/dist/schema/type-helpers.d.ts.map +1 -1
  36. package/dist/schema/type-helpers.js +32 -21
  37. package/dist/schema/type-helpers.js.map +1 -1
  38. package/dist/schema/validators.d.ts +1 -1
  39. package/dist/schema/validators.d.ts.map +1 -1
  40. package/dist/schema/validators.js +27 -16
  41. package/dist/schema/validators.js.map +1 -1
  42. package/dist/services/admin/backup/SqliteGenerator.js +8 -8
  43. package/dist/services/introspection.service.d.ts.map +1 -1
  44. package/dist/services/introspection.service.js +6 -3
  45. package/dist/services/introspection.service.js.map +1 -1
  46. package/dist/services/system.service.d.ts +11 -0
  47. package/dist/services/system.service.d.ts.map +1 -1
  48. package/dist/services/system.service.js +84 -0
  49. package/dist/services/system.service.js.map +1 -1
  50. package/dist/startup/bootstrap.d.ts.map +1 -1
  51. package/dist/startup/bootstrap.js +6 -1
  52. package/dist/startup/bootstrap.js.map +1 -1
  53. package/docker/README.md +10 -10
  54. package/package.json +210 -210
  55. package/templates/.env.example +55 -55
  56. package/templates/archlast.config.js +37 -36
  57. package/templates/docker-compose.dev.yml +8 -8
  58. package/templates/docker-compose.prod.yml +15 -15
  59. package/templates/docker-compose.yml +33 -33
package/package.json CHANGED
@@ -1,210 +1,210 @@
1
- {
2
- "name": "@archlast/server",
3
- "version": "0.1.6",
4
- "description": "Archlast server library exports and Docker templates",
5
- "license": "MIT",
6
- "repository": {
7
- "type": "git",
8
- "url": "https://github.com/algochad/archlast-sync.git"
9
- },
10
- "main": "./dist/index.js",
11
- "types": "./dist/index.d.ts",
12
- "exports": {
13
- ".": {
14
- "types": "./dist/index.d.ts",
15
- "import": "./dist/index.js",
16
- "default": "./dist/index.js"
17
- },
18
- "./functions/definition": {
19
- "types": "./dist/functions/definition.d.ts",
20
- "import": "./dist/functions/definition.js",
21
- "default": "./dist/functions/definition.js"
22
- },
23
- "./functions/types": {
24
- "types": "./dist/functions/types.d.ts",
25
- "import": "./dist/functions/types.js",
26
- "default": "./dist/functions/types.js"
27
- },
28
- "./schema/definition": {
29
- "types": "./dist/schema/definition.d.ts",
30
- "import": "./dist/schema/definition.js",
31
- "default": "./dist/schema/definition.js"
32
- },
33
- "./schema/validators": {
34
- "types": "./dist/schema/validators.d.ts",
35
- "import": "./dist/schema/validators.js",
36
- "default": "./dist/schema/validators.js"
37
- },
38
- "./db/interfaces": {
39
- "types": "./dist/db/interfaces.d.ts",
40
- "import": "./dist/db/interfaces.js",
41
- "default": "./dist/db/interfaces.js"
42
- },
43
- "./auth/interfaces": {
44
- "types": "./dist/auth/interfaces.d.ts",
45
- "import": "./dist/auth/interfaces.js",
46
- "default": "./dist/auth/interfaces.js"
47
- },
48
- "./repository/interfaces": {
49
- "types": "./dist/repository/interfaces.d.ts",
50
- "import": "./dist/repository/interfaces.js",
51
- "default": "./dist/repository/interfaces.js"
52
- },
53
- "./repository/factory": {
54
- "types": "./dist/repository/factory.d.ts",
55
- "import": "./dist/repository/factory.js",
56
- "default": "./dist/repository/factory.js"
57
- },
58
- "./jobs/scheduler": {
59
- "types": "./dist/jobs/scheduler.d.ts",
60
- "import": "./dist/jobs/scheduler.js",
61
- "default": "./dist/jobs/scheduler.js"
62
- },
63
- "./jobs/queue": {
64
- "types": "./dist/jobs/queue.d.ts",
65
- "import": "./dist/jobs/queue.js",
66
- "default": "./dist/jobs/queue.js"
67
- },
68
- "./jobs": {
69
- "types": "./dist/jobs/index.d.ts",
70
- "import": "./dist/jobs/index.js",
71
- "default": "./dist/jobs/index.js"
72
- },
73
- "./storage/types": {
74
- "types": "./dist/storage/types.d.ts",
75
- "import": "./dist/storage/types.js",
76
- "default": "./dist/storage/types.js"
77
- },
78
- "./logging/logger": {
79
- "types": "./dist/logging/logger.d.ts",
80
- "import": "./dist/logging/logger.js",
81
- "default": "./dist/logging/logger.js"
82
- },
83
- "./context": {
84
- "types": "./dist/context.d.ts",
85
- "import": "./dist/context.js",
86
- "default": "./dist/context.js"
87
- },
88
- "./jobs/scheduler-client": {
89
- "types": "./dist/jobs/scheduler.d.ts",
90
- "import": "./dist/jobs/scheduler.js",
91
- "default": "./dist/jobs/scheduler.js"
92
- },
93
- "./di/decorators": {
94
- "types": "./dist/di/decorators.d.ts",
95
- "import": "./dist/di/decorators.js",
96
- "default": "./dist/di/decorators.js"
97
- },
98
- "./di/container": {
99
- "types": "./dist/di/container.d.ts",
100
- "import": "./dist/di/container.js",
101
- "default": "./dist/di/container.js"
102
- },
103
- "./webhook/guard": {
104
- "types": "./dist/webhook/guard.d.ts",
105
- "import": "./dist/webhook/guard.js",
106
- "default": "./dist/webhook/guard.js"
107
- },
108
- "./webhook/verifier": {
109
- "types": "./dist/webhook/verifier.d.ts",
110
- "import": "./dist/webhook/verifier.js",
111
- "default": "./dist/webhook/verifier.js"
112
- },
113
- "./http/definition": {
114
- "types": "./dist/http/definition.d.ts",
115
- "import": "./dist/http/definition.js",
116
- "default": "./dist/http/definition.js"
117
- },
118
- "./http/router": {
119
- "types": "./dist/http/router.d.ts",
120
- "import": "./dist/http/router.js",
121
- "default": "./dist/http/router.js"
122
- },
123
- "./http": {
124
- "types": "./dist/http/index.d.ts",
125
- "import": "./dist/http/index.js",
126
- "default": "./dist/http/index.js"
127
- },
128
- "./webhook": {
129
- "types": "./dist/webhook/index.d.ts",
130
- "import": "./dist/webhook/index.js",
131
- "default": "./dist/webhook/index.js"
132
- },
133
- "./webhook/definition": {
134
- "types": "./dist/webhook/definition.d.ts",
135
- "import": "./dist/webhook/definition.js",
136
- "default": "./dist/webhook/definition.js"
137
- },
138
- "./docker": {
139
- "types": "./dist/docker/index.d.ts",
140
- "import": "./dist/docker/index.js",
141
- "default": "./dist/docker/index.js"
142
- }
143
- },
144
- "files": [
145
- "dist",
146
- "templates",
147
- "docker",
148
- "scripts/postinstall.js",
149
- "README.md",
150
- "LICENSE"
151
- ],
152
- "archlast": {
153
- "dockerImage": "algochad/archlast-server",
154
- "defaultTag": "latest",
155
- "minDockerVersion": "24.0.0"
156
- },
157
- "scripts": {
158
- "build": "bun run build:library && bun run build:startup",
159
- "build:library": "tsc",
160
- "build:startup": "bun build startup.ts --outdir dist --target node --format esm",
161
- "build:types": "tsc --emitDeclarationOnly --declaration",
162
- "typecheck": "tsc --noEmit",
163
- "start": "bun dist/startup.js",
164
- "dev": "bun startup.ts",
165
- "postinstall": "node scripts/postinstall.js",
166
- "test": "bun test tests",
167
- "test:cache": "bun test tests/cache",
168
- "test:repository": "bun test tests/repository",
169
- "test:ipc": "bun test tests/ipc",
170
- "test:jobs": "bun test tests/jobs",
171
- "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\"",
172
- "format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,json,md}\"",
173
- "clean": "rm -rf dist"
174
- },
175
- "dependencies": {
176
- "@elysiajs/cors": "^1.4.0",
177
- "@elysiajs/swagger": "^1.3.1",
178
- "@paralleldrive/cuid2": "^3.0.4",
179
- "@react-email/components": "^1.0.2",
180
- "@trpc/server": "^11.8.1",
181
- "archiver": "^7.0.1",
182
- "better-auth": "^1.0.0",
183
- "better-sqlite3": "^12.5.0",
184
- "elysia": "^1.4.19",
185
- "jose": "^6.1.3",
186
- "linqts": "^3.2.0",
187
- "nodemailer": "^7.0.12",
188
- "otpauth": "^9.4.1",
189
- "react": "^19.2.3",
190
- "react-dom": "^19.2.3",
191
- "react-email": "^5.1.0",
192
- "reflect-metadata": "^0.2.2",
193
- "safe-memory-cache": "^3.0.0",
194
- "stream-json": "^1.9.1",
195
- "unzipper": "^0.12.3",
196
- "vitest": "^4.0.16",
197
- "zod": "^4.2.1"
198
- },
199
- "devDependencies": {
200
- "@types/archiver": "^7.0.0",
201
- "@types/better-sqlite3": "^7.6.13",
202
- "@types/bun": "latest",
203
- "@types/nodemailer": "^7.0.4",
204
- "@types/react": "^19.0.0",
205
- "@types/react-dom": "^19.0.0",
206
- "@types/unzipper": "^0.10.11",
207
- "ts-morph": "^27.0.2",
208
- "typescript": "^5.0.0"
209
- }
210
- }
1
+ {
2
+ "name": "@archlast/server",
3
+ "version": "0.1.8",
4
+ "description": "Archlast server library exports and Docker templates",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/algochad/archlast-sync.git"
9
+ },
10
+ "main": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js",
16
+ "default": "./dist/index.js"
17
+ },
18
+ "./functions/definition": {
19
+ "types": "./dist/functions/definition.d.ts",
20
+ "import": "./dist/functions/definition.js",
21
+ "default": "./dist/functions/definition.js"
22
+ },
23
+ "./functions/types": {
24
+ "types": "./dist/functions/types.d.ts",
25
+ "import": "./dist/functions/types.js",
26
+ "default": "./dist/functions/types.js"
27
+ },
28
+ "./schema/definition": {
29
+ "types": "./dist/schema/definition.d.ts",
30
+ "import": "./dist/schema/definition.js",
31
+ "default": "./dist/schema/definition.js"
32
+ },
33
+ "./schema/validators": {
34
+ "types": "./dist/schema/validators.d.ts",
35
+ "import": "./dist/schema/validators.js",
36
+ "default": "./dist/schema/validators.js"
37
+ },
38
+ "./db/interfaces": {
39
+ "types": "./dist/db/interfaces.d.ts",
40
+ "import": "./dist/db/interfaces.js",
41
+ "default": "./dist/db/interfaces.js"
42
+ },
43
+ "./auth/interfaces": {
44
+ "types": "./dist/auth/interfaces.d.ts",
45
+ "import": "./dist/auth/interfaces.js",
46
+ "default": "./dist/auth/interfaces.js"
47
+ },
48
+ "./repository/interfaces": {
49
+ "types": "./dist/repository/interfaces.d.ts",
50
+ "import": "./dist/repository/interfaces.js",
51
+ "default": "./dist/repository/interfaces.js"
52
+ },
53
+ "./repository/factory": {
54
+ "types": "./dist/repository/factory.d.ts",
55
+ "import": "./dist/repository/factory.js",
56
+ "default": "./dist/repository/factory.js"
57
+ },
58
+ "./jobs/scheduler": {
59
+ "types": "./dist/jobs/scheduler.d.ts",
60
+ "import": "./dist/jobs/scheduler.js",
61
+ "default": "./dist/jobs/scheduler.js"
62
+ },
63
+ "./jobs/queue": {
64
+ "types": "./dist/jobs/queue.d.ts",
65
+ "import": "./dist/jobs/queue.js",
66
+ "default": "./dist/jobs/queue.js"
67
+ },
68
+ "./jobs": {
69
+ "types": "./dist/jobs/index.d.ts",
70
+ "import": "./dist/jobs/index.js",
71
+ "default": "./dist/jobs/index.js"
72
+ },
73
+ "./storage/types": {
74
+ "types": "./dist/storage/types.d.ts",
75
+ "import": "./dist/storage/types.js",
76
+ "default": "./dist/storage/types.js"
77
+ },
78
+ "./logging/logger": {
79
+ "types": "./dist/logging/logger.d.ts",
80
+ "import": "./dist/logging/logger.js",
81
+ "default": "./dist/logging/logger.js"
82
+ },
83
+ "./context": {
84
+ "types": "./dist/context.d.ts",
85
+ "import": "./dist/context.js",
86
+ "default": "./dist/context.js"
87
+ },
88
+ "./jobs/scheduler-client": {
89
+ "types": "./dist/jobs/scheduler.d.ts",
90
+ "import": "./dist/jobs/scheduler.js",
91
+ "default": "./dist/jobs/scheduler.js"
92
+ },
93
+ "./di/decorators": {
94
+ "types": "./dist/di/decorators.d.ts",
95
+ "import": "./dist/di/decorators.js",
96
+ "default": "./dist/di/decorators.js"
97
+ },
98
+ "./di/container": {
99
+ "types": "./dist/di/container.d.ts",
100
+ "import": "./dist/di/container.js",
101
+ "default": "./dist/di/container.js"
102
+ },
103
+ "./webhook/guard": {
104
+ "types": "./dist/webhook/guard.d.ts",
105
+ "import": "./dist/webhook/guard.js",
106
+ "default": "./dist/webhook/guard.js"
107
+ },
108
+ "./webhook/verifier": {
109
+ "types": "./dist/webhook/verifier.d.ts",
110
+ "import": "./dist/webhook/verifier.js",
111
+ "default": "./dist/webhook/verifier.js"
112
+ },
113
+ "./http/definition": {
114
+ "types": "./dist/http/definition.d.ts",
115
+ "import": "./dist/http/definition.js",
116
+ "default": "./dist/http/definition.js"
117
+ },
118
+ "./http/router": {
119
+ "types": "./dist/http/router.d.ts",
120
+ "import": "./dist/http/router.js",
121
+ "default": "./dist/http/router.js"
122
+ },
123
+ "./http": {
124
+ "types": "./dist/http/index.d.ts",
125
+ "import": "./dist/http/index.js",
126
+ "default": "./dist/http/index.js"
127
+ },
128
+ "./webhook": {
129
+ "types": "./dist/webhook/index.d.ts",
130
+ "import": "./dist/webhook/index.js",
131
+ "default": "./dist/webhook/index.js"
132
+ },
133
+ "./webhook/definition": {
134
+ "types": "./dist/webhook/definition.d.ts",
135
+ "import": "./dist/webhook/definition.js",
136
+ "default": "./dist/webhook/definition.js"
137
+ },
138
+ "./docker": {
139
+ "types": "./dist/docker/index.d.ts",
140
+ "import": "./dist/docker/index.js",
141
+ "default": "./dist/docker/index.js"
142
+ }
143
+ },
144
+ "files": [
145
+ "dist",
146
+ "templates",
147
+ "docker",
148
+ "scripts/postinstall.js",
149
+ "README.md",
150
+ "LICENSE"
151
+ ],
152
+ "archlast": {
153
+ "dockerImage": "algochad/archlast-server",
154
+ "defaultTag": "latest",
155
+ "minDockerVersion": "24.0.0"
156
+ },
157
+ "scripts": {
158
+ "build": "bun run build:library && bun run build:startup",
159
+ "build:library": "tsc",
160
+ "build:startup": "bun build startup.ts --outdir dist --target node --format esm",
161
+ "build:types": "tsc --emitDeclarationOnly --declaration",
162
+ "typecheck": "tsc --noEmit",
163
+ "start": "bun dist/startup.js",
164
+ "dev": "bun startup.ts",
165
+ "postinstall": "node scripts/postinstall.js",
166
+ "test": "bun test tests",
167
+ "test:cache": "bun test tests/cache",
168
+ "test:repository": "bun test tests/repository",
169
+ "test:ipc": "bun test tests/ipc",
170
+ "test:jobs": "bun test tests/jobs",
171
+ "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\"",
172
+ "format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,json,md}\"",
173
+ "clean": "rm -rf dist"
174
+ },
175
+ "dependencies": {
176
+ "@elysiajs/cors": "^1.4.0",
177
+ "@elysiajs/swagger": "^1.3.1",
178
+ "@paralleldrive/cuid2": "^3.0.4",
179
+ "@react-email/components": "^1.0.2",
180
+ "@trpc/server": "^11.8.1",
181
+ "archiver": "^7.0.1",
182
+ "better-auth": "^1.0.0",
183
+ "better-sqlite3": "^12.5.0",
184
+ "elysia": "^1.4.19",
185
+ "jose": "^6.1.3",
186
+ "linqts": "^3.2.0",
187
+ "nodemailer": "^7.0.12",
188
+ "otpauth": "^9.4.1",
189
+ "react": "^19.2.3",
190
+ "react-dom": "^19.2.3",
191
+ "react-email": "^5.1.0",
192
+ "reflect-metadata": "^0.2.2",
193
+ "safe-memory-cache": "^3.0.0",
194
+ "stream-json": "^1.9.1",
195
+ "unzipper": "^0.12.3",
196
+ "vitest": "^4.0.16",
197
+ "zod": "^4.2.1"
198
+ },
199
+ "devDependencies": {
200
+ "@types/archiver": "^7.0.0",
201
+ "@types/better-sqlite3": "^7.6.13",
202
+ "@types/bun": "latest",
203
+ "@types/nodemailer": "^7.0.4",
204
+ "@types/react": "^19.0.0",
205
+ "@types/react-dom": "^19.0.0",
206
+ "@types/unzipper": "^0.10.11",
207
+ "ts-morph": "^27.0.2",
208
+ "typescript": "^5.0.0"
209
+ }
210
+ }
@@ -1,55 +1,55 @@
1
- # Archlast Docker runtime configuration
2
-
3
- # Server
4
- PORT=4000
5
- ARCHLAST_PORT=4000
6
- NODE_ENV=development
7
-
8
- # CORS
9
- ARCHLAST_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001,http://localhost:4001
10
- ARCHLAST_CORS_ALLOW_CREDENTIALS=true
11
-
12
- # Data root
13
- ARCHLAST_DB_ROOT=/data
14
- STORAGE_ROOT=/data/storage
15
- STORAGE_SIGNING_SECRET=dev-secret
16
-
17
- # Document store connection
18
- ARCHLAST_STORE_HOST=127.0.0.1
19
- ARCHLAST_STORE_PORT=7001
20
- ARCHLAST_STORE_SECRET=
21
- ARCHLAST_STORE_FINGERPRINT=
22
- ARCHLAST_STORE_CA_PATH=
23
- ARCHLAST_STORE_NO_TLS=false
24
- ARCHLAST_STORE_AUTH_TIMEOUT=2000
25
-
26
- # Dashboard
27
- ARCHLAST_DASHBOARD_PORT=4001
28
- ARCHLAST_DASHBOARD_URL=
29
-
30
- # Admin authentication
31
- ARCHLAST_ADMIN_TOKEN=
32
- ARCHLAST_ADMIN_USERNAME=admin
33
- ARCHLAST_ADMIN_PASSWORD=change-me
34
- ARCHLAST_PROVISIONING_SECRET=
35
-
36
- # Auth system
37
- ARCHLAST_AUTH_TOKEN_PEPPER=
38
-
39
- # S3 storage (optional)
40
- S3_ENABLED=false
41
- S3_BUCKET=
42
- S3_REGION=
43
- AWS_ACCESS_KEY_ID=
44
- AWS_SECRET_ACCESS_KEY=
45
-
46
- # Deploy authentication
47
- ARCHLAST_DEPLOY_AUTH_REQUIRED=false
48
-
49
- # Development
50
- IS_DEV=true
51
-
52
- # Docker metadata
53
- ARCHLAST_VERSION=latest
54
- ARCHLAST_CONTAINER_NAME=archlast-server
55
- ARCHLAST_DATA_VOLUME=archlast-data
1
+ # Archlast Docker runtime configuration
2
+
3
+ # Server
4
+ PORT=4000
5
+ ARCHLAST_PORT=4000
6
+ NODE_ENV=development
7
+
8
+ # CORS
9
+ ARCHLAST_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001,http://localhost:4001
10
+ ARCHLAST_CORS_ALLOW_CREDENTIALS=true
11
+
12
+ # Data root
13
+ ARCHLAST_DB_ROOT=/data
14
+ STORAGE_ROOT=/data/storage
15
+ STORAGE_SIGNING_SECRET=dev-secret
16
+
17
+ # Document store connection
18
+ ARCHLAST_STORE_HOST=127.0.0.1
19
+ ARCHLAST_STORE_PORT=7001
20
+ ARCHLAST_STORE_SECRET=
21
+ ARCHLAST_STORE_FINGERPRINT=
22
+ ARCHLAST_STORE_CA_PATH=
23
+ ARCHLAST_STORE_NO_TLS=false
24
+ ARCHLAST_STORE_AUTH_TIMEOUT=2000
25
+
26
+ # Dashboard
27
+ ARCHLAST_DASHBOARD_PORT=4001
28
+ ARCHLAST_DASHBOARD_URL=
29
+
30
+ # Admin authentication
31
+ ARCHLAST_ADMIN_TOKEN=
32
+ ARCHLAST_ADMIN_USERNAME=admin
33
+ ARCHLAST_ADMIN_PASSWORD=change-me
34
+ ARCHLAST_PROVISIONING_SECRET=
35
+
36
+ # Auth system
37
+ ARCHLAST_AUTH_TOKEN_PEPPER=
38
+
39
+ # S3 storage (optional)
40
+ S3_ENABLED=false
41
+ S3_BUCKET=
42
+ S3_REGION=
43
+ AWS_ACCESS_KEY_ID=
44
+ AWS_SECRET_ACCESS_KEY=
45
+
46
+ # Deploy authentication
47
+ ARCHLAST_DEPLOY_AUTH_REQUIRED=false
48
+
49
+ # Development
50
+ IS_DEV=true
51
+
52
+ # Docker metadata
53
+ ARCHLAST_VERSION=latest
54
+ ARCHLAST_CONTAINER_NAME=archlast-server
55
+ ARCHLAST_DATA_VOLUME=archlast-data
@@ -1,36 +1,37 @@
1
- // Archlast configuration template.
2
- // Values here can be overridden by environment variables or CLI flags.
3
-
4
- module.exports = {
5
- server: {
6
- // Port for the Archlast HTTP API.
7
- port: 4000,
8
- },
9
- docker: {
10
- // Docker image to run.
11
- image: "algochad/archlast-server",
12
- tag: "latest",
13
- containerName: "archlast-server",
14
- volumeName: "archlast-data",
15
- },
16
- paths: {
17
- // Local folders mounted into the container.
18
- config: ".archlast/config",
19
- deploy: ".archlast-deploy",
20
- },
21
- cors: {
22
- // Allowed origins for browser clients.
23
- origins: ["http://localhost:3000", "http://localhost:3001", "http://localhost:4001"],
24
- },
25
- env: {
26
- // Environment variables passed to the container.
27
- PORT: "4000",
28
- ARCHLAST_PORT: "4000",
29
- ARCHLAST_DB_ROOT: "/data",
30
- STORAGE_ROOT: "/data/storage",
31
- ARCHLAST_ALLOWED_ORIGINS: "http://localhost:3000,http://localhost:3001,http://localhost:4001",
32
- ARCHLAST_STORE_PORT: "7001",
33
- ARCHLAST_STORE_NO_TLS: "false",
34
- ARCHLAST_DASHBOARD_PORT: "4001",
35
- },
36
- };
1
+ // Archlast configuration template.
2
+ // Values here can be overridden by environment variables or CLI flags.
3
+
4
+ module.exports = {
5
+ server: {
6
+ // Port for the Archlast HTTP API.
7
+ port: 4000,
8
+ },
9
+ docker: {
10
+ // Docker image to run.
11
+ image: "algochad/archlast-server",
12
+ tag: "latest",
13
+ containerName: "archlast-server",
14
+ volumeName: "archlast-data",
15
+ restartOnDeploy: true,
16
+ },
17
+ paths: {
18
+ // Local folders mounted into the container.
19
+ config: ".archlast/config",
20
+ deploy: ".archlast-deploy",
21
+ },
22
+ cors: {
23
+ // Allowed origins for browser clients.
24
+ origins: ["http://localhost:3000", "http://localhost:3001", "http://localhost:4001"],
25
+ },
26
+ env: {
27
+ // Environment variables passed to the container.
28
+ PORT: "4000",
29
+ ARCHLAST_PORT: "4000",
30
+ ARCHLAST_DB_ROOT: "/data",
31
+ STORAGE_ROOT: "/data/storage",
32
+ ARCHLAST_ALLOWED_ORIGINS: "http://localhost:3000,http://localhost:3001,http://localhost:4001",
33
+ ARCHLAST_STORE_PORT: "7001",
34
+ ARCHLAST_STORE_NO_TLS: "false",
35
+ ARCHLAST_DASHBOARD_PORT: "4001",
36
+ },
37
+ };
@@ -1,8 +1,8 @@
1
- version: "3.8"
2
-
3
- services:
4
- archlast:
5
- environment:
6
- - NODE_ENV=development
7
- - IS_DEV=true
8
- - ARCHLAST_ALLOWED_ORIGINS=${ARCHLAST_ALLOWED_ORIGINS:-http://localhost:3000,http://localhost:3001,http://localhost:4001}
1
+ version: "3.8"
2
+
3
+ services:
4
+ archlast:
5
+ environment:
6
+ - NODE_ENV=development
7
+ - IS_DEV=true
8
+ - ARCHLAST_ALLOWED_ORIGINS=${ARCHLAST_ALLOWED_ORIGINS:-http://localhost:3000,http://localhost:3001,http://localhost:4001}