You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- No-code form builder, with infinite number of fields & submissions
29
-
- Text inputs, Date inputs, URL inputs, Phone inputs, Email inputs, Checkboxes, Select and Multi-Select inputs, Number Inputs, Star-ratings, File uploads & more
30
-
- Embed anywhere (on your website, in your Notion page, etc)
31
-
- Email notifications (for both form owner & form respondents)
32
-
- Hidden fields
33
-
- Form passwords
34
-
- URL form pre-fill
35
-
- Slack integration
36
-
- Webhooks
37
-
- Form logic
38
-
- Customize colors, add images or even some custom code
39
-
- Captcha form protection
40
-
- Form closing date
41
-
- Limit the number of submissions allowed
27
+
-No-code form builder, with infinite number of fields & submissions
28
+
-Text inputs, Date inputs, URL inputs, Phone inputs, Email inputs, Checkboxes, Select and Multi-Select inputs, Number Inputs, Star-ratings, File uploads & more
29
+
-Embed anywhere (on your website, in your Notion page, etc)
30
+
-Email notifications (for both form owner & form respondents)
31
+
-Hidden fields
32
+
-Form passwords
33
+
-URL form pre-fill
34
+
-Slack integration
35
+
-Webhooks
36
+
-Form logic
37
+
-Customize colors, add images or even some custom code
38
+
-Captcha form protection
39
+
-Form closing date
40
+
-Limit the number of submissions allowed
42
41
43
42
And much more!
44
43
45
44
## Bounties
45
+
46
46
Get paid for contributing to OpnForm! Here are our open bounties:
@@ -60,98 +60,139 @@ It takes 1 minute to try out the builder for free. You'll have high availability
60
60
61
61
### Requirements
62
62
63
-
- PHP >= 8.0
64
-
- MySQL/MariaDB or PostgreSQL
65
-
- Node.js and NPM/Yarn/... to compile assets
63
+
-PHP >= 8.0
64
+
-MySQL/MariaDB or PostgreSQL
65
+
-Node.js and NPM/Yarn/... to compile assets
66
66
67
67
## Installation
68
68
69
+
### Environment Setup
70
+
71
+
Before you can run the application, you need to set up the environment variables. We have provided a script that will automate the process of creating your `.env` files from the provided examples.
72
+
73
+
Follow these steps to set up your environment:
74
+
75
+
1. Make sure you have `openssl` installed, as it is required by the setup script to generate secure keys.
76
+
77
+
2. Run the setup script from the root of the project:
78
+
79
+
```bash
80
+
chmod +x ./scripts/setup-env.sh
81
+
./scripts/setup-env.sh
82
+
```
83
+
84
+
**If you are using Docker** and want to prepare a Docker-specific environment, run the script with the `--docker` flag:
85
+
86
+
```bash
87
+
./scripts/setup-env.sh --docker
88
+
```
89
+
90
+
3. After running the script, review the `.env` and `client/.env` files to ensure all settings are correct for your environment.
91
+
92
+
Remember to never commit your `.env` files to version control. They should be kept private as they contain sensitive information.
93
+
69
94
### Docker Installation 🐳
70
95
71
96
OpnForm can be easily set up using Docker. Pre-built images are available on Docker Hub, which is the recommended method for most users.
2. Set up environment files by running the provided setup script. For detailed instructions, refer to the [Environment Setup](#environment-setup) section above:
113
+
114
+
```bash
115
+
./scripts/setup-env.sh --docker
116
+
```
90
117
91
118
3. Start the application:
92
-
```
93
-
docker-compose up -d
94
-
```
119
+
120
+
```
121
+
docker-compose up -d
122
+
```
95
123
96
124
4. Access OpnForm at http://localhost
97
125
98
126
> 🌐 **Server Deployment Note**: When deploying to a server, configure the app URLs in both `.env` and `client/.env` files. Set `APP_URL`in`.env`, and both `NUXT_PUBLIC_APP_URL`&`NUXT_PUBLIC_API_BASE`in`client/.env`.
99
127
100
128
#### Customization
101
129
102
-
-**Environment Variables**: Modify `.env` and `client/.env` files to customize your setup. For example, to enable email features, configure a [supported mail driver](https://laravel.com/docs/11.x/mail) in the `.env` file.
130
+
- **Environment Variables**: Modify `.env` and `client/.env` files to customize your setup. For example, to enable email features, configure a [supported mail driver](https://laravel.com/docs/11.x/mail) in the `.env` file.
103
131
104
132
#### Upgrading
105
133
106
134
1. Check the upgrade instructions foryour target versionin the documentation.
107
135
2. Update your `docker-compose.yml` file if necessary.
108
136
3. Apply changes:
109
-
```
110
-
docker-compose up -d
111
-
```
137
+
```
138
+
docker-compose up -d
139
+
```
112
140
113
-
### Initial Login
141
+
#### Initial Login
114
142
115
143
After installation, use these credentials to access the admin panel:
116
-
- Email: `admin@opnform.com`
117
-
- Password: `password`
144
+
145
+
- Email: `admin@opnform.com`
146
+
- Password: `password`
118
147
119
148
⚠️ Change these credentials immediately after your first login.
120
149
121
150
Note: Public registration is disabled in the self-hosted version. Use the admin account to invite additional users.
122
151
123
-
### Building from Source
152
+
#### Building from Source
124
153
125
154
For development or customization, you can build the Docker images locally:
Edit the `docker-compose.override.yml` file to use your locally built images:
170
+
171
+
```yaml
172
+
services:
173
+
api:
174
+
image: opnform-api:local
175
+
ui:
176
+
image: opnform-ui:local
177
+
```
146
178
147
179
3. Start the application:
148
-
```
149
-
docker-compose up -d
150
-
```
180
+
```
181
+
docker-compose up -d
182
+
```
151
183
152
184
This method allows you to make changes to the source code and rebuild the images as needed.
153
185
186
+
#### Clearing all resources
187
+
188
+
To completely remove all Docker containers, networks, and volumes created by `docker-compose` and also remove all images used by these services, you can use the following command:
189
+
190
+
```bash
191
+
docker-compose down -v --rmi all
192
+
```
193
+
154
194
### Using Laravel Valet
195
+
155
196
This section explains how to get started locally with the project. It's most likely relevant if you're trying to work on the project.
156
197
First, let's work with the codebase and its dependencies.
157
198
@@ -160,8 +201,8 @@ First, let's work with the codebase and its dependencies.
160
201
git clone git@github.com:JhumanJ/OpnForm.git && cd OpnForm
Now, create an S3 bucket (or equivalent). Create an IAM user with access to this bucket, fill the environment variables: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_DEFAULT_REGION`, `AWS_BUCKET`. In your AWS bucket permissions, add the following under "Cross-origin resource sharing (CORS)":
227
+
228
+
Now, create an S3 bucket (or equivalent). Create an IAM user with access to this bucket, fill the environment variables: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_DEFAULT_REGION`, `AWS_BUCKET`. In your AWS bucket permissions, add the following under "Cross-origin resource sharing (CORS)":
You're more than welcome to contribute to this project. We don't have guidelines on this yet, but we will soon. In the meantime, feel free to ask [any question here](https://github.com/JhumanJ/OpnForm/discussions).
207
259
208
260
## License
209
-
OpnForm is open-source under the GNU Affero General Public License Version 3 (AGPLv3) or any later version. You can find it [here](https://github.com/JhumanJ/OpnForm/blob/main/LICENSE).
210
261
262
+
OpnForm is open-source under the GNU Affero General Public License Version 3 (AGPLv3) or any later version. You can find it [here](https://github.com/JhumanJ/OpnForm/blob/main/LICENSE).
0 commit comments