Merge branch 'main' of https://git.appstaging.my.id/reihanrere/sistem-akademik
This commit is contained in:
commit
ee84781f3a
64
.drone.yml
Normal file
64
.drone.yml
Normal file
@ -0,0 +1,64 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: siska-pipeline
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build-image-dev
|
||||
image: docker:24.0.7-dind
|
||||
environment:
|
||||
DOCKER_BUILDKIT: "1"
|
||||
REGISTRY_USERNAME:
|
||||
from_secret: registry_username
|
||||
REGISTRY_PASSWORD:
|
||||
from_secret: registry_password
|
||||
volumes:
|
||||
- name: dockersock
|
||||
path: /var/run/docker.sock
|
||||
commands:
|
||||
- apk add --no-cache curl bash
|
||||
- echo "$REGISTRY_PASSWORD" | docker login -u "$REGISTRY_USERNAME" --password-stdin registry.git.appstaging.my.id
|
||||
- docker buildx create --use --name mybuilder || true
|
||||
- docker buildx build --platform linux/arm64 -t registry.git.appstaging.my.id/reihanrere/sistem-akademik/sistem-akademik-dev -f Dockerfile . --push
|
||||
|
||||
- name: deploy-image-dev
|
||||
image: debian:latest
|
||||
environment:
|
||||
SSH_KEY_M4:
|
||||
from_secret: ssh_key_m4
|
||||
REGISTRY_USERNAME:
|
||||
from_secret: registry_username
|
||||
REGISTRY_PASSWORD:
|
||||
from_secret: registry_password
|
||||
commands:
|
||||
- apt-get update -qq && apt-get install -qq git openssh-client
|
||||
- mkdir -p ~/.ssh
|
||||
- echo "$SSH_KEY_M4" | base64 -d > ~/.ssh/id_rsa
|
||||
- chmod 600 ~/.ssh/id_rsa
|
||||
- |
|
||||
cat <<EOF > ~/.ssh/config
|
||||
Host *
|
||||
StrictHostKeyChecking no
|
||||
EOF
|
||||
- chmod 600 ~/.ssh/config
|
||||
- |
|
||||
ssh -i ~/.ssh/id_rsa opc@138.2.102.242 <<EOF
|
||||
docker login -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD registry.git.appstaging.my.id
|
||||
cd /home/opc/workspace/sistem-akademik
|
||||
docker-compose rm --stop --force sistem-akademik-dev
|
||||
docker image prune --all --force
|
||||
docker pull registry.git.appstaging.my.id/reihanrere/sistem-akademik/sistem-akademik-dev
|
||||
docker-compose up -d --build sistem-akademik-dev
|
||||
EOF
|
||||
|
||||
volumes:
|
||||
- name: dockersock
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- main
|
||||
18
.env.example
18
.env.example
@ -1,9 +1,9 @@
|
||||
APP_NAME=Laravel
|
||||
APP_ENV=local
|
||||
APP_KEY=
|
||||
APP_ENV=Prod
|
||||
APP_KEY=base64:Wz4daUZXYysRm1vUWBWTjQ5v0JFWBsQ2wPw2tHRALgY=
|
||||
APP_DEBUG=true
|
||||
APP_TIMEZONE=UTC
|
||||
APP_URL=http://localhost
|
||||
APP_URL=https://siska.appstaging.my.id
|
||||
|
||||
APP_LOCALE=en
|
||||
APP_FALLBACK_LOCALE=en
|
||||
@ -21,12 +21,12 @@ LOG_STACK=single
|
||||
LOG_DEPRECATIONS_CHANNEL=null
|
||||
LOG_LEVEL=debug
|
||||
|
||||
DB_CONNECTION=sqlite
|
||||
# DB_HOST=127.0.0.1
|
||||
# DB_PORT=3306
|
||||
# DB_DATABASE=laravel
|
||||
# DB_USERNAME=root
|
||||
# DB_PASSWORD=
|
||||
DB_CONNECTION=pgsql
|
||||
DB_HOST=appstaging.my.id
|
||||
DB_PORT=5432
|
||||
DB_DATABASE=SISKA_2025
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=postroot123
|
||||
|
||||
SESSION_DRIVER=database
|
||||
SESSION_LIFETIME=120
|
||||
|
||||
34
Dockerfile
Normal file
34
Dockerfile
Normal file
@ -0,0 +1,34 @@
|
||||
FROM php:8.1-fpm
|
||||
|
||||
# Install dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libpq-dev \
|
||||
zip unzip curl git \
|
||||
&& docker-php-ext-install pdo_pgsql
|
||||
|
||||
# Install Composer
|
||||
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /var/www
|
||||
|
||||
# Copy source
|
||||
COPY . .
|
||||
|
||||
# Copy default env
|
||||
COPY .env.example .env
|
||||
|
||||
# Install Laravel dependencies
|
||||
RUN composer install --no-interaction --prefer-dist --optimize-autoloader
|
||||
|
||||
# Generate Laravel app key
|
||||
RUN php artisan key:generate
|
||||
|
||||
# Set permissions for Laravel
|
||||
RUN chown -R www-data:www-data /var/www \
|
||||
&& chmod -R 755 /var/www \
|
||||
&& chmod -R 775 storage bootstrap/cache \
|
||||
&& chown -R www-data:www-data storage bootstrap/cache
|
||||
|
||||
EXPOSE 9000
|
||||
CMD ["php-fpm"]
|
||||
45
docker-compose.yml
Normal file
45
docker-compose.yml
Normal file
@ -0,0 +1,45 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
sistem-akademik-dev:
|
||||
image: registry.git.appstaging.my.id/reihanrere/sistem-akademik/sistem-akademik-dev
|
||||
container_name: sistem-akademik-dev
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.sistem-akademik-dev-http.entrypoints=web"
|
||||
- "traefik.http.routers.sistem-akademik-dev-http.rule=Host(`siska.appstaging.my.id`)"
|
||||
- "traefik.http.routers.sistem-akademik-dev-http.middlewares=redirect-to-https"
|
||||
- "traefik.http.routers.sistem-akademik-dev.entrypoints=websecure"
|
||||
- "traefik.http.routers.sistem-akademik-dev.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.sistem-akademik-dev.rule=Host(`siska.appstaging.my.id`)"
|
||||
- "traefik.http.routers.sistem-akademik-dev.tls=true"
|
||||
volumes:
|
||||
- .:/var/www
|
||||
- ./storage:/var/www/storage
|
||||
working_dir: /var/www
|
||||
restart: always
|
||||
networks:
|
||||
- traefik_default
|
||||
environment:
|
||||
APP_ENV: production
|
||||
APP_DEBUG: false
|
||||
APP_KEY: base64:Wz4daUZXYysRm1vUWBWTjQ5v0JFWBsQ2wPw2tHRALgY=
|
||||
DB_CONNECTION: pgsql
|
||||
DB_HOST: appstaging.my.id
|
||||
DB_PORT: 5432
|
||||
DB_DATABASE: SISKA_2025
|
||||
DB_USERNAME: root
|
||||
DB_PASSWORD: postroot123
|
||||
command: >
|
||||
sh -c "
|
||||
composer install --no-interaction --prefer-dist &&
|
||||
php artisan config:cache &&
|
||||
php artisan route:cache &&
|
||||
php artisan view:cache &&
|
||||
php artisan migrate --force &&
|
||||
php-fpm
|
||||
"
|
||||
|
||||
networks:
|
||||
traefik_default:
|
||||
external: true
|
||||
Loading…
x
Reference in New Issue
Block a user