personal-management-system Docker & Self-Hosted Deployment

GitHub

Your web application for managing personal data. [email protected]

3,973 stars PHP PHP 1 file ยท ~1,855 tokens #awesome#cms#content-management#content-management-system#dashboard
RAW Compose
1. Pull Image (DOCKERHUB) docker pull library/mariadb
2. Docker Run (1-Click Launch) docker run -d --name personal-management-system -p 8002:8002 --restart always mariadb:11.5.2
3. Podman Run podman run -d --name personal-management-system -p 8002:8002 --restart always mariadb:11.5.2
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/library/mariadb:11.5.2
5. ORAS Pull (OCI Artifact) oras pull mariadb:11.5.2
6. Compose Deployment docker compose up -d
docker-compose.yml
Download .yml
version: "3.1"
services:
  pms-database-mariadb:
    image: mariadb:11.5.2
    container_name: pms-database-mariadb
    hostname: pms-database-mariadb
    restart: always
    tty: true
    environment:
      - MYSQL_DATABASE=pms
      - MYSQL_ROOT_PASSWORD=password
    volumes:
      - database:/var/lib/mysql

  pms-nginx:
    image: yobasystems/alpine-nginx:stable
    container_name: pms-nginx
    hostname: pms-nginx
    working_dir: /application
    restart: always
    tty: true
    volumes:
      - .:/application
      - ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
    ports:
      - "8002:80"

  pms-php-fpm:
    build: ./docker/php-fpm
    container_name: pms-php-fpm
    hostname: pms-php-fpm
    # Executing original entrypoint, else php won't work,
    # then starting php-fpm, else my entrypoint won't work,
    # then executing my entrypoint and finally running nano to keep container alive,
    entrypoint: sh -c "/usr/local/bin/docker-php-entrypoint && php-fpm -D && ./docker/php-fpm/entrypoint.bash && nano /tmp/keep"
    working_dir: /application
    restart: always
    tty: true
    depends_on:
      - pms-database-mariadb
    volumes:
      - .:/application

  pms-adminer:
    container_name: pms-adminer
    hostname: pms-adminer
    image: adminer:4.8.0
    restart: always
    tty: true
    ports:
      - 8081:8080

  pms-mail:
    container_name: pms-mail
    hostname: pms-mail
    restart: always
    tty: true
    command: >
      mailpit 
        --smtp-auth-allow-insecure 
        --db-file=/mailpit/mail.db

    build: ./docker/mailpit
    ports:
      - "8082:8025"

    volumes:
      - pms-mailpit-db:/mailpit/mail.db

volumes:
  pms-mailpit-db:
  database: