@wocker/ws 1.0.23 → 1.0.25

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 (110) hide show
  1. package/lib/AppModule.js +14 -25
  2. package/lib/controllers/DebugController.d.ts +1 -2
  3. package/lib/controllers/DebugController.js +4 -6
  4. package/lib/controllers/ExperimentalController.d.ts +1 -1
  5. package/lib/controllers/ExperimentalController.js +1 -2
  6. package/lib/controllers/PluginController.d.ts +1 -1
  7. package/lib/controllers/PluginController.js +1 -2
  8. package/lib/controllers/ProjectController.d.ts +7 -11
  9. package/lib/controllers/ProjectController.js +63 -217
  10. package/lib/controllers/index.d.ts +0 -1
  11. package/lib/controllers/index.js +0 -1
  12. package/lib/env.d.ts +2 -2
  13. package/lib/env.js +5 -5
  14. package/lib/main.js +4 -8
  15. package/lib/makes/index.d.ts +0 -1
  16. package/lib/makes/index.js +0 -1
  17. package/lib/modules/core/index.d.ts +2 -0
  18. package/lib/modules/core/index.js +45 -0
  19. package/lib/modules/docker/index.d.ts +3 -2
  20. package/lib/modules/docker/index.js +9 -5
  21. package/lib/modules/docker/services/ComposeService.d.ts +32 -0
  22. package/lib/modules/docker/services/ComposeService.js +129 -0
  23. package/lib/modules/docker/services/DockerService.d.ts +2 -2
  24. package/lib/modules/docker/services/DockerService.js +7 -29
  25. package/lib/modules/docker/services/ImageService.d.ts +2 -8
  26. package/lib/modules/docker/services/ImageService.js +15 -3
  27. package/lib/modules/docker/services/ModemService.d.ts +4 -2
  28. package/lib/modules/docker/services/ModemService.js +25 -5
  29. package/lib/modules/docker/services/ProtoService.js +2 -2
  30. package/lib/modules/docker/type/ComposeConfig.d.ts +12 -0
  31. package/lib/modules/docker/type/ComposeConfig.js +2 -0
  32. package/lib/modules/index.d.ts +3 -0
  33. package/lib/modules/index.js +3 -0
  34. package/lib/modules/keystore/controllers/KeystoreController.d.ts +1 -1
  35. package/lib/modules/keystore/controllers/KeystoreController.js +1 -2
  36. package/lib/modules/keystore/providers/FileKeystoreProvider.d.ts +3 -4
  37. package/lib/modules/keystore/providers/FileKeystoreProvider.js +4 -5
  38. package/lib/modules/keystore/services/KeystoreService.d.ts +3 -3
  39. package/lib/modules/keystore/services/KeystoreService.js +7 -6
  40. package/lib/modules/preset/controllers/PresetController.d.ts +18 -0
  41. package/lib/modules/preset/controllers/PresetController.js +158 -0
  42. package/lib/modules/preset/controllers/PresetListener.d.ts +15 -0
  43. package/lib/modules/preset/controllers/PresetListener.js +143 -0
  44. package/lib/modules/preset/index.d.ts +5 -0
  45. package/lib/modules/preset/index.js +39 -0
  46. package/lib/modules/preset/repositories/PresetRepository.d.ts +16 -0
  47. package/lib/{repositories → modules/preset/repositories}/PresetRepository.js +9 -11
  48. package/lib/{services → modules/preset/services}/PresetService.d.ts +4 -12
  49. package/lib/{services → modules/preset/services}/PresetService.js +31 -26
  50. package/lib/modules/project/controllers/ProjectController.d.ts +14 -0
  51. package/lib/modules/project/controllers/ProjectController.js +143 -0
  52. package/lib/modules/project/index.d.ts +5 -0
  53. package/lib/modules/project/index.js +39 -0
  54. package/lib/modules/project/repositories/ProjectRepository.d.ts +13 -0
  55. package/lib/modules/project/repositories/ProjectRepository.js +90 -0
  56. package/lib/modules/project/services/ProjectService.d.ts +25 -0
  57. package/lib/modules/project/services/ProjectService.js +253 -0
  58. package/lib/modules/proxy/controllers/CertController.d.ts +1 -1
  59. package/lib/modules/proxy/controllers/CertController.js +2 -2
  60. package/lib/modules/proxy/controllers/ProxyController.d.ts +4 -6
  61. package/lib/modules/proxy/controllers/ProxyController.js +9 -11
  62. package/lib/modules/proxy/index.js +3 -1
  63. package/lib/modules/proxy/services/CertService.d.ts +3 -4
  64. package/lib/modules/proxy/services/CertService.js +5 -6
  65. package/lib/modules/proxy/services/ProxyService.d.ts +3 -3
  66. package/lib/modules/proxy/services/ProxyService.js +18 -18
  67. package/lib/services/PluginService.d.ts +1 -3
  68. package/lib/services/PluginService.js +9 -13
  69. package/lib/utils/index.d.ts +0 -1
  70. package/lib/utils/index.js +0 -1
  71. package/package.json +7 -6
  72. package/lib/controllers/PresetController.d.ts +0 -27
  73. package/lib/controllers/PresetController.js +0 -364
  74. package/lib/makes/Logger.d.ts +0 -9
  75. package/lib/makes/Logger.js +0 -34
  76. package/lib/modules/app/index.d.ts +0 -2
  77. package/lib/modules/app/index.js +0 -16
  78. package/lib/repositories/PresetRepository.d.ts +0 -23
  79. package/lib/repositories/index.d.ts +0 -1
  80. package/lib/repositories/index.js +0 -17
  81. package/lib/services/AppConfigService.d.ts +0 -24
  82. package/lib/services/AppConfigService.js +0 -154
  83. package/lib/services/AppEventsService.d.ts +0 -9
  84. package/lib/services/AppEventsService.js +0 -43
  85. package/lib/services/LogService.d.ts +0 -15
  86. package/lib/services/LogService.js +0 -67
  87. package/lib/services/ProjectService.d.ts +0 -27
  88. package/lib/services/ProjectService.js +0 -206
  89. package/lib/utils/followProgress2.d.ts +0 -1
  90. package/lib/utils/followProgress2.js +0 -63
  91. package/plugins/proxmox/Dockerfile +0 -35
  92. package/plugins/proxy/Dockerfile +0 -25
  93. package/plugins/proxy/Procfile +0 -2
  94. package/plugins/proxy/bin/wocker-create-ca +0 -19
  95. package/plugins/proxy/bin/wocker-create-cert +0 -38
  96. package/plugins/proxy/bin/wocker-create-domains +0 -21
  97. package/presets/go/Dockerfile +0 -19
  98. package/presets/go/config.json +0 -14
  99. package/presets/php-fpm/Dockerfile +0 -173
  100. package/presets/php-fpm/bin/compare-version +0 -3
  101. package/presets/php-fpm/config.json +0 -55
  102. package/presets/php-fpm/etc/nginx/sites-available/default.conf +0 -36
  103. package/presets/shopify/Dockerfile +0 -160
  104. package/presets/shopify/bin/compare-version +0 -3
  105. package/presets/shopify/config.json +0 -26
  106. package/presets/shopify/etc/apache2/apache2.conf +0 -230
  107. package/presets/shopify/etc/apache2/mods-available/mpm_prefork.conf +0 -16
  108. package/presets/shopify/etc/apache2/sites-available/000-default.conf +0 -21
  109. package/proto/buildkit.proto +0 -55
  110. package/proto/solver/pb/ops.proto +0 -443
@@ -1,43 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.AppEventsService = void 0;
10
- const core_1 = require("@wocker/core");
11
- let AppEventsService = class AppEventsService extends core_1.AppEventsService {
12
- constructor() {
13
- super(...arguments);
14
- this.handles = {};
15
- }
16
- on(event, handle) {
17
- if (!this.handles[event]) {
18
- this.handles[event] = new Set();
19
- }
20
- this.handles[event].add(handle);
21
- return () => {
22
- this.off(event, handle);
23
- };
24
- }
25
- off(event, handle) {
26
- if (!this.handles[event]) {
27
- return;
28
- }
29
- this.handles[event].delete(handle);
30
- }
31
- async emit(event, ...args) {
32
- if (!this.handles[event]) {
33
- return;
34
- }
35
- for (const handle of this.handles[event].values()) {
36
- await handle(...args);
37
- }
38
- }
39
- };
40
- exports.AppEventsService = AppEventsService;
41
- exports.AppEventsService = AppEventsService = __decorate([
42
- (0, core_1.Injectable)("APP_EVENTS_SERVICE")
43
- ], AppEventsService);
@@ -1,15 +0,0 @@
1
- import { FileSystem, LogService as CoreLogService } from "@wocker/core";
2
- import { AppConfigService } from "./AppConfigService";
3
- export declare class LogService extends CoreLogService {
4
- protected readonly appConfigService: AppConfigService;
5
- constructor(appConfigService: AppConfigService);
6
- protected get fs(): FileSystem;
7
- protected get logName(): string;
8
- debug(...data: any[]): void;
9
- log(...data: any[]): void;
10
- info(...data: any[]): void;
11
- warn(...data: any[]): void;
12
- error(...data: any[]): void;
13
- clear(): void;
14
- protected _log(type: string, ...data: any[]): void;
15
- }
@@ -1,67 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.LogService = void 0;
16
- const core_1 = require("@wocker/core");
17
- const format_1 = __importDefault(require("date-fns/format"));
18
- const makes_1 = require("../makes");
19
- const AppConfigService_1 = require("./AppConfigService");
20
- let LogService = class LogService extends core_1.LogService {
21
- constructor(appConfigService) {
22
- super();
23
- this.appConfigService = appConfigService;
24
- makes_1.Logger.install(this);
25
- }
26
- get fs() {
27
- return this.appConfigService.fs;
28
- }
29
- get logName() {
30
- return "ws.log";
31
- }
32
- debug(...data) {
33
- this._log("debug", ...data);
34
- }
35
- log(...data) {
36
- this._log("log", ...data);
37
- }
38
- info(...data) {
39
- this._log("info", ...data);
40
- }
41
- warn(...data) {
42
- this._log("warn", ...data);
43
- }
44
- error(...data) {
45
- this._log("error", ...data);
46
- }
47
- clear() {
48
- this.fs.writeFile(this.logName, "");
49
- }
50
- _log(type, ...data) {
51
- if (type === "debug" && !this.appConfigService.config.debug) {
52
- return;
53
- }
54
- const time = (0, format_1.default)(new Date(), "yyyy-MM-dd HH:mm:ss"), logData = data.map((item) => {
55
- return typeof item !== "string" ? JSON.stringify(item) : item;
56
- }).join(" ");
57
- if (!this.fs.exists(this.logName)) {
58
- this.fs.writeFile(this.logName, "");
59
- }
60
- this.fs.appendFile(this.logName, `[${time}] ${type}: ${logData}\n`);
61
- }
62
- };
63
- exports.LogService = LogService;
64
- exports.LogService = LogService = __decorate([
65
- (0, core_1.Injectable)("LOG_SERVICE"),
66
- __metadata("design:paramtypes", [AppConfigService_1.AppConfigService])
67
- ], LogService);
@@ -1,27 +0,0 @@
1
- import { Project, ProjectProperties } from "@wocker/core";
2
- import { DockerService } from "../modules/docker";
3
- import { KeystoreService } from "../modules/keystore";
4
- import { AppConfigService } from "./AppConfigService";
5
- import { AppEventsService } from "./AppEventsService";
6
- type SearchParams = Partial<{
7
- name: string;
8
- path: string;
9
- }>;
10
- export declare class ProjectService {
11
- protected readonly appConfigService: AppConfigService;
12
- protected readonly appEventsService: AppEventsService;
13
- protected readonly keystoreService: KeystoreService;
14
- protected readonly dockerService: DockerService;
15
- constructor(appConfigService: AppConfigService, appEventsService: AppEventsService, keystoreService: KeystoreService, dockerService: DockerService);
16
- fromObject(data: Partial<ProjectProperties>): Project;
17
- get(name?: string): Project;
18
- getById(id: string): Project;
19
- cdProject(name: string): void;
20
- start(project: Project, restart?: boolean, rebuild?: boolean): Promise<void>;
21
- stop(project: Project): Promise<void>;
22
- save(project: Project): void;
23
- search(params?: Partial<SearchParams>): Project[];
24
- searchOne(params?: Partial<SearchParams>): Project | null;
25
- logs(detach?: boolean): Promise<void>;
26
- }
27
- export {};
@@ -1,206 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ProjectService = void 0;
13
- const core_1 = require("@wocker/core");
14
- const docker_1 = require("../modules/docker");
15
- const keystore_1 = require("../modules/keystore");
16
- const AppConfigService_1 = require("./AppConfigService");
17
- const AppEventsService_1 = require("./AppEventsService");
18
- let ProjectService = class ProjectService {
19
- constructor(appConfigService, appEventsService, keystoreService, dockerService) {
20
- this.appConfigService = appConfigService;
21
- this.appEventsService = appEventsService;
22
- this.keystoreService = keystoreService;
23
- this.dockerService = dockerService;
24
- }
25
- fromObject(data) {
26
- const _this = this;
27
- return new class extends core_1.Project {
28
- constructor(data) {
29
- super(data);
30
- }
31
- async getSecret(key, defaultValue) {
32
- return _this.keystoreService.get(`p:${this.name}:${key}`, defaultValue);
33
- }
34
- async setSecret(key, value) {
35
- return _this.keystoreService.set(`p:${this.name}:${key}`, value);
36
- }
37
- save() {
38
- _this.save(this);
39
- }
40
- }(data);
41
- }
42
- get(name) {
43
- const project = name
44
- ? this.searchOne({ name })
45
- : this.searchOne({
46
- path: this.appConfigService.pwd()
47
- });
48
- if (!project) {
49
- throw new Error("Project not found");
50
- }
51
- if (name) {
52
- this.appConfigService.setPWD(project.path);
53
- }
54
- return project;
55
- }
56
- getById(id) {
57
- const projectData = this.appConfigService.config.getProject(id);
58
- const data = this.appConfigService.fs.readJSON("projects", id, "config.json");
59
- return this.fromObject({
60
- ...data,
61
- path: projectData.path
62
- });
63
- }
64
- cdProject(name) {
65
- const project = this.searchOne({
66
- name
67
- });
68
- if (!project) {
69
- throw new Error("Project not found");
70
- }
71
- this.appConfigService.setPWD(project.path);
72
- }
73
- async start(project, restart, rebuild) {
74
- let container = await this.dockerService.getContainer(project.containerName);
75
- if (container && (restart || rebuild)) {
76
- container = null;
77
- await this.appEventsService.emit("project:stop", project);
78
- await this.dockerService.removeContainer(project.containerName);
79
- }
80
- if (!container) {
81
- if (project.type === core_1.PROJECT_TYPE_DOCKERFILE) {
82
- project.imageName = `project-${project.name}:develop`;
83
- if (rebuild) {
84
- await this.dockerService.imageRm(project.imageName);
85
- }
86
- const images = await this.dockerService.imageLs({
87
- tag: project.imageName
88
- });
89
- if (images.length === 0) {
90
- await this.dockerService.buildImage({
91
- tag: project.imageName,
92
- buildArgs: project.buildArgs,
93
- context: this.appConfigService.pwd(),
94
- src: project.dockerfile
95
- });
96
- }
97
- }
98
- if (rebuild) {
99
- await this.appEventsService.emit("project:rebuild", project);
100
- }
101
- await this.appEventsService.emit("project:beforeStart", project);
102
- const config = this.appConfigService.getConfig();
103
- container = await this.dockerService.createContainer({
104
- name: project.containerName,
105
- image: project.imageName,
106
- env: {
107
- ...config.env || {},
108
- ...project.env || {}
109
- },
110
- ports: project.ports || [],
111
- volumes: (project.volumes || []).map((volume) => {
112
- const regVolume = /^([^:]+):([^:]+)(?::([^:]+))?$/;
113
- const [, source, destination, options] = regVolume.exec(volume);
114
- if (source.startsWith("/")) {
115
- return volume;
116
- }
117
- return `${this.appConfigService.pwd(source)}:${destination}` + (options ? `:${options}` : "");
118
- }),
119
- extraHosts: Object.keys(project.extraHosts || {}).map((host) => {
120
- return `${project.extraHosts[host]}:${host}`;
121
- })
122
- });
123
- }
124
- const { State: { Status } } = await container.inspect();
125
- if (Status === "created" || Status === "exited") {
126
- await container.start();
127
- }
128
- await this.appEventsService.emit("project:start", project);
129
- }
130
- async stop(project) {
131
- const container = await this.dockerService.getContainer(project.containerName);
132
- if (!container) {
133
- return;
134
- }
135
- await this.appEventsService.emit("project:stop", project);
136
- await this.dockerService.removeContainer(project.containerName);
137
- }
138
- save(project) {
139
- if (!project.name) {
140
- throw new Error("Project should has a name");
141
- }
142
- if (!project.path) {
143
- throw new Error("Project should has a path");
144
- }
145
- if (!project.id) {
146
- project.id = project.name;
147
- }
148
- if (!this.appConfigService.fs.exists(`projects/${project.id}`)) {
149
- this.appConfigService.fs.mkdir(`projects/${project.id}`, {
150
- recursive: true
151
- });
152
- }
153
- const { path, ...rest } = project.toJSON();
154
- this.appConfigService.addProject(project.id, project.name, path);
155
- this.appConfigService.fs.writeJSON(`projects/${project.id}/config.json`, rest);
156
- this.appConfigService.save();
157
- }
158
- search(params = {}) {
159
- const { name, path } = params;
160
- const projects = [];
161
- for (const projectRef of this.appConfigService.projects || []) {
162
- if (name && projectRef.name !== name) {
163
- continue;
164
- }
165
- if (path && projectRef.path !== path) {
166
- continue;
167
- }
168
- const project = this.getById(projectRef.name);
169
- if (name && project.name !== name) {
170
- continue;
171
- }
172
- projects.push(project);
173
- }
174
- return projects;
175
- }
176
- searchOne(params = {}) {
177
- const [project] = this.search(params);
178
- return project || null;
179
- }
180
- async logs(detach) {
181
- const project = this.get();
182
- const container = await this.dockerService.getContainer(project.containerName);
183
- if (!container) {
184
- throw new Error("Project not started");
185
- }
186
- if (!detach) {
187
- await this.dockerService.logs(container);
188
- }
189
- else {
190
- const data = await container.logs({
191
- stdout: true,
192
- stderr: true,
193
- follow: false
194
- });
195
- process.stdout.write(data);
196
- }
197
- }
198
- };
199
- exports.ProjectService = ProjectService;
200
- exports.ProjectService = ProjectService = __decorate([
201
- (0, core_1.Injectable)("PROJECT_SERVICE"),
202
- __metadata("design:paramtypes", [AppConfigService_1.AppConfigService,
203
- AppEventsService_1.AppEventsService,
204
- keystore_1.KeystoreService,
205
- docker_1.DockerService])
206
- ], ProjectService);
@@ -1 +0,0 @@
1
- export declare const followProgress2: (stream: NodeJS.ReadableStream) => Promise<void>;
@@ -1,63 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.followProgress2 = void 0;
7
- const protobufjs_1 = __importDefault(require("protobufjs"));
8
- const yoctocolors_cjs_1 = __importDefault(require("yoctocolors-cjs"));
9
- const env_1 = require("../env");
10
- const followProgress2 = async (stream) => {
11
- const root = await protobufjs_1.default.load([
12
- `${env_1.ROOT_DIR}/proto/solver/pb/ops.proto`,
13
- `${env_1.ROOT_DIR}/proto/buildkit.proto`
14
- ]);
15
- const StatusResponse = root.lookupType("moby.buildkit.v1.StatusResponse");
16
- return new Promise((resolve, reject) => {
17
- let isEnded = false;
18
- let success = 0, error = 0;
19
- const handleEnd = () => {
20
- if (!isEnded) {
21
- isEnded = true;
22
- console.log(`success: ${success} errors: ${error}`);
23
- resolve();
24
- return;
25
- }
26
- };
27
- stream.on("data", (data) => {
28
- const content = data.toString().replace(/}\s*\{/g, '},{'), items = JSON.parse(`[${content}]`);
29
- for (const item of items) {
30
- switch (item.id) {
31
- case "moby.buildkit.trace": {
32
- if (!item.aux) {
33
- break;
34
- }
35
- let buffer = Buffer.from(item.aux, "base64");
36
- try {
37
- const decoded = StatusResponse.decode(buffer);
38
- const obj = StatusResponse.toObject(decoded, {
39
- enums: String,
40
- longs: String,
41
- bytes: String,
42
- defaults: true,
43
- });
44
- console.dir(obj, { depth: null });
45
- success++;
46
- }
47
- catch (err) {
48
- error++;
49
- console.error(yoctocolors_cjs_1.default.red(`Error: ${err.message}`));
50
- }
51
- break;
52
- }
53
- default:
54
- break;
55
- }
56
- }
57
- });
58
- stream.on("end", handleEnd);
59
- stream.on("close", handleEnd);
60
- stream.on("error", reject);
61
- });
62
- };
63
- exports.followProgress2 = followProgress2;
@@ -1,35 +0,0 @@
1
- FROM debian:stable
2
-
3
- RUN apt-get update \
4
- && apt-get install -y wget
5
-
6
- RUN apt-get update && apt-get install -y gnupg
7
-
8
- RUN echo "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription" | tee /etc/apt/sources.list.d/pve-install-repo.list
9
-
10
- #RUN wget http://download.proxmox.com/debian/proxmox-release-bullseye.gpg
11
- RUN wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg
12
- RUN apt-key add proxmox-ve-release-6.x.gpg
13
-
14
- RUN echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
15
-
16
- RUN apt update
17
- RUN apt install proxmox-ve postfix open-iscsi
18
-
19
- # RUN apt remove os-prober
20
-
21
- #RUN mv proxmox-release-bullseye.gpg /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
22
-
23
- #RUN chmod +r /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
24
-
25
- #RUN apt update
26
-
27
- #RUN apt full-upgrade -y
28
-
29
- #RUN apt update
30
-
31
- #RUN echo "deb http://download.proxmox.com/debian/ceph-pacific bullseye main" | tee /etc/apt/sources.list.d/ceph.list
32
-
33
- # RUN apt-get install -y proxmox-ve postfix open-iscsi
34
-
35
- #RUN apt update
@@ -1,25 +0,0 @@
1
- FROM nginxproxy/nginx-proxy:1.6.4-alpine
2
-
3
- ARG SSH_PASSWORD=''
4
-
5
- COPY ./bin/wocker-create-ca /usr/local/bin/wocker-create-ca
6
- COPY ./bin/wocker-create-cert /usr/local/bin/wocker-create-cert
7
- COPY ./bin/wocker-create-domains /usr/local/bin/wocker-create-domains
8
-
9
- RUN chmod +x /usr/local/bin/wocker-create-ca && \
10
- chmod +x /usr/local/bin/wocker-create-cert && \
11
- chmod +x /usr/local/bin/wocker-create-domains
12
-
13
- RUN if [ -n "$SSH_PASSWORD" ]; then \
14
- apk update && apk add --no-cache openssh; \
15
- mkdir -p /var/run/sshd; \
16
- echo "root:$SSH_PASSWORD" | chpasswd; \
17
- sed -i 's/AllowTcpForwarding no/AllowTcpForwarding yes/' /etc/ssh/sshd_config; \
18
- sed -i 's/GatewayPorts no/GatewayPorts yes/' /etc/ssh/sshd_config; \
19
- sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config; \
20
- sed -i 's/#UsePAM yes/UsePAM no/' /etc/ssh/sshd_config; \
21
- ssh-keygen -A; \
22
- echo "sshd: /usr/sbin/sshd -D" >> /app/Procfile; \
23
- fi
24
-
25
- EXPOSE 22
@@ -1,2 +0,0 @@
1
- nginx: nginx -g "daemon off;"
2
- docker-gen: docker-gen -watch -config /app/docker-gen.conf
@@ -1,19 +0,0 @@
1
- #!/bin/bash
2
-
3
- CA_DIR=/etc/nginx/ca-certs
4
-
5
- if [ ! -f $CA_DIR/Wocker-CA.key ]; then
6
- mkdir -p $CA_DIR
7
-
8
- openssl req -x509 -nodes -new -sha256 \
9
- -days 1024 \
10
- -newkey rsa:2048 \
11
- -keyout $CA_DIR/Wocker-CA.key \
12
- -out $CA_DIR/Wocker-CA.pem \
13
- -subj "/C=UA/ST=Kyiv/O=Wocker/CN=Wocker-CA"
14
-
15
- openssl x509 \
16
- -outform pem \
17
- -in $CA_DIR/Wocker-CA.pem \
18
- -out $CA_DIR/Wocker-CA.crt
19
- fi
@@ -1,38 +0,0 @@
1
- #!/bin/bash
2
-
3
- if [ -z "$1" ]; then
4
- echo "Usage: $0 <name>"
5
- exit 1
6
- fi
7
-
8
- NAME=$1
9
- CA_DIR=/etc/nginx/ca-certs
10
- CERT_DIR=/etc/nginx/certs
11
- DAYS_VALID=365
12
- COUNTRY="UA"
13
- STATE="Kyiv"
14
- CITY="Kyiv"
15
- ORGANIZATION="Wocker"
16
- ORG_UNIT="Wocker"
17
- COMMON_NAME=$NAME
18
-
19
- mkdir -p $CERT_DIR
20
-
21
- openssl req \
22
- -new \
23
- -nodes \
24
- -newkey rsa:2048 \
25
- -keyout $CERT_DIR/$NAME.key \
26
- -out $CERT_DIR/$NAME.csr \
27
- -subj "/C=$COUNTRY/ST=$STATE/L=$CITY/O=$ORGANIZATION/OU=$ORG_UNIT/CN=$COMMON_NAME"
28
-
29
- openssl x509 \
30
- -req \
31
- -sha256 \
32
- -days 1024 \
33
- -in $CERT_DIR/$NAME.csr \
34
- -CA $CA_DIR/Wocker-CA.pem \
35
- -CAkey $CA_DIR/Wocker-CA.key \
36
- -CAcreateserial \
37
- -extfile $CERT_DIR/$NAME.ext \
38
- -out $CERT_DIR/$NAME.crt
@@ -1,21 +0,0 @@
1
- #!/bin/bash
2
-
3
- NAME=$1
4
- CERT_DIR=/etc/nginx/certs
5
-
6
- shift
7
-
8
- CONTENT="authorityKeyIdentifier=keyid,issuer
9
- basicConstraints=CA:FALSE
10
- keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
11
- subjectAltName = @alt_names
12
- [alt_names]"
13
-
14
- index=1
15
- for arg in "$@"; do
16
- CONTENT="$CONTENT
17
- DNS.$index = $arg"
18
- ((index++))
19
- done
20
-
21
- echo "$CONTENT" > $CERT_DIR/$NAME.ext
@@ -1,19 +0,0 @@
1
- FROM golang:latest
2
-
3
- ENV GO_RUN "go run main.go"
4
-
5
- WORKDIR /usr/app
6
-
7
- # -----
8
- RUN apt-get update
9
- RUN apt-get install -y \
10
- xvfb \
11
- libfontconfig \
12
- wkhtmltopdf
13
- # -----
14
-
15
- EXPOSE 80
16
-
17
- CMD go mod download && \
18
- # go get github.com/loov/watchrun && \
19
- ${GO_RUN}
@@ -1,14 +0,0 @@
1
- {
2
- "name": "go",
3
- "dockerfile": "./Dockerfile",
4
- "DocumentRoot": "/usr/app",
5
- "volumes": [
6
- "./:/usr/app"
7
- ],
8
- "env": {
9
- "GO_RUN": {
10
- "type": "string",
11
- "default": "go run src/main.go"
12
- }
13
- }
14
- }