Compare commits
No commits in common. "1c1c4ffa73bfb6f4970ce4403555dbf4d88de47d" and "c3d882f4fdeb5ea97ea2dacf4a5e0ba8a73ba73d" have entirely different histories.
1c1c4ffa73
...
c3d882f4fd
|
|
@ -8,10 +8,8 @@ RUN go mod download
|
|||
|
||||
COPY . .
|
||||
|
||||
# Build native for the host architecture (ARM64 on Hetzner)
|
||||
RUN CGO_ENABLED=1 go build -o fitness-app ./main.go
|
||||
|
||||
|
||||
# Build with CGO enabled for sqlite
|
||||
RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o fitness-app ./main.go
|
||||
|
||||
# Runtime stage
|
||||
FROM debian:bookworm-slim
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
version: "3.9"
|
||||
|
||||
services:
|
||||
fitness:
|
||||
build: .
|
||||
|
|
@ -10,35 +12,6 @@ services:
|
|||
# Host folder -> container /data
|
||||
# On host, your db will be: ./fitness-data/fitness.db
|
||||
- ./fitness-data:/data
|
||||
# ports:
|
||||
ports:
|
||||
# For quick testing; in production you'd put Traefik in front instead
|
||||
# - "8080:8080"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
|
||||
# Public domain
|
||||
- "traefik.http.routers.fitness.rule=Host(`fitness.rozic-dev.com`)"
|
||||
|
||||
# Listen on HTTP & HTTPS
|
||||
- "traefik.http.routers.fitness.entrypoints=web,websecure"
|
||||
|
||||
# Force HTTPS using your GLOBAL redirect middleware
|
||||
- "traefik.http.routers.fitness.middlewares=redirect-to-https, fitness-auth"
|
||||
|
||||
# TLS + Let's Encrypt
|
||||
- "traefik.http.routers.fitness.tls=true"
|
||||
- "traefik.http.routers.fitness.tls.certresolver=letsencrypt"
|
||||
|
||||
# App internal port
|
||||
- "traefik.http.services.fitness.loadbalancer.server.port=8080"
|
||||
|
||||
# - "traefik.http.routers.traefik.middlewares=fitness-auth"
|
||||
#- "traefik.http.middlewares.traefik-auth.basicauth.users=admin:$$apr1$$8EVjn/nj$$GiLUZqcbueTFeD23SuB6x0" # admin:admin123
|
||||
#- "traefik.http.middlewares.traefik-auth.basicauth.users=admin:$apr1$yGKxPD8U$z4eeZaKNzoASEpr2yh4wQ" # admin:admin123
|
||||
- "traefik.http.middlewares.fitness-auth.basicauth.users=Dejan:$$apr1$$F5Y8CeQ1$$C2jX95nwyeJAjhtGxvnOJ/" # admin:admin123
|
||||
networks:
|
||||
- traefik_default
|
||||
|
||||
networks:
|
||||
traefik_default:
|
||||
external: true
|
||||
- "8080:8080"
|
||||
|
|
|
|||
21
readme.md
21
readme.md
|
|
@ -154,27 +154,10 @@ services:
|
|||
# ... existing configuration ...
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
|
||||
# Public domain
|
||||
- "traefik.http.routers.fitness.rule=Host(`fitness.domain.com`)"
|
||||
|
||||
# Listen on HTTP & HTTPS
|
||||
- "traefik.http.routers.fitness.entrypoints=web,websecure"
|
||||
|
||||
# Force HTTPS using your GLOBAL redirect middleware
|
||||
- "traefik.http.routers.fitness.middlewares=redirect-to-https, fitness-auth"
|
||||
|
||||
# TLS + Let's Encrypt
|
||||
- "traefik.http.routers.fitness.tls=true"
|
||||
- "traefik.http.routers.fitness.rule=Host(`fitness.yourdomain.com`)"
|
||||
- "traefik.http.routers.fitness.entrypoints=websecure"
|
||||
- "traefik.http.routers.fitness.tls.certresolver=letsencrypt"
|
||||
|
||||
# App internal port
|
||||
- "traefik.http.services.fitness.loadbalancer.server.port=8080"
|
||||
|
||||
# - "traefik.http.routers.traefik.middlewares=fitness-auth"
|
||||
#- "traefik.http.middlewares.traefik-auth.basicauth.users=admin:$$apr1$$8EVjn/nj$$GiLUZqcbueTFeD23SuB6x0" # admin:admin123
|
||||
#- "traefik.http.middlewares.traefik-auth.basicauth.users=admin:$apr1$yGKxPD8U$z4eeZaKNzoASEpr2yh4wQ" # admin:admin123
|
||||
- "traefik.http.middlewares.fitness-auth.basicauth.users=Dejan:$$apr1$$F5Y8CeQ1$$C2jX95nwyeJAjhtGxvnOJ/" # admin:admin123
|
||||
networks:
|
||||
- traefik_default
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue