This commit is contained in:
parent
c8bb62e9f2
commit
0b9cfe2306
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_NAME=Laravel
|
||||||
APP_ENV=local
|
APP_ENV=Prod
|
||||||
APP_KEY=
|
APP_KEY=base64:Wz4daUZXYysRm1vUWBWTjQ5v0JFWBsQ2wPw2tHRALgY=
|
||||||
APP_DEBUG=true
|
APP_DEBUG=true
|
||||||
APP_TIMEZONE=UTC
|
APP_TIMEZONE=UTC
|
||||||
APP_URL=http://localhost
|
APP_URL=https://siska.appstaging.my.id
|
||||||
|
|
||||||
APP_LOCALE=en
|
APP_LOCALE=en
|
||||||
APP_FALLBACK_LOCALE=en
|
APP_FALLBACK_LOCALE=en
|
||||||
@ -21,12 +21,12 @@ LOG_STACK=single
|
|||||||
LOG_DEPRECATIONS_CHANNEL=null
|
LOG_DEPRECATIONS_CHANNEL=null
|
||||||
LOG_LEVEL=debug
|
LOG_LEVEL=debug
|
||||||
|
|
||||||
DB_CONNECTION=sqlite
|
DB_CONNECTION=pgsql
|
||||||
# DB_HOST=127.0.0.1
|
DB_HOST=appstaging.my.id
|
||||||
# DB_PORT=3306
|
DB_PORT=5432
|
||||||
# DB_DATABASE=laravel
|
DB_DATABASE=SISKA_2025
|
||||||
# DB_USERNAME=root
|
DB_USERNAME=root
|
||||||
# DB_PASSWORD=
|
DB_PASSWORD=postroot123
|
||||||
|
|
||||||
SESSION_DRIVER=database
|
SESSION_DRIVER=database
|
||||||
SESSION_LIFETIME=120
|
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