mirror of
https://github.com/Gurkengewuerz/nitro-docker.git
synced 2024-11-23 00:20:52 +01:00
feat: add automcms
This commit is contained in:
parent
9498ba724b
commit
34d756c2e1
93
.env.cms
Normal file
93
.env.cms
Normal file
@ -0,0 +1,93 @@
|
||||
APP_NAME=Laravel
|
||||
APP_ENV=production
|
||||
APP_KEY=base64:VcFHbHg+rGs3CWrjPOvTpg+9am00e3GCAx4Iyrg9p+c=
|
||||
APP_DEBUG=false
|
||||
APP_URL=http://127.0.0.1:8081
|
||||
|
||||
LOG_CHANNEL=stack
|
||||
LOG_DEPRECATIONS_CHANNEL=null
|
||||
LOG_LEVEL=debug
|
||||
|
||||
# Change those to match your database settings
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=db
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=arcturus
|
||||
DB_USERNAME=arcturus_user
|
||||
DB_PASSWORD=arcturus_pw
|
||||
|
||||
BROADCAST_DRIVER=log
|
||||
CACHE_DRIVER=file
|
||||
FILESYSTEM_DISK=local
|
||||
QUEUE_CONNECTION=sync
|
||||
SESSION_DRIVER=database
|
||||
SESSION_LIFETIME=120
|
||||
|
||||
MEMCACHED_HOST=127.0.0.1
|
||||
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PASSWORD=null
|
||||
REDIS_PORT=6379
|
||||
|
||||
MAIL_MAILER=smtp
|
||||
MAIL_HOST=mailhog
|
||||
MAIL_PORT=1025
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
MAIL_ENCRYPTION=null
|
||||
MAIL_FROM_ADDRESS="hello@example.com"
|
||||
MAIL_FROM_NAME="${APP_NAME}"
|
||||
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
AWS_DEFAULT_REGION=us-east-1
|
||||
AWS_BUCKET=
|
||||
AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||
|
||||
PUSHER_APP_ID=
|
||||
PUSHER_APP_KEY=
|
||||
PUSHER_APP_SECRET=
|
||||
PUSHER_HOST=
|
||||
PUSHER_PORT=443
|
||||
PUSHER_SCHEME=https
|
||||
PUSHER_APP_CLUSTER=mt1
|
||||
|
||||
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
||||
VITE_PUSHER_HOST="${PUSHER_HOST}"
|
||||
VITE_PUSHER_PORT="${PUSHER_PORT}"
|
||||
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
|
||||
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
||||
|
||||
NITRO_CLIENT_PATH=http://127.0.0.1:3000
|
||||
|
||||
# If set to true, Atom will rename any colliding table names when migration the first time around
|
||||
RENAME_COLLIDING_TABLES=false
|
||||
|
||||
# Only enable if you come from a CMS like RevCMS
|
||||
# This will only work if your password is hashed using md5
|
||||
# By default Atom CMS uses bcrypt, this is purely used to ease the process, when switching from a CMS using md5
|
||||
CONVERT_PASSWORDS=false
|
||||
|
||||
# Enable this if your site is running through https, but you're experiencing issues with requests being made to "http"
|
||||
FORCE_HTTPS=false
|
||||
|
||||
# Default language for the site
|
||||
APP_LOCALE=de
|
||||
|
||||
# General paypal options
|
||||
PAYPAL_MODE='sandbox'
|
||||
PAYPAL_PAYMENT_ACTION='Order'
|
||||
PAYPAL_CURRENCY='USD'
|
||||
PAYPAL_NOTIFY_URL=
|
||||
PAYPAL_LOCALE='en_US'
|
||||
PAYPAL_VALIDATE_SSL=true
|
||||
|
||||
#PayPal Setting & API Credentials - sandbox
|
||||
PAYPAL_SANDBOX_CLIENT_ID=
|
||||
PAYPAL_SANDBOX_CLIENT_SECRET=
|
||||
PAYPAL_SANDBOX_APP_ID=
|
||||
|
||||
#PayPal Setting & API Credentials - live
|
||||
PAYPAL_LIVE_CLIENT_ID=
|
||||
PAYPAL_LIVE_CLIENT_SECRET=
|
||||
PAYPAL_LIVE_APP_ID=
|
8
.gitignore
vendored
8
.gitignore
vendored
@ -10,4 +10,10 @@ assets/swf
|
||||
assets/usercontent/**/*.png
|
||||
~$*.xlsx
|
||||
export/
|
||||
assets/usercontent/imageproxy/
|
||||
assets/usercontent/imageproxy/
|
||||
atomcms/cache/*
|
||||
atomcms/storage/*
|
||||
atomcms/logs/*
|
||||
!atomcms/cache/.gitkeep
|
||||
!atomcms/storage/.gitkeep
|
||||
!atomcms/logs/.gitkeep
|
||||
|
42
README.md
42
README.md
@ -94,9 +94,8 @@ UPDATE emulator_settings SET `value`='/app/assets/swf/c_images/Badgeparts' WHERE
|
||||
```bash
|
||||
docker compose up assets -d && \
|
||||
docker compose up assets-build --build && \
|
||||
docker compose up imager --build -d && \
|
||||
docker compose up arcturus --build -d && \
|
||||
docker compose up backup -d
|
||||
docker compose up imgproxy --build -d && \
|
||||
docker compose up arcturus --build -d
|
||||
```
|
||||
|
||||
7. Update the: `nitro/renderer-config.json` and `nitro/ui-config.json` values to your setup. If the deployment is buggy or throws any errors check the json files for updates. then Build and Start Nitro
|
||||
@ -176,6 +175,43 @@ python SQLGenerator.py
|
||||
docker compose restart arcturus
|
||||
```
|
||||
|
||||
## AtomCMS
|
||||
|
||||
1. change [`.env.cms`](/.env.cms) to your needs
|
||||
|
||||
2. Check your permissions table. Use [**perms_groups.sql**](/arcturus/perms_groups.sql) if unclear. AtomCMS is not using the new permission layout so we are legacy supporting it by "copy" the most important values.
|
||||
|
||||
4. Start the CMS
|
||||
```bash
|
||||
docker compose up cms --build -d
|
||||
```
|
||||
|
||||
5. Generate a new secret APP_KEY
|
||||
```bash
|
||||
docker compose exec cms php artisan key:generate
|
||||
```
|
||||
|
||||
6. Open the CMS in the browser by default [`127.0.0.1:8081`](http://127.0.0.1:8081/) and do the basic setup.
|
||||
|
||||
7. Update automcms settings with HeidiSQL
|
||||
|
||||
```sql
|
||||
UPDATE website_settings SET `value` = 'http://127.0.0.1:8080/api/imager/?figure=' WHERE `key` = 'avatar_imager';
|
||||
UPDATE website_settings SET `value` = 'http://127.0.0.1:8080/swf/c_images/album1584' WHERE `key` = 'badges_path';
|
||||
UPDATE website_settings SET `value` = 'http://127.0.0.1:8080/usercontent/badgeparts/generated' WHERE `key` = 'group_badge_path';
|
||||
UPDATE website_settings SET `value` = 'http://127.0.0.1:8080/swf/dcr/hof_furni' WHERE `key` = 'furniture_icons_path';
|
||||
|
||||
UPDATE website_settings SET `value` = 'arcturus' WHERE `key` = 'rcon_ip';
|
||||
UPDATE website_settings SET `value` = '3001' WHERE `key` = 'rcon_port';
|
||||
|
||||
-- check values - these values are for the perms_groups.sql
|
||||
UPDATE website_settings SET `value` = '11' WHERE `key` = 'min_staff_rank';
|
||||
UPDATE website_settings SET `value` = '12' WHERE `key` = 'min_maintenance_login_rank';
|
||||
UPDATE website_settings SET `value` = '13' WHERE `key` = 'min_housekeeping_rank';
|
||||
```
|
||||
|
||||
**ℹ Notice**: badgeparts generator must be set up in arcturus and all files must be synced with the badge_parts.nitro
|
||||
|
||||
## Create an archive/backup
|
||||
|
||||
### Export running containers
|
||||
|
75
atomcms/Dockerfile
Normal file
75
atomcms/Dockerfile
Normal file
@ -0,0 +1,75 @@
|
||||
FROM php:8.2-apache as builder
|
||||
|
||||
ARG COMMIT=d0c28fb
|
||||
|
||||
WORKDIR /var/www/html
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libcurl4-openssl-dev \
|
||||
libfreetype6-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
libpng-dev \
|
||||
libonig-dev \
|
||||
libssl-dev \
|
||||
libzip-dev \
|
||||
git \
|
||||
zip \
|
||||
unzip \
|
||||
&& docker-php-ext-install -j$(nproc) curl gd mbstring pdo_mysql sockets fileinfo zip \
|
||||
&& docker-php-ext-enable curl gd mbstring pdo_mysql sockets fileinfo zip
|
||||
|
||||
COPY --from=composer:lts /usr/bin/composer /usr/local/bin/composer
|
||||
|
||||
RUN git config --global --add safe.directory /var/www/html
|
||||
RUN git clone --recurse-submodules https://github.com/ObjectRetros/atomcms.git .
|
||||
RUN git checkout $COMMIT
|
||||
|
||||
RUN composer install
|
||||
|
||||
|
||||
# ---------------------------------------------
|
||||
FROM node:lts-alpine as npm-builder
|
||||
|
||||
WORKDIR /var/www/html
|
||||
|
||||
COPY --from=builder /var/www/html /var/www/html
|
||||
|
||||
RUN yarn install
|
||||
RUN yarn run build:atom
|
||||
|
||||
|
||||
# ---------------------------------------------
|
||||
FROM php:8.2-apache
|
||||
|
||||
WORKDIR /var/www/html
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libcurl4-openssl-dev \
|
||||
libfreetype6-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
libpng-dev \
|
||||
libonig-dev \
|
||||
libssl-dev \
|
||||
libzip-dev \
|
||||
&& docker-php-ext-install -j$(nproc) curl gd mbstring pdo_mysql sockets fileinfo \
|
||||
&& docker-php-ext-enable curl gd mbstring pdo_mysql sockets fileinfo
|
||||
RUN apt remove apt --autoremove -y --allow-remove-essential
|
||||
|
||||
RUN a2enmod rewrite
|
||||
|
||||
COPY --from=npm-builder /var/www/html /var/www/html
|
||||
RUN rm -rf /var/www/html/node_modules
|
||||
|
||||
RUN chown -R www-data:www-data /var/www/html/storage \
|
||||
&& chown -R www-data:www-data /var/www/html/bootstrap/cache
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
ENV APACHE_DOCUMENT_ROOT /var/www/html/public
|
||||
|
||||
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf \
|
||||
&& sed -ri -e 's!AllowOverride None!AllowOverride All!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
|
||||
|
||||
RUN echo 'max_execution_time = 120' >> /usr/local/etc/php/conf.d/docker-php-maxexectime.ini;
|
||||
|
||||
CMD ["apache2-foreground"]
|
0
atomcms/logs/.gitkeep
Normal file
0
atomcms/logs/.gitkeep
Normal file
0
atomcms/storage/.gitkeep
Normal file
0
atomcms/storage/.gitkeep
Normal file
14
compose.yaml
14
compose.yaml
@ -116,5 +116,19 @@ services:
|
||||
restart: unless-stopped
|
||||
networks: [nitro]
|
||||
|
||||
cms:
|
||||
build:
|
||||
context: atomcms
|
||||
depends_on:
|
||||
- imager
|
||||
- arcturus
|
||||
ports:
|
||||
- "8081:80"
|
||||
volumes:
|
||||
- ".env.cms:/var/www/html/.env"
|
||||
- "./atomcms/storage:/var/www/html/storage/app/public"
|
||||
- "./atomcms/logs:/var/www/html/storage/logs"
|
||||
networks: [nitro]
|
||||
|
||||
networks:
|
||||
nitro:
|
||||
|
Loading…
Reference in New Issue
Block a user