Sign inSign up

elestio/opnform

Verified Publisher

By Elestio

•Updated over 2 years ago

OpnForm, verified and packaged by Elestio

Image
Integration & delivery
Content management system
1

8.4K

elestio/opnform repository overview

elest.io ⁠

Discord Elestio examples Blog

⁠OpnForm, verified and packaged by Elestio

OpnForm⁠, create beautiful forms and share them anywhere. It super fast, you don't need to know how to code. Get started for free! opnform

Deploy a fully managed OpnForm⁠ on elest.io⁠ if you want automated backups, reverse proxy with SSL termination, firewall, automated OS & Software updates, and a team of Linux experts and open source enthusiasts to ensure your services are always safe, and functional.

deploy

⁠Why use Elestio images?

  • Elestio stays in sync with updates from the original source and quickly releases new versions of this image through our automated processes.
  • Elestio images provide timely access to the most recent bug fixes and features.
  • Our team performs quality control checks to ensure the products we release meet our high standards.

⁠Usage

⁠Git clone

You can deploy it easily with the following command:

git clone https://github.com/elestio-examples/opnform.git

Copy the .env file from tests folder to the project directory

cp ./tests/.env ./.env

Edit the .env file with your own values.

Run the project with the following commands

docker-compose up -d
./scripts/postInstall.sh

You can access the Web UI at: http://your-domain:35551

⁠Docker-compose

Here are some example snippets to help you get started creating a container.

version: "3.7"
services:

minio:
    image: minio/minio
    restart: always
    command: server /data
    ports:
        - "172.17.0.1:9999:9000"
    environment:
        MINIO_ROOT_USER: minio
        MINIO_ROOT_PASSWORD: ${ADMIN_PASSWORD}
    volumes:
        - ./s3_data:/data

createbuckets:
    image: minio/mc
    depends_on:
        - minio
    entrypoint: >
        /bin/sh -c "
        sleep 10;
        /usr/bin/mc config host add minio http://minio:9000 minio ${ADMIN_PASSWORD};
        /usr/bin/mc mb minio/opnform;
        /usr/bin/mc anonymous set public minio/opnform/public;
        exit 0;
        "

opnform:
    image: elestio/opnform:latest
    restart: always
    volumes:
        - ./forms:/persist
        - ./.env:/app/.env
    ports:
        - 172.17.0.1:35551:80
    depends_on:
        - postgres
redis:
    image: elestio/redis:7.0
    restart: always
    volumes:
        - ./redis-data:/data
postgres:
    image: elestio/postgres:15
    restart: always
    volumes:
        - ./postgres-data:/var/lib/postgresql/data
    environment:
        - POSTGRES_DB=${DB_DATABASE}
        - POSTGRES_USER=${DB_USERNAME}
        - POSTGRES_PASSWORD=${DB_PASSWORD}
    ports:
        - "172.17.0.1:27779:5432"
⁠Environment variables
VariableValue (example)
SOFTWARE_VERSION_TAGlatest
DOMAINyour.domain.com
ADMIN_EMAIL[email protected]⁠
ADMIN_PASSWORDyour-password
APP_NAMEOpnForm
APP_ENVlocal
APP_DEBUGfalse
APP_LOG_LEVELdebug
APP_URLhttps://your.domain.com⁠
LOG_CHANNELerrorlog
LOG_LEVELdebug
DB_CONNECTIONpgsql
DB_HOSTpostgres
DB_PORT5432
DB_DATABASEopnform
DB_USERNAMEpostgres
DB_PASSWORDyour-password
FILESYSTEM_DRIVERs3
FILESYSTEM_DISKs3
BROADCAST_DRIVERlog
CACHE_DRIVERredis
QUEUE_CONNECTIONredis
SESSION_DRIVERfile
SESSION_LIFETIME120
REDIS_HOSTredis
REDIS_PASSWORDnull
REDIS_PORT6379
MAIL_MAILERsmtp
MAIL_HOSTyour.smtp.host
MAIL_PORTyour.smtp.port
MAIL_USERNAMEnull
MAIL_PASSWORDnull
MAIL_ENCRYPTIONnull
MAIL_FROM_ADDRESS[email protected]⁠
MAIL_FROM_NAMEOpnForm
JWT_TTL1440
AWS_ACCESS_KEY_IDminio
AWS_SECRET_ACCESS_KEYyour-password
AWS_URLhttps://your.domain.com:58624⁠
AWS_ENDPOINThttps://your.domain.com:58624⁠
AWS_BUCKETopnform
AWS_DEFAULT_REGIONus-east-1
AWS_USE_PATH_STYLE_ENDPOINTtrue
APP_KEYlet it blank, it will be automatically filled
JWT_SECRETlet it blank, it will be automatically filled

⁠Maintenance

⁠Logging

The Elestio OpnForm Docker image sends the container logs to stdout. To view the logs, you can use the following command:

docker-compose logs -f

To stop the stack you can use the following command:

docker-compose down

⁠Backup and Restore with Docker Compose

To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.

Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:

zip -r myarchive.zip .

Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:

unzip myarchive.zip -d /path/to/original/folder

Starting Your Stack Once your backup is complete, you can start your stack again with the following command:

docker-compose up -d

That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.

Tag summary

Content type

Image

Digest

sha256:6b71e5611…

Size

307.5 MB

Last updated

over 2 years ago

docker pull elestio/opnform

This week's pulls

Pulls:

20

Last week