forked from nutomic/lemmy
build: Start adding implementation
This commit is contained in:
parent
bc91163467
commit
1d0fb489c3
3 changed files with 169 additions and 0 deletions
43
Dockerfile.dev
Normal file
43
Dockerfile.dev
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
FROM node:10-jessie
|
||||||
|
#If encounter Invalid cross-device error -run on host 'echo N | sudo tee /sys/module/overlay/parameters/metacopy'
|
||||||
|
WORKDIR /app/ui
|
||||||
|
|
||||||
|
COPY ui/package.json ui/yarn.lock ./
|
||||||
|
RUN yarn install --pure-lockfile # This caches your deps
|
||||||
|
COPY ui /app/ui
|
||||||
|
RUN yarn build
|
||||||
|
|
||||||
|
FROM rust:1.33
|
||||||
|
|
||||||
|
# create a new empty shell project
|
||||||
|
WORKDIR /app
|
||||||
|
RUN USER=root cargo new server
|
||||||
|
WORKDIR /app/server
|
||||||
|
|
||||||
|
# copy over your manifests
|
||||||
|
COPY server/Cargo.toml server/Cargo.lock ./
|
||||||
|
|
||||||
|
# this build step will cache your dependencies
|
||||||
|
RUN mkdir -p ./src/bin \
|
||||||
|
&& echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs
|
||||||
|
RUN cargo build --release --bin lemmy
|
||||||
|
RUN rm -r ./target/release/.fingerprint/server-*
|
||||||
|
|
||||||
|
# copy your source tree
|
||||||
|
# RUN rm -rf ./src/
|
||||||
|
COPY server/src ./src/
|
||||||
|
COPY server/migrations ./migrations/
|
||||||
|
|
||||||
|
# build for release
|
||||||
|
RUN cargo build --frozen --release --bin lemmy
|
||||||
|
RUN mv /app/server/target/release/lemmy /app/lemmy
|
||||||
|
|
||||||
|
# Get diesel-cli on there just in case
|
||||||
|
# RUN cargo install diesel_cli --no-default-features --features postgres
|
||||||
|
|
||||||
|
# The output image
|
||||||
|
# FROM debian:stable-slim
|
||||||
|
# RUN apt-get -y update && apt-get install -y postgresql-client
|
||||||
|
# COPY --from=rust /app/server/target/release/lemmy /app/lemmy
|
||||||
|
# COPY --from=0 /app/ui/dist /app/dist
|
||||||
|
EXPOSE 8536
|
13
skaffold.yaml
Normal file
13
skaffold.yaml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
apiVersion: skaffold/v1beta9
|
||||||
|
kind: Config
|
||||||
|
profiles:
|
||||||
|
- name: lemmy--dev--no-sync
|
||||||
|
build:
|
||||||
|
artifacts:
|
||||||
|
- image: registry.gitlab.com/pojntfx/lemmy/lemmy
|
||||||
|
docker:
|
||||||
|
dockerfile: Dockerfile.dev
|
||||||
|
deploy:
|
||||||
|
kubectl:
|
||||||
|
manifests:
|
||||||
|
- stack.dev.yaml
|
113
stack.dev.yaml
Normal file
113
stack.dev.yaml
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: postgres
|
||||||
|
data:
|
||||||
|
POSTGRES_PASSWORD: rrr
|
||||||
|
POSTGRES_USER: rrr
|
||||||
|
POSTGRES_DB: rrr
|
||||||
|
PGDATA: /var/lib/postgresql/data/pgdata
|
||||||
|
DATABASE_URL: postgres://rrr:rrr@postgres:5432/rrr
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: postgres
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 5Gi
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: postgres
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: postgres
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: postgres
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: postgres
|
||||||
|
image: postgres:11.2-alpine
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 128Mi
|
||||||
|
cpu: 500m
|
||||||
|
ports:
|
||||||
|
- containerPort: 5432
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: postgres
|
||||||
|
volumeMounts:
|
||||||
|
- name: postgres
|
||||||
|
mountPath: /var/lib/postgresql/data
|
||||||
|
volumes:
|
||||||
|
- name: postgres
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: postgres
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: postgres
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: postgres
|
||||||
|
ports:
|
||||||
|
- port: 5432
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: lemmy
|
||||||
|
data:
|
||||||
|
LEMMY_FRONT_END_DIR: /app/dist
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: lemmy
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: lemmy
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: lemmy
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: lemmy
|
||||||
|
command:
|
||||||
|
- /bin/sh -c /app/lemmy
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: lemmy
|
||||||
|
- configMapRef:
|
||||||
|
name: postgres
|
||||||
|
image: registry.gitlab.com/pojntfx/lemmy/lemmy
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 128Mi
|
||||||
|
cpu: 500m
|
||||||
|
ports:
|
||||||
|
- containerPort: 8536
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: lemmy
|
||||||
|
spec:
|
||||||
|
type: NodePort
|
||||||
|
selector:
|
||||||
|
app: lemmy
|
||||||
|
ports:
|
||||||
|
- port: 8536
|
||||||
|
nodePort: 30001
|
Loading…
Reference in a new issue