Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 26 additions & 22 deletions infra/cdktf/src/stacks/docker-stack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,17 @@ export class DockerStack extends OyasaiTerraformStack {
)

const images = {
nginx: new Image(this, this.envAwareId('nginx-image'), {
name: `nginx:${directory.hashSync(join(directory.root, 'infra/nginx'))}`,
buildAttribute: {
context: join(directory.root, 'infra/nginx')
}
}),
mariadb: new Image(this, this.envAwareId('mariadb-image'), {
name: 'mariadb:10.4.28'
}),
minecraftMain: new Image(this, this.envAwareId('minecraft-main-image'), {
name: `minecraft-main-image:${directory.hashSync(
name: `minecraft-server:${directory.hashSync(
join(directory.root, 'gradle'),
join(directory.root, 'infra/minecraft-server'),
join(directory.root, 'packages/plugins'),
Expand All @@ -58,6 +64,20 @@ export class DockerStack extends OyasaiTerraformStack {
name: 'network'
})

new Container(this, this.envAwareId('nginx-container'), {
name: 'nginx',
image: images.nginx.imageId,
restart: 'unless-stopped',
networksAdvanced: [network],
ports: [
{ internal: 80, external: 80 },
{ internal: 443, external: 443 }
],
env: objectToEnv({
REDIRECT_TARGET: 'wiki.oyasai.io'
})
})

const mariadbContainer = new Container(this, this.envAwareId('mariadb-container'), {
image: images.mariadb.imageId,
name: 'mariadb',
Expand Down Expand Up @@ -92,27 +112,11 @@ export class DockerStack extends OyasaiTerraformStack {
init: true,
networksAdvanced: [network],
ports: [
{
internal: 25565,
external: 25565
},
{
internal: 19132,
external: 19132,
protocol: 'udp'
},
{
internal: 8192,
external: 8192
},
{
internal: 8100,
external: 8100
},
{
internal: 25575,
external: 25575
}
{ internal: 25565, external: 25565 },
{ internal: 19132, external: 19132, protocol: 'udp' },
{ internal: 8192, external: 8192 },
{ internal: 8100, external: 8100 },
{ internal: 25575, external: 25575 }
],
env: objectToEnv({
EULA: true,
Expand Down
5 changes: 5 additions & 0 deletions infra/nginx/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM nginx:alpine

RUN mkdir -p /etc/nginx/templates

COPY default.conf.template /etc/nginx/templates/default.conf.template
11 changes: 11 additions & 0 deletions infra/nginx/default.conf.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
server {
listen 80;
listen 443 ssl;

server_name oyasai.io www.oyasai.io;

ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;

return 301 https://${REDIRECT_TARGET}$request_uri;
}
6 changes: 3 additions & 3 deletions packages/plugins/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const local: PluginDefinition[] = [
registry.nuvotifier
]

const development: PluginDefinition[] = local.concat([
const development: PluginDefinition[] = local.concat(
registry.bkcommonlib,
registry.coreprotect,
registry.decentholograms,
Expand Down Expand Up @@ -51,8 +51,8 @@ const development: PluginDefinition[] = local.concat([
registry.worldborder,
registry.imageonmap,
registry.chestcommands
])
)

const production: PluginDefinition[] = development.concat([registry.discordsrv, registry.bluemap])
const production: PluginDefinition[] = development.concat(registry.discordsrv, registry.bluemap)

export const envAwarePlugins = { local, development, production }