Are you ready to launch your static website with HTML, Docker and NginxProxyManager. Check this out and do it yourself pretty easy.
Dockerfile
FROM node:lts-alpine
# install simple http server for serving static content
RUN yarn global add serve
# make the 'app' folder the current working directory
WORKDIR /usr/src/website
# copy project files and folders to the current working directory (i.e. 'app' folder)
COPY . .
EXPOSE 8080
CMD [ "serve", "-p", "8080"]
docker-compose.yml
version: "3.3"
services:
ngxinxproxymanager:
image: "jc21/nginx-proxy-manager:latest"
container_name: yourproject-ngxinxproxymanager
restart: unless-stopped
ports:
- "80:80" # Public HTTP Port
- "443:443" # Public HTTPS Port
- "81:81" # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
networks:
- yourproject-network
environment:
# the SQLite DB file within the container
DB_SQLITE_FILE: "/data/database.sqlite"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
website:
build:
context: ../website
dockerfile: ../docker/website.Dockerfile
container_name: yourproject-website
restart: always
ports:
- "8081:8080"
networks:
- yourproject-network
networks:
yourproject-network:
driver: bridge
volumes:
yourproject-db:
driver: local
driver_opts:
type: none
o: bind
device: "${PWD}/db-data"
Related articles: