Docker file och compose

This commit is contained in:
Joakim Svensson
2025-12-31 16:04:08 +00:00
parent c3e078c9c6
commit d76790c22c
3 changed files with 132 additions and 0 deletions

33
Dockerfile Normal file
View File

@@ -0,0 +1,33 @@
############################
# 1) Builder: bygg HedgeDoc
############################
FROM node:18-alpine AS builder
WORKDIR /build
# H??mta din branch som tarball (ingen git beh??vs)
ADD https://git.sa6anw.se/sa6anw/hedgedoc/archive/refs/heads/hedgeagent/1.10.5.tar.gz /tmp/hedgedoc.tar.gz
RUN tar -xzf /tmp/hedgedoc.tar.gz --strip-components=1 \
&& rm /tmp/hedgedoc.tar.gz
# Installera deps + bygg frontend/backend
RUN corepack enable \
&& yarn install --immutable \
&& yarn build
########################################
# 2) Runtime: officiell HedgeDoc-image
########################################
FROM quay.io/hedgedoc/hedgedoc:1.10.5
USER root
# Ers??tt upstream-koden
RUN rm -rf /hedgedoc
# Kopiera f??rdigbyggd app med r??tt UID/GID
COPY --from=builder --chown=10000:10000 /build /hedgedoc
USER 10000

50
docker-compose.yaml Normal file
View File

@@ -0,0 +1,50 @@
services:
database:
image: postgres:13.4-alpine
environment:
- POSTGRES_USER=hedgedoc
- POSTGRES_PASSWORD=password
- POSTGRES_DB=hedgedoc
volumes:
- ./db:/var/lib/postgresql/data
restart: always
networks:
- internal
app:
build: .
image: hedgedoc-hedgeagent:1.10.5
container_name: hedgedoc
environment:
CMD_DB_URL: postgres://hedgedoc:password@database:5432/hedgedoc
CMD_PORT: "3000"
CMD_HOST: "0.0.0.0"
CMD_DOMAIN: hedgedoc.sa6anw.se
CMD_URL_ADDPORT: "false"
CMD_PROTOCOL_USESSL: "true"
CMD_EMAIL: "true"
CMD_ALLOW_EMAIL_REGISTER: "true"
volumes:
- ./uploads:/hedgedoc/public/uploads
restart: always
depends_on:
- database
# Since I use Caddy I don't need this
# ports:
# - "3000:3000"
## If you use Caddy like I do keep below
networks:
- internal
- proxy
labels:
caddy: hedgedoc.sa6anw.se
caddy.reverse_proxy: "{{upstreams 3000}}"
networks:
internal:
internal: true
proxy:
external: true
## If you don't, you can deleta all of this

49
docker-compose.yaml~ Normal file
View File

@@ -0,0 +1,49 @@
services:
database:
image: postgres:13.4-alpine
environment:
- POSTGRES_USER=hedgedoc
- POSTGRES_PASSWORD=password
- POSTGRES_DB=hedgedoc
volumes:
- ./db:/var/lib/postgresql/data
restart: always
networks:
- internal
app:
image: hedgedoc-hedgeagent:1.10.5
container_name: hedgedoc
environment:
CMD_DB_URL: postgres://hedgedoc:password@database:5432/hedgedoc
CMD_PORT: "3000"
CMD_HOST: "0.0.0.0"
CMD_DOMAIN: hedgedoc.sa6anw.se
CMD_URL_ADDPORT: "false"
CMD_PROTOCOL_USESSL: "true"
CMD_EMAIL: "true"
CMD_ALLOW_EMAIL_REGISTER: "true"
volumes:
- ./uploads:/hedgedoc/public/uploads
restart: always
depends_on:
- database
# Since I use Caddy I don't need this
# ports:
# - "3000:3000"
## If you use Caddy like I do keep below
networks:
- internal
- proxy
labels:
caddy: hedgedoc.sa6anw.se
caddy.reverse_proxy: "{{upstreams 3000}}"
networks:
internal:
internal: true
proxy:
external: true
## If you don't, you can deleta all of this