parent
286d108964
commit
e4ab79de42
@ -1,60 +1,22 @@
|
||||
# Use an official Python runtime based on Debian 10 "buster" as a parent image.
|
||||
FROM python:3.8.1-slim-buster
|
||||
|
||||
# Add user that will be used in the container.
|
||||
FROM python:3.11.6-slim-bookworm
|
||||
RUN useradd wagtail
|
||||
|
||||
# Port used by this container to serve HTTP.
|
||||
EXPOSE 8000
|
||||
|
||||
# Set environment variables.
|
||||
# 1. Force Python stdout and stderr streams to be unbuffered.
|
||||
# 2. Set PORT variable that is used by Gunicorn. This should match "EXPOSE"
|
||||
# command.
|
||||
ENV PYTHONUNBUFFERED=1 \
|
||||
PORT=8000
|
||||
|
||||
# Install system packages required by Wagtail and Django.
|
||||
RUN apt-get update --yes --quiet && apt-get install --yes --quiet --no-install-recommends \
|
||||
build-essential \
|
||||
libpq-dev \
|
||||
libmariadbclient-dev \
|
||||
libmariadb-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
zlib1g-dev \
|
||||
libwebp-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install the application server.
|
||||
RUN pip install "gunicorn==20.0.4"
|
||||
|
||||
# Install the project requirements.
|
||||
RUN pip install gunicorn
|
||||
COPY requirements.txt /
|
||||
RUN pip install -r /requirements.txt
|
||||
|
||||
# Use /app folder as a directory where the source code is stored.
|
||||
WORKDIR /app
|
||||
|
||||
# Set this directory to be owned by the "wagtail" user. This Wagtail project
|
||||
# uses SQLite, the folder needs to be owned by the user that
|
||||
# will be writing to the database file.
|
||||
RUN chown wagtail:wagtail /app
|
||||
|
||||
# Copy the source code of the project into the container.
|
||||
COPY --chown=wagtail:wagtail . .
|
||||
|
||||
# Use user "wagtail" to run the build commands below and the server itself.
|
||||
USER wagtail
|
||||
|
||||
# Collect static files.
|
||||
RUN python manage.py collectstatic --noinput --clear
|
||||
|
||||
# Runtime command that executes when "docker run" is called, it does the
|
||||
# following:
|
||||
# 1. Migrate the database.
|
||||
# 2. Start the application server.
|
||||
# WARNING:
|
||||
# Migrating database at the same time as starting the server IS NOT THE BEST
|
||||
# PRACTICE. The database should be migrated manually or using the release
|
||||
# phase facilities of your hosting platform. This is used only so the
|
||||
# Wagtail instance can be started with a simple "docker run" command.
|
||||
CMD set -xe; python manage.py migrate --noinput; gunicorn triplethink.wsgi:application
|
||||
CMD set -xe; gunicorn --reload triplethink.wsgi:application
|
||||
|
@ -1,20 +0,0 @@
|
||||
# Generated by Django 4.2.6 on 2023-11-01 20:18
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
def delete_init_site(apps, _schema_editor):
|
||||
Site = apps.get_model("wagtailcore.Site")
|
||||
Site.objects.first().delete()
|
||||
Page = apps.get_model("wagtailcore.Page")
|
||||
Page.objects.filter(slug='home').first().delete()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("blog", "0001_initial"),
|
||||
('wagtailcore', '0002_initial_data'),
|
||||
]
|
||||
|
||||
operations = [migrations.RunPython(delete_init_site)]
|
@ -1,18 +0,0 @@
|
||||
{% extends 'blog/post_index_page.html' %}
|
||||
|
||||
{% block sidebar %}
|
||||
<div class="column">
|
||||
<div class="h-card">
|
||||
<p class="fs-4">
|
||||
Hello. My name is <span class="p-name">Pete</span>. Sometimes
|
||||
I post things here.
|
||||
</p>
|
||||
</div>
|
||||
<div class="list-group list-group-flush">
|
||||
<a class="list-group-item list-group-item-action"
|
||||
href="/notes/">{{note_count}} Notes</a>
|
||||
<a class="list-group-item list-group-item-action"
|
||||
href="/articles/">{{article_count}} Articles</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
@ -0,0 +1,14 @@
|
||||
services:
|
||||
web:
|
||||
build: .
|
||||
ports:
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- .:/app
|
||||
depends_on:
|
||||
- db
|
||||
db:
|
||||
image: "postgres"
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_PASSWORD: postpass
|
Loading…
Reference in new issue