separate accounts from default docker-compose
This commit is contained in:
parent
38ac0c7c8f
commit
406ec7f428
|
@ -0,0 +1,163 @@
|
||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
x-logging: &default-logging
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
webapp:
|
||||||
|
build:
|
||||||
|
args:
|
||||||
|
WITH_ACCOUNTS: 1
|
||||||
|
|
||||||
|
nginx:
|
||||||
|
volumes:
|
||||||
|
- ./docker/accounts/nginx.secure.conf:/etc/nginx/conf.extra.d/nginx.secure.conf:ro
|
||||||
|
|
||||||
|
accounts:
|
||||||
|
build:
|
||||||
|
context: ./docker/accounts
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
container_name: accounts
|
||||||
|
restart: unless-stopped
|
||||||
|
logging: *default-logging
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
- SKYNET_DB_HOST=mongo
|
||||||
|
- SKYNET_DB_PORT=27017
|
||||||
|
- SKYNET_DB_USER=${SKYNET_DB_USER}
|
||||||
|
- SKYNET_DB_PASS=${SKYNET_DB_PASS}
|
||||||
|
- COOKIE_DOMAIN=${COOKIE_DOMAIN}
|
||||||
|
- COOKIE_HASH_KEY=${COOKIE_HASH_KEY}
|
||||||
|
- COOKIE_ENC_KEY=${COOKIE_ENC_KEY}
|
||||||
|
expose:
|
||||||
|
- 3000
|
||||||
|
networks:
|
||||||
|
shared:
|
||||||
|
ipv4_address: 10.10.10.70
|
||||||
|
depends_on:
|
||||||
|
- mongo
|
||||||
|
- oathkeeper
|
||||||
|
|
||||||
|
mongo:
|
||||||
|
image: mongo:4.4.1
|
||||||
|
command: --keyFile=/data/mgkey --replSet=skynet
|
||||||
|
container_name: mongo
|
||||||
|
restart: unless-stopped
|
||||||
|
logging: *default-logging
|
||||||
|
volumes:
|
||||||
|
- ./docker/data/mongo/db:/data/db
|
||||||
|
- ./docker/data/mongo/mgkey:/data/mgkey:rw
|
||||||
|
networks:
|
||||||
|
shared:
|
||||||
|
ipv4_address: 10.10.10.71
|
||||||
|
ports:
|
||||||
|
- "27017:27017"
|
||||||
|
|
||||||
|
kratos-migrate:
|
||||||
|
image: oryd/kratos:v0.5.4-alpha.1
|
||||||
|
container_name: kratos-migrate
|
||||||
|
restart: on-failure
|
||||||
|
logging: *default-logging
|
||||||
|
environment:
|
||||||
|
- DSN=cockroach://root@cockroach:26257/defaultdb?max_conns=20&max_idle_conns=4&sslmode=verify-full&sslcert=/certs/node.crt&sslkey=/certs/node.key&sslrootcert=/certs/ca.crt
|
||||||
|
- SQA_OPT_OUT=true
|
||||||
|
volumes:
|
||||||
|
- ./docker/kratos/config:/etc/config/kratos
|
||||||
|
- ./docker/data/cockroach/sqlite:/var/lib/sqlite
|
||||||
|
- ./docker/kratos/cr_certs:/certs
|
||||||
|
command: -c /etc/config/kratos/kratos.yml migrate sql -e --yes
|
||||||
|
networks:
|
||||||
|
shared:
|
||||||
|
ipv4_address: 10.10.10.80
|
||||||
|
|
||||||
|
kratos:
|
||||||
|
image: oryd/kratos:v0.5.4-alpha.1
|
||||||
|
container_name: kratos
|
||||||
|
restart: unless-stopped
|
||||||
|
logging: *default-logging
|
||||||
|
ports:
|
||||||
|
- "4433:4433" # public
|
||||||
|
- "4434:4434" # admin
|
||||||
|
expose:
|
||||||
|
- 4433 # public
|
||||||
|
- 4434 # admin
|
||||||
|
environment:
|
||||||
|
- DSN=cockroach://root@cockroach:26257/defaultdb?max_conns=20&max_idle_conns=4&sslmode=verify-full&sslcert=/certs/node.crt&sslkey=/certs/node.key&sslrootcert=/certs/ca.crt
|
||||||
|
- LOG_LEVEL=trace
|
||||||
|
- SERVE_PUBLIC_BASE_URL=/.ory/kratos/public/
|
||||||
|
- SQA_OPT_OUT=true
|
||||||
|
command: serve -c /etc/config/kratos/kratos.yml
|
||||||
|
volumes:
|
||||||
|
- ./docker/kratos/config:/etc/config/kratos
|
||||||
|
- ./docker/data/cockroach/sqlite:/var/lib/sqlite
|
||||||
|
- ./docker/kratos/cr_certs:/certs
|
||||||
|
networks:
|
||||||
|
shared:
|
||||||
|
ipv4_address: 10.10.10.81
|
||||||
|
depends_on:
|
||||||
|
- kratos-migrate
|
||||||
|
|
||||||
|
kratos-selfservice-ui-node:
|
||||||
|
image: oryd/kratos-selfservice-ui-node:v0.5.0-alpha.1
|
||||||
|
container_name: kratos-selfservice-ui-node
|
||||||
|
restart: on-failure
|
||||||
|
logging: *default-logging
|
||||||
|
volumes:
|
||||||
|
- ./docker/kratos-selfservice-ui-node/main.hbs:/usr/src/app/views/layouts/main.hbs:ro
|
||||||
|
- ./docker/kratos-selfservice-ui-node/login.hbs:/usr/src/app/views/login.hbs:ro
|
||||||
|
- ./docker/kratos-selfservice-ui-node/dashboard.hbs:/usr/src/app/views/dashboard.hbs:ro
|
||||||
|
- ./docker/kratos-selfservice-ui-node/registration.hbs:/usr/src/app/views/registration.hbs:ro
|
||||||
|
- ./docker/kratos-selfservice-ui-node/icon_logo.hbs:/usr/src/app/views/partials/icon_logo.hbs:ro
|
||||||
|
- ./docker/kratos-selfservice-ui-node/branding.css:/usr/src/app/public/branding.css:ro
|
||||||
|
- ./docker/kratos-selfservice-ui-node/favico.png:/usr/src/app/public/favico.png:ro
|
||||||
|
environment:
|
||||||
|
- PORT=4435
|
||||||
|
- SECURITY_MODE=jwks
|
||||||
|
- PROJECT_NAME=Skynet
|
||||||
|
- BASE_URL=/
|
||||||
|
- KRATOS_BROWSER_URL=/.ory/kratos/public
|
||||||
|
- JWKS_URL=http://oathkeeper:4456/.well-known/jwks.json
|
||||||
|
- KRATOS_PUBLIC_URL=http://kratos:4433/
|
||||||
|
- KRATOS_ADMIN_URL=http://kratos:4434/
|
||||||
|
- SQA_OPT_OUT=true
|
||||||
|
networks:
|
||||||
|
shared:
|
||||||
|
ipv4_address: 10.10.10.82
|
||||||
|
|
||||||
|
oathkeeper:
|
||||||
|
image: oryd/oathkeeper:v0.38
|
||||||
|
container_name: oathkeeper
|
||||||
|
depends_on:
|
||||||
|
- kratos
|
||||||
|
expose:
|
||||||
|
- 4455
|
||||||
|
- 4456
|
||||||
|
command: serve proxy -c "/etc/config/oathkeeper/oathkeeper.yml"
|
||||||
|
environment:
|
||||||
|
- LOG_LEVEL=debug
|
||||||
|
volumes:
|
||||||
|
- ./docker/kratos/oathkeeper:/etc/config/oathkeeper
|
||||||
|
restart: on-failure
|
||||||
|
networks:
|
||||||
|
shared:
|
||||||
|
ipv4_address: 10.10.10.83
|
||||||
|
|
||||||
|
cockroach:
|
||||||
|
image: cockroachdb/cockroach:v20.2.3
|
||||||
|
container_name: cockroach
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
command: start --advertise-addr=${CR_IP} --join=${CR_CLUSTER_NODES} --certs-dir=/certs --listen-addr=0.0.0.0:26257 --http-addr=0.0.0.0:8080
|
||||||
|
volumes:
|
||||||
|
- ./docker/data/cockroach/sqlite:/cockroach/cockroach-data
|
||||||
|
- ./docker/cockroach/certs:/certs
|
||||||
|
ports:
|
||||||
|
- "4080:8080"
|
||||||
|
- "26257:26257"
|
||||||
|
networks:
|
||||||
|
shared:
|
||||||
|
ipv4_address: 10.10.10.84
|
|
@ -163,149 +163,3 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
- handshake
|
- handshake
|
||||||
- handshake-api
|
- handshake-api
|
||||||
|
|
||||||
accounts:
|
|
||||||
build:
|
|
||||||
context: ./docker/accounts
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
container_name: accounts
|
|
||||||
restart: unless-stopped
|
|
||||||
logging: *default-logging
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
environment:
|
|
||||||
- SKYNET_DB_HOST=mongo
|
|
||||||
- SKYNET_DB_PORT=27017
|
|
||||||
- SKYNET_DB_USER=${SKYNET_DB_USER}
|
|
||||||
- SKYNET_DB_PASS=${SKYNET_DB_PASS}
|
|
||||||
- COOKIE_DOMAIN=${COOKIE_DOMAIN}
|
|
||||||
- COOKIE_HASH_KEY=${COOKIE_HASH_KEY}
|
|
||||||
- COOKIE_ENC_KEY=${COOKIE_ENC_KEY}
|
|
||||||
expose:
|
|
||||||
- 3000
|
|
||||||
networks:
|
|
||||||
shared:
|
|
||||||
ipv4_address: 10.10.10.70
|
|
||||||
depends_on:
|
|
||||||
- mongo
|
|
||||||
- oathkeeper
|
|
||||||
|
|
||||||
mongo:
|
|
||||||
image: mongo:4.4.1
|
|
||||||
command: --keyFile=/data/mgkey --replSet=skynet
|
|
||||||
container_name: mongo
|
|
||||||
restart: unless-stopped
|
|
||||||
logging: *default-logging
|
|
||||||
volumes:
|
|
||||||
- ./docker/data/mongo/db:/data/db
|
|
||||||
- ./docker/data/mongo/mgkey:/data/mgkey:rw
|
|
||||||
networks:
|
|
||||||
shared:
|
|
||||||
ipv4_address: 10.10.10.71
|
|
||||||
ports:
|
|
||||||
- "27017:27017"
|
|
||||||
|
|
||||||
kratos-migrate:
|
|
||||||
image: oryd/kratos:v0.5.4-alpha.1
|
|
||||||
container_name: kratos-migrate
|
|
||||||
restart: on-failure
|
|
||||||
logging: *default-logging
|
|
||||||
environment:
|
|
||||||
- DSN=cockroach://root@cockroach:26257/defaultdb?max_conns=20&max_idle_conns=4&sslmode=verify-full&sslcert=/certs/node.crt&sslkey=/certs/node.key&sslrootcert=/certs/ca.crt
|
|
||||||
- SQA_OPT_OUT=true
|
|
||||||
volumes:
|
|
||||||
- ./docker/kratos/config:/etc/config/kratos
|
|
||||||
- ./docker/data/cockroach/sqlite:/var/lib/sqlite
|
|
||||||
- ./docker/kratos/cr_certs:/certs
|
|
||||||
command: -c /etc/config/kratos/kratos.yml migrate sql -e --yes
|
|
||||||
networks:
|
|
||||||
shared:
|
|
||||||
ipv4_address: 10.10.10.80
|
|
||||||
|
|
||||||
kratos:
|
|
||||||
image: oryd/kratos:v0.5.4-alpha.1
|
|
||||||
container_name: kratos
|
|
||||||
restart: unless-stopped
|
|
||||||
logging: *default-logging
|
|
||||||
ports:
|
|
||||||
- "4433:4433" # public
|
|
||||||
- "4434:4434" # admin
|
|
||||||
expose:
|
|
||||||
- 4433 # public
|
|
||||||
- 4434 # admin
|
|
||||||
environment:
|
|
||||||
- DSN=cockroach://root@cockroach:26257/defaultdb?max_conns=20&max_idle_conns=4&sslmode=verify-full&sslcert=/certs/node.crt&sslkey=/certs/node.key&sslrootcert=/certs/ca.crt
|
|
||||||
- LOG_LEVEL=trace
|
|
||||||
- SERVE_PUBLIC_BASE_URL=/.ory/kratos/public/
|
|
||||||
- SQA_OPT_OUT=true
|
|
||||||
command: serve -c /etc/config/kratos/kratos.yml
|
|
||||||
volumes:
|
|
||||||
- ./docker/kratos/config:/etc/config/kratos
|
|
||||||
- ./docker/data/cockroach/sqlite:/var/lib/sqlite
|
|
||||||
- ./docker/kratos/cr_certs:/certs
|
|
||||||
networks:
|
|
||||||
shared:
|
|
||||||
ipv4_address: 10.10.10.81
|
|
||||||
depends_on:
|
|
||||||
- kratos-migrate
|
|
||||||
|
|
||||||
kratos-selfservice-ui-node:
|
|
||||||
image: oryd/kratos-selfservice-ui-node:v0.5.0-alpha.1
|
|
||||||
container_name: kratos-selfservice-ui-node
|
|
||||||
restart: on-failure
|
|
||||||
logging: *default-logging
|
|
||||||
volumes:
|
|
||||||
- ./docker/kratos-selfservice-ui-node/main.hbs:/usr/src/app/views/layouts/main.hbs:ro
|
|
||||||
- ./docker/kratos-selfservice-ui-node/login.hbs:/usr/src/app/views/login.hbs:ro
|
|
||||||
- ./docker/kratos-selfservice-ui-node/dashboard.hbs:/usr/src/app/views/dashboard.hbs:ro
|
|
||||||
- ./docker/kratos-selfservice-ui-node/registration.hbs:/usr/src/app/views/registration.hbs:ro
|
|
||||||
- ./docker/kratos-selfservice-ui-node/icon_logo.hbs:/usr/src/app/views/partials/icon_logo.hbs:ro
|
|
||||||
- ./docker/kratos-selfservice-ui-node/branding.css:/usr/src/app/public/branding.css:ro
|
|
||||||
- ./docker/kratos-selfservice-ui-node/favico.png:/usr/src/app/public/favico.png:ro
|
|
||||||
environment:
|
|
||||||
- PORT=4435
|
|
||||||
- SECURITY_MODE=jwks
|
|
||||||
- PROJECT_NAME=Skynet
|
|
||||||
- BASE_URL=/
|
|
||||||
- KRATOS_BROWSER_URL=/.ory/kratos/public
|
|
||||||
- JWKS_URL=http://oathkeeper:4456/.well-known/jwks.json
|
|
||||||
- KRATOS_PUBLIC_URL=http://kratos:4433/
|
|
||||||
- KRATOS_ADMIN_URL=http://kratos:4434/
|
|
||||||
- SQA_OPT_OUT=true
|
|
||||||
networks:
|
|
||||||
shared:
|
|
||||||
ipv4_address: 10.10.10.82
|
|
||||||
|
|
||||||
oathkeeper:
|
|
||||||
image: oryd/oathkeeper:v0.38
|
|
||||||
container_name: oathkeeper
|
|
||||||
depends_on:
|
|
||||||
- kratos
|
|
||||||
expose:
|
|
||||||
- 4455
|
|
||||||
- 4456
|
|
||||||
command: serve proxy -c "/etc/config/oathkeeper/oathkeeper.yml"
|
|
||||||
environment:
|
|
||||||
- LOG_LEVEL=debug
|
|
||||||
volumes:
|
|
||||||
- ./docker/kratos/oathkeeper:/etc/config/oathkeeper
|
|
||||||
restart: on-failure
|
|
||||||
networks:
|
|
||||||
shared:
|
|
||||||
ipv4_address: 10.10.10.83
|
|
||||||
|
|
||||||
cockroach:
|
|
||||||
image: cockroachdb/cockroach:v20.2.3
|
|
||||||
container_name: cockroach
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
command: start --advertise-addr=${CR_IP} --join=${CR_CLUSTER_NODES} --certs-dir=/certs --listen-addr=0.0.0.0:26257 --http-addr=0.0.0.0:8080
|
|
||||||
volumes:
|
|
||||||
- ./docker/data/cockroach/sqlite:/cockroach/cockroach-data
|
|
||||||
- ./docker/cockroach/certs:/certs
|
|
||||||
ports:
|
|
||||||
- "4080:8080"
|
|
||||||
- "26257:26257"
|
|
||||||
networks:
|
|
||||||
shared:
|
|
||||||
ipv4_address: 10.10.10.84
|
|
||||||
|
|
|
@ -63,4 +63,5 @@ http {
|
||||||
#gzip on;
|
#gzip on;
|
||||||
|
|
||||||
include /etc/nginx/conf.d/*.conf;
|
include /etc/nginx/conf.d/*.conf;
|
||||||
|
include /etc/nginx/conf.extra.d/*.conf;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,12 +4,16 @@ RUN apk add --no-cache autoconf automake libtool gcc make g++ zlib-dev file nasm
|
||||||
|
|
||||||
WORKDIR /usr/app
|
WORKDIR /usr/app
|
||||||
|
|
||||||
|
ARG WITH_ACCOUNTS=0
|
||||||
|
|
||||||
COPY src ./src
|
COPY src ./src
|
||||||
COPY static ./static
|
COPY static ./static
|
||||||
COPY gatsby-config.js .
|
COPY gatsby-config.js .
|
||||||
COPY package.json .
|
COPY package.json .
|
||||||
|
|
||||||
ENV CYPRESS_INSTALL_BINARY 0
|
ENV CYPRESS_INSTALL_BINARY 0
|
||||||
ENV GATSBY_TELEMETRY_DISABLED 1
|
|
||||||
RUN yarn --no-lockfile
|
RUN yarn --no-lockfile
|
||||||
|
|
||||||
|
ENV GATSBY_TELEMETRY_DISABLED 1
|
||||||
|
ENV GATSBY_WITH_ACCOUNTS $WITH_ACCOUNTS
|
||||||
RUN yarn build
|
RUN yarn build
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
"author": "Nebulous",
|
"author": "Nebulous",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "0.21.1",
|
"axios": "0.21.1",
|
||||||
|
"boolean": "^3.0.2",
|
||||||
"bytes": "3.1.0",
|
"bytes": "3.1.0",
|
||||||
"classnames": "2.2.6",
|
"classnames": "2.2.6",
|
||||||
"fontsource-metropolis": "4.0.0",
|
"fontsource-metropolis": "4.0.0",
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
import { boolean } from "boolean";
|
||||||
import logo from "../../images/logo.svg";
|
import logo from "../../images/logo.svg";
|
||||||
import "./HomeTop.scss";
|
import "./HomeTop.scss";
|
||||||
import { Skynet, Deco1, Deco2 } from "../../svg";
|
import { Skynet, Deco1, Deco2 } from "../../svg";
|
||||||
|
@ -15,6 +16,7 @@ export default function HomeTop() {
|
||||||
The decentralized CDN and file sharing platform for devs. Skynet is the storage foundation for a Free Internet!
|
The decentralized CDN and file sharing platform for devs. Skynet is the storage foundation for a Free Internet!
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
{boolean(process.env.GATSBY_WITH_ACCOUNTS) && (
|
||||||
<p className="auth-links">
|
<p className="auth-links">
|
||||||
<a href="/secure/auth/registration" className="link">
|
<a href="/secure/auth/registration" className="link">
|
||||||
Sign up now!
|
Sign up now!
|
||||||
|
@ -24,6 +26,7 @@ export default function HomeTop() {
|
||||||
dashboard
|
dashboard
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
)}
|
||||||
|
|
||||||
<Deco1 className="deco-1" />
|
<Deco1 className="deco-1" />
|
||||||
<Deco2 className="deco-2" />
|
<Deco2 className="deco-2" />
|
||||||
|
|
Reference in New Issue